используемый тестовый путь к каталогу против System.IO.File в powershell

#powershell

#powershell

Вопрос:

Привязка к установке SQL server на диск K, а если нет диска K, то установка на диск P. Я попытался следовать, но не работает. power-shell всегда устанавливается на диск P. Любая информация поможет.

$SQLInstanceDir = «K:MSSQL «

     if( ! (Test-Path $SQLInstanceDir) ){ 
                      $SQLInstanceDir = "P:Program FilesMicrosoft SQL Server"
  

и enter code here
$SQLInstanceDir = «K:MSSQL «

          if(![System.IO.File]::Exists($SQLInstanceDir)){
                          $SQLInstanceDir = "P:Program FilesMicrosoft SQL Server"
  

Комментарии:

1. после того, как я добавлю недостающий final } и изменю 1-е местоположение на то, которое существует в моей системе… все работает, как ожидалось. //// итак … K:MSSQL существует ли в этой системе И есть ли у учетной записи разрешение на просмотр этого местоположения?

2. Это то, что у меня есть $ SQLInstanceDir = «K:MSSQL » # если K:MSSQL не существует … если ( ! (Тестовый путь $SQLInstanceDir)){ $SQLInstanceDir = «P:Program Файлы Microsoft SQL Server» }

3. итак… мой вопрос был «существует ли этот путь при запуске этого скрипта и для учетной записи, которая запускает этот скрипт»? если вы используете учетную запись, о которой идет речь, и запускаете ТОЛЬКО Test-Path -Path "K:MSSQL , возвращает ли это значение true? ///// кроме того, вы пробовали вводить путь вручную? возможно, вы копируете скрытый символ в "K:MSSQL" значении…

4. Как насчет чего-то такого простого, как $SQLInstanceDir=If('K' -in (Get-PSDrive).Name){'K:MSSQL'}else{'P:Program FilesMicrosoft SQL Server'} , чтобы вы действительно просто тестировали на диске, а не на определенном пути.

5. Администратор — не работает. он ищет только K диск и не ищет else{‘P:Program Файлы Microsoft SQL Server’}