2017-02-01 18 views
-1

Ich versuche, mit der Verwendung von Host-Befehl unten zu entscheiden, wenn ein bestimmter Benutzername Dienstkonto ist oder nicht.Überprüfen Sie, ob Benutzer ist Dienstkonto

Get-ADUser $username -Properties PasswordNeverExpires | 
    where { $_.PasswordNeverExpires -eq "true" } | 
    where { $_.Enabled -eq "true"} 

Es sollte nur mit einem Wert zurück, vielleicht mit einem Wahr oder Falsch. Wie könnte ich das tun?

+3

Es gibt keinen inhärenten Unterschied zwischen den Konten für Dienste verwendet und ist für interaktive Anmeldung verwendet. –

Antwort

0

Guss der Ausdruck auf einem [bool] - wenn kein Benutzer mit diesen Kriterien existieren wird es $false sein, sonst $true:

$SAExists = [bool](Get-ADUser -Filter {SAMAccountName -eq $username -and PasswordNeverExpires -eq $true -and Enabled -eq $true}) 
+1

Kümmern Sie sich, um den downvote mit einem Kommentar zu qualifizieren, nettem Fremden? –

+0

Es scheint eine gute Lösung für dieses Problem! Upvoted! – plaidshirt

+0

Ausgehen auf einem Bein würde ich vermuten, dass die Antwort downvoted wurde, weil "Enabled und PasswordNeverExpires" nicht äquivalent zu "is service account" ist. Oder es gibt einen SO Chaos Affe, der zufälligerweise Fragen oder Antworten hoch- oder heruntersetzt. –

Verwandte Themen