Ich lerne posh
. Und ich versuche zu verstehen, warum dieses Skript die Warnung nicht erfasst. HierPowershell Try/catch - get-user
try{
get-user aaaa -WarningAction Stop
}
catch
{
Write-Host "hi"
}
ist der Fehler:
get-user : The operation couldn't be performed because object 'aaaa' couldn't be found on
'iDC01.contoso.com'. At C:\Users\Gra***\Desktop\test.ps1:2 char:5
+ get-user aaaa -WarningAction Stop
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Get-User], ManagementObjectNotFoundException
+ FullyQualifiedErrorId : [Server=ME1,RequestId=ebcde0d2-9222-443b-b25a-ef7279fd168e,
TimeStamp=20.06.2017 13:51:35] [FailureCategory=Cmdlet-ManagementObjectNotFoundException]
FE0D594D,Microsoft.Exchange.Management.RecipientTasks.GetUser
I -WarningActions Stop
und -ErrorAction Stop
aber keine Ergebnisse tryied haben.
Im Allgemeinen habe ich die Grundlagen von try/catch
verstanden und das folgende Skript funktioniert ok.
try{
Get-Process -name xyz -ErrorAction Stop
}
catch{
Write-Host "oops"
}
Ich benutze powershell_ise 5.1
. Weißt du, was mit der get-user
falsch ist? Auch kann ich Get-ADuser
nicht verwenden.
'get-user' ist keine native Powershell-Befehl. Wie sieht der Code für diese Funktion aus? – gms0ulman
"Get-User" ist als Exchange-Cmdlet dokumentiert und gibt nur Objekte aus Exchange zurück. –
Sie legen die WarnungAction, aber nicht die ErrorAction. Ihre ErrorActionPreference war wahrscheinlich Continue, wenn Sie dies ausgeführt haben? –