2017-09-22 8 views
-1

以下のPowerShellスクリプトを作成して、サーバーの一覧に「D:\ Apps」フォルダが存在するかどうかを確認しました(C:\ Healthcheck \ Servers.txt )。PowerShellスクリプトがTest-Pathの正しい答えを返さない

$Computers = Get-Content C:\Healthcheck\Servers.txt 

foreach ($computer in $computers) { 
    $TestPath = Test-Path \\\$computers\D$\Apps 

    if ($TestPath -eq 'True') { 
     Write-Host "The Apps folder exists on $computer" 
    } else { 
     Write-Host "The Apps folder doesn't exist on $computer" 
    } 
} 

私は「D:\アプリ」作成したサーバー上のフォルダをしかし、スクリプトが存在しないと言う:

アプリのフォルダがサーバー名

上に存在しません

私は、サーバー上でローカルにコマンドを実行する場合は、 "D:\アプリ" 見つけたフォルダ:

 
PS C:\Windows\system32> Test-Path D:\Apps 
True 

アムIマイルを何かを何かssing? PowerShellを使用してサーバーをリモートから照会して、サービスが実行されているかどうかを確認してアクセスの問題がないかどうかを確認できます。あなたは

$TestPath = Test-Path \\\$computers\D$\Apps 

にタイプミスを持っているように見えます

+0

を試してみてください問題は、共有したり、アクセス許可をされていないフォルダに起因する可能性があります。 'Invoke-command'を使って何が起こるかを考えてみてください。 –

+0

'\\\ $ computers' - >' \\ $ computer' –

+0

私はそれを修正しました。 Tes-Pathコマンド – sharksdev

答えて

1

$TestPath = Test-Path \\$computer\D$\Apps 
+0

'\\ $ computer \ D:\ Apps'が" $ computers "ではなく" $ computer "である必要がある変数は、有効なUNCパスではありません。 –

+0

ああ、私は 'D:'を意味するわけではなく、 'D $' –

関連する問題