added userprincipal support
This commit is contained in:
parent
71dc569566
commit
21c564848d
1 changed files with 12 additions and 8 deletions
|
@ -51,8 +51,7 @@ Function UserSearch
|
||||||
$accountname = $env:COMPUTERNAME + "\" + $AccountName
|
$accountname = $env:COMPUTERNAME + "\" + $AccountName
|
||||||
$IsLocalAccount = $true
|
$IsLocalAccount = $true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if ($IsLocalAccount -eq $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
|
# 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
|
return $localaccount.SID
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ElseIf (($IsDomainAccount -eq $true) -and ($IsUpn -eq $false))
|
ElseIf ($IsDomainAccount -eq $true)
|
||||||
{
|
{
|
||||||
#Search by samaccountname
|
#Search by samaccountname
|
||||||
$Searcher = [adsisearcher]""
|
$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)
|
if ($result)
|
||||||
{
|
{
|
||||||
$user = $result.GetDirectoryEntry()
|
$user = $result.GetDirectoryEntry()
|
||||||
|
@ -80,7 +85,6 @@ Function UserSearch
|
||||||
return (New-Object System.Security.Principal.SecurityIdentifier($binarySID,0)).Value
|
return (New-Object System.Security.Principal.SecurityIdentifier($binarySID,0)).Value
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$params = Parse-Args $args;
|
$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)"
|
Fail-Json $result "an error occured when attempting to $state $rights permission(s) on $path for $($Params.User)"
|
||||||
}
|
}
|
||||||
|
|
||||||
Exit-Json $result
|
Exit-Json $result
|
||||||
|
|
Loading…
Reference in a new issue