SID eines Benutzer via Powershell ermitteln

So heute mal nur ein kurzer Blog, wie man die SID von einem Domain-Account oder einen
Domain-Account von einer SID ermitteln kann. Das Ganze ist dann ganz hilfreich, wenn die SID’s nicht aufgelöst werden und man dennoch die Information benötigt. Oder wenn man wissen möchte wem die SID gehört bzw. wenn man die SID von einem Domain Account ermitteln möchte.

Bevor wir anfangen, möchte ich drauf hinweisen, dass die Anleitung nicht für einen Produktivbetrieb genutzt werden sollte. Der Einsatz erfolgt auf eigene Gefahr, ich übernehme keine Haftung für Schäden!

Import-Module ActiveDirectory

####################################
# Function sid2sam
# Get the SAMAccoutname for a SID
####################################
function sid2sam
{
try 
{
$mySid = Get-ADUser -Properties SID, SAMAccountname -Filter *| where {$_.SID -like "*$myQuerySID*"}
$mySidCount = $mySid.count

foreach($y in $mySid){
Write-Host $y.SAMAccountName "<===>" $y.SID -ForegroundColor Green
}

if ($mySidCount -eq 0){
Write-Host "No matches found in the Directory!" -ForegroundColor red
}

}
catch 
{
write-host "Error or nothing found check SID!!!" -BackgroundColor Red
}
}

####################################
# Function sam2sid
# Get the SID for a SAMAccoutname
####################################
function sam2sid
{
try 
{
$mySAM = Get-ADUser -Properties SID, SAMAccountname -Filter *| where {$_.SAMAccountname -like "*$myQuerySAMAccountname*"} |select SAMAccountname, SID

foreach($x in $mySAM){
Write-Host $x.SAMAccountName "<===>" $x.SID -ForegroundColor Green
}

if ($x -eq $null){
Write-Host "No matches found in the Directory!" -ForegroundColor -red
}



}
catch 
{
write-host "Error or nothing found check SAMAccountname/Domain!!!" -BackgroundColor Red
}
}


##############
#Main
##############
cls
$myQuery = Read-Host -Prompt "What do you search SID or SAMAccountName? type SID oder SAM" 

if ($myQuery.ToLower() -eq "sid")
{
$myQuerySAMAccountname = Read-Host -Prompt "Enter SAMAccountname"
sam2sid
}
elseif ($myQuery.ToLower() -eq "sam")
{
$myQuerySID = Read-Host -Prompt "Enter the Domain SID"
sid2sam
}
else
{
write-host 'Please enter SID or SAM' -ForegroundColor Red
}

Write-host "done..." -ForegroundColor Magenta
read-host

Das war es von meiner Seite. Ich hoffe, ich konnte Ihnen einen kleinen Einblick geben und das Script ist für Sie hilfreich.

Sollten Sie Fragen haben, so scheuen Sie nicht mich zu kontaktieren. Nutzen Sie hier die “Kommentar Funktion” des Blogs oder wenn es Ihnen lieber ist via E-Mail. Weiter Blogs werden in Kürze folgen. Ich würde mich sehr freuen, wenn Sie wieder vorbeischauen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

drei − eins =