Ich habe eine Datei mit einer Liste von Computern, ich muss diese Liste durchlaufen und melden, wenn man frei ist.Foreach Versuch zu fangen
Jetzt funktioniert es, aber ich möchte, dass der Haken die Fehlermeldung ergreift und es in die Verwirrung des Computernamens ändert, ist frei.
Im Moment ist es noch zurückkehrt
quser : No User exists for * At line:5 char:5 + quser /server:$computer + ~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (No User exists for *:String) [], RemoteException + FullyQualifiedErrorId : NativeCommandError
Für Computer, die frei sind.
konnte ich die System.Management.Automation.RemoteException
, indem Sie den Befehl quser
gegen einen Computer bekommen was ich weiß ist frei und dann $Error[0] | fl * -Force
läuft:
writeErrorStream : True PSMessageDetails : Exception : System.Management.Automation.RemoteException: No User exists for * TargetObject : No User exists for * CategoryInfo : NotSpecified: (No User exists for *:String) [], RemoteException FullyQualifiedErrorId : NativeCommandError ErrorDetails : InvocationInfo : System.Management.Automation.InvocationInfo ScriptStackTrace : at , : line 1 PipelineIterationInfo : {0, 0}
die mir den Ausnahmecode gab.
Jetzt schaute ich auf Foreach error handling in Powershell, die zeigte, dass mein Code richtig sein sollte, also nicht sicher, warum der Haken nicht funktioniert.
Danke, Kumpel, arbeitete dieser Code ein Genuss. –