Bonjour,
J'aimerai savoir s'il est possible de convertir un SID vers un nom d'utilisateur depuis un ordinateur distant ?
Je sais le faire pour du local :
Code Powershell : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $objSID = New-Object System.Security.Principal.SecurityIdentifier ("S-1-5-21-3496554487-1900509739-3140548133-500") $objUser = $objSID.Translate( [System.Security.Principal.NTAccount]) $objUser.Value
Où sur un ActiveDirectory
Code PowerShell : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $strSID="S-1-5-21-500000003-1000000000-1000000003-1001" $uSid = [ADSI]"LDAP://<SID=$strSID>" echo $uSid
Mais sur un ordinateur distant, je n'ai pas trouvé de commande similaire.
J'ai donc pris le problème différemment (mais je ne sais pas si cela est la meilleur des solutions).
Je liste les utilisateurs de l'ordinateur distant et je cherche à faire une conversion utilisateur -> SID afin d'en faire un tableau de référence.
Par la suite, je pourrais comparer mes SID à convertir avec de tableau de référence.
Code Powershell : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 $domainName = "DOMAIN" $computerName = "SERVER" $computer = [adsi]"WinNT://$computerName,computer" foreach($adsiObj in $computer.psbase.children | Where-Object { $_.psbase.schemaclassname -eq 'group' } ) { $user = New-Object System.Security.Principal.NTAccount($adsiObj.name) $sid = $user.Translate([System.Security.Principal.SecurityIdentifier]) Write-Host $adsiObj.name "-" $sid.Value }
Cependant, lorsque je créer un objet avec System.Security.Principal.NTAccount(), il me essai de me créer un objet avec un utilisateur local, hors je souhaite lui spécifier l'ordinateur distant.
Comment on peut faire ? Bien sûr, s'il y a une solution plus direct que de passer par un tableau de référence, je suis preneur![]()
Partager