added userprincipal support

This commit is contained in:
Hans-Joachim Kliemeck 2015-10-17 23:05:51 +02:00
parent 71dc569566
commit 21c564848d

View file

@ -51,8 +51,7 @@ Function UserSearch
$accountname = $env:COMPUTERNAME + "\" + $AccountName
$IsLocalAccount = $true
}
if ($IsLocalAccount -eq $true)
{
# do not use Win32_UserAccount, because e.g. SYSTEM (BUILTIN\SYSTEM or COMPUUTERNAME\SYSTEM) will not be listed. on Win32_Account groups will be listed too
@ -62,13 +61,19 @@ Function UserSearch
return $localaccount.SID
}
}
ElseIf (($IsDomainAccount -eq $true) -and ($IsUpn -eq $false))
ElseIf ($IsDomainAccount -eq $true)
{
#Search by samaccountname
$Searcher = [adsisearcher]""
$Searcher.Filter = "sAMAccountName=$($accountname.split("\")[1])"
$result = $Searcher.FindOne()
If ($IsUpn -eq $false) {
$Searcher.Filter = "sAMAccountName=$($accountname.split("\")[1])"
}
Else {
$Searcher.Filter = "userPrincipalName=$($accountname)"
}
$result = $Searcher.FindOne()
if ($result)
{
$user = $result.GetDirectoryEntry()
@ -80,7 +85,6 @@ Function UserSearch
return (New-Object System.Security.Principal.SecurityIdentifier($binarySID,0)).Value
}
}
}
$params = Parse-Args $args;
@ -225,4 +229,4 @@ Catch {
Fail-Json $result "an error occured when attempting to $state $rights permission(s) on $path for $($Params.User)"
}
Exit-Json $result
Exit-Json $result