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