0

Я пытаюсь проверить, существуют ли определенные папки на удаленных серверах. У меня есть файл PathList.txt, который содержит адреса сервера и пути к папке для проверки. мой локальный компьютер (даю локальный IP компьютера) .Это говорит путь не завершает работу, когда путь на самом деле существуетТестовый путь не проверяет путь к папке

$ServerPaths = Get-Content .\PathList.txt 

#Check for paths in servers. 
Foreach ($s in $ServerPaths) 
{ 
    $Server,$Paths = $s.split('=',2) 
    $AllPaths = $Paths -split ',' 
    $Server=$Server.Trim() 

    Foreach ($Path in $AllPaths) 
    { 
    $Path=$Path.Trim() 

    $CheckPath = "\\"+$Server+"\"+$Path 

    if(Test-Path $CheckPath) 
    { 
     Write-host $Server $Path "Path exists" 
    } 
    else 
    { 
     Write-host $Server $Path "Path does not exists" 
    } 

    } 

} 

PathList.txt содержит

10.247.211.12 = D$\Install, D$\Dir 
+0

Я не вижу ничего принципиально неправильного с вашим кодом. Вы проверили, что '$ CheckPath' имеет правильное значение (ы) и что вы можете получить доступ к путям вручную? –

+0

Согласитесь, вернитесь к основам: и просто запустите команду: 'Test-Path" \\ 10.247.211.12 \ D $ \ Install "' Или 'Test-Path \ \ Localhost \ D $ \ Install" ' – iRon

ответ

1

Я проверил ваш код и он отлично работает , но только если вы достигли пути раньше (чтобы он мог кэшировать учетные данные), или если y наш текущий пользователь может получить доступ к ресурсу. Я предлагаю вам добавить параметр -Credential к вашему звонку Test-Path.

 Смежные вопросы

  • Нет связанных вопросов^_^