0

Ich versuche zu überprüfen, ob ein bestimmter Ordner in den Remoteservern vorhanden ist. Ich habe Datei PathList.txt, die die Serveradresse und Ordnerpfade zu dem Überprüfen enthält meinem lokalen Rechner (ich gebe meinem lokalen Rechner IP) .Es sagt Pfad nicht Ausfahrten macht, wenn der WegTestpfad schlägt fehl, um nach Ordnerpfad zu suchen

$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 enthält

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

Ich sehe nichts grundsätzlich falsch mit Ihrem Code. Haben Sie überprüft, dass '$ CheckPath' die korrekten Werte hat und Sie auf die Pfade manuell zugreifen können? –

+0

Zustimmen, zurück zu den Grundlagen: und nur den Befehl ausführen: 'Test-Pfad" \\ 10.247.211.12 \ D $ \ Install "' Oder 'Test-Pfad" \\ Localhost \ D $ \ Install " ' – iRon

Antwort

1

haben tatsächlich existiert ich Ihren Code überprüft und es funktioniert gut , aber nur, wenn Sie zuvor auf den Pfad zugegriffen haben (sodass Anmeldeinformationen zwischengespeichert werden können) oder wenn y Unser aktueller Benutzer kann auf die Freigabe zugreifen. Ich empfehle Ihnen, -Credential Parameter zu Ihrem Test-Path Anruf hinzuzufügen.