Hinzufügen eines Timeouts zu Batch / PowerShell

$fullnamexp = ((net user $winxp /domain | Select-String "Full Name") -replace "Full Name","").Trim();

Wenn$winxp Kann nicht gefunden werden, der Befehl bleibt hängen. Gibt es eine Zeitüberschreitung, mit der ich ihn nach 5-10 Sekunden weitermachen lassen kann? Ich bin mir nicht sicher, wo ich es hinstellen würde.

Bearbeiten- Ich benutze dies, um den Benutzernamen abzurufen:

$reg  = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey('LocalMachine', $tag1)
$key  = $reg.OpenSubKey('SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon')
$winxp = $key.GetValue('DefaultUserName') -replace '^.*?\\'

$winxp ist dann ein Login Name wieajstepanik dann stecke ich es in:$fullnamexp = ((net user $winxp /domain | Select-String "Full Name") -replace "Full Name","").Trim();

1.21.2014 Aktualisierung

 $timeoutSeconds = 5
$code = {
    ((net user $winxp /domain | Select-String "Full Name") -replace "Full Name","").Trim(); # your commands here, e.g.
}
$j = Start-Job -ScriptBlock $code
if (Wait-Job $j -Timeout $timeoutSeconds) { $fullnamexp = Receive-Job $j }
Remove-Job -force $j

Antworten auf die Frage(5)

Ihre Antwort auf die Frage