Ignorieren Sie den Fehler der ausführbaren Datei, indem Sie ihn zu $ null umleiten
Ihre ausführbare Datei sendet die Ausgabe an den STDERR-Stream. Sie können es unterdrücken, indem Sie es an die automatische Variable $ null weiterleiten:
nslookup.exe example.com 2>$null
Anmerkungen:
Sie müssen zur PowerShell-
$null
Variablen umleiten . PS lässt es nicht auf die alte Schule (dh2>nul
).Die Umleitung zu
$null
ist schneller als mitOut-Null
Erläuterung
NSLookup sendet einen Teil seiner Ausgabe an den STDERR-Stream . Wenn eine Windows-Konsolenanwendung dies ausführt, meldet PowerShell dies als NativeCommandError- Fehler.
In der Eingabeaufforderung ausführen, um nslookup -q=SOA superuser.com 1>nul 2>con
zu sehen, was NSLookup in STDERR schreibt:
Unverbindliche Antwort:
Genau dies gibt PowerShell in der ersten Zeile der Fehlermeldung zurück:
nslookup: Nicht autorisierende Antwort:
In Zeile: 1 Zeichen: 1
+ nslookup -q = ns example.com
Anscheinend gibt NSLookup einen Fehler zurück, wenn die Antwort Datensätze von einem nicht autorisierenden Nameserver enthält. In Ihrem Fall scheint dies jedoch kein Problem zu sein, sodass Sie den Fehler wie oben beschrieben ignorieren können.