Question Convert SID to HEX

Plus d'informations
il y a 14 ans 11 mois #4560 par Tarik
Convert SID to HEX a été créé par Tarik
Hello all,

Je suis entrain de créer la fonction qui permet de convertir un SID en Hexadécimal, très utile pour faire une recherche LDAP.

J'ai trouvé l'équivalent en vbscript mais pas en Powershell c'est pourquoi je me suis lancé dans ce code.
ce lien explique très bien la logique de cette conversion.
Cependant, je bloque car il faut convertir la valeur HEX en little-endian (cad de droite à gauche). ex: 0123 to 3210
J'ai cherché en vain une fonction qui permet de faire un reverse d'un string.

Quelqu'un aurait il cela sous la main ou une autre manière de faire.
[code:1]
Function ConvertSIDtoHex($StrSID){
$StrSID = \"S-1-5-21-2127521184-1604012920-1887927527-72713\"
[array]$arrSplitSid = $StrSID.split(\"-\"«»)
$index = 1
[string]$SidHex = \"\"
write-host \"INFO: dashes:\"$arrSplitSid.count
while($index -lt $arrSplitSid.count){
if($index -eq 1){
$SidHex += [Convert]::ToString(\"{0: D2}\" -f [int]$arrSplitSid[$index])
$SidHex += [Convert]::ToString(\"{0: D2}\" -f [int]$arrSplitSid.count -3)
}else{
if($index -eq 2){
$SidHex += [Convert]::ToString(\"{0: X12}\" -f [int]$arrSplitSid[$index])
}else{
$SidHex += [Array]::Reverse([Convert]::ToString(\"{0: X8}\" -f [int]$arrSplitSid[$index]))
}
}
$index ++
}
write-host \"INFO: SID to HEX:\"$SidHex
return $SidHex
}[/code:1]

cordialement,
Tarik

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 14 ans 11 mois #4564 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Convert SID to HEX
Salut,
une solution proposée par Keith Hill :
[code:1]
$a=[DateTime]::Now.Ticks
\"{0:«»x}\" -f $a
[BitConverter]::ToString([BitConverter]::GetBytes($a)) -replace \"-\",\"\"
[/code:1]<br><br>Message édité par: Laurent Dardenne, à: 17/04/09 10:39

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.071 secondes
Propulsé par Kunena