Modificere Powershell til at trække SID fra AD
HejEn tidligere kollega har lavet/fundet et script der trækker AD-oplysninger ud til brug for rettighedsstyring i vores datawarehouse. Da han lavede det brugte han dog ikke SID på groups og users hvilket giver en del problemer.
Script finder alle de grupper som en bruger findes i og pivoterer det efterfølgende så man har en CSV-fil med to kolonner.
Er der en venlig sjæl der kan modificere dette script så jeg i stedet får SID'erne fra groups og users.
Jeg går ud fra det er her man i stedet skal hente SID attributen:
$str = $_.Name + ";" + $_.DN
*****************************
# Add ActiveRoles ManagementShell
Add-PSSnapin Quest.ActiveRoles.AdManagement
# Write out relation between user and groups in this case group BM_BMSR
Remove-Item F:\Flatfile\ActiveDirectory\GroupMember.csv
#
# Get-QADGroup 'BM_BMSR*' -SizeLimit 0 | ForEach-Object{
Get-QADGroup -SizeLimit 0 | ForEach-Object{
$str = $_.Name + ";" + $_.DN
if($_.Members){
$_.Members | ForEach-Object {$str += ";" + (Get-QADUser $_).DN}
}
Out-file F:\Flatfile\ActiveDirectory\TmpGroupMember.csv -inputobject $str -encoding UTF8 -append
}
#Re-Read File and pivot member out on each line
$AllGroups = get-content F:\Flatfile\ActiveDirectory\TmpGroupMember.csv
foreach ($buf in $Allgroups) {
$Element = $buf.split(";")
$ElementCount=2
foreach ($d in $Element) {
#Clear-Variable $str
$str = $Element[0] + ";" + $Element[1] + ";" + $Element[$ElementCount]
if ($Element[$ElementCount] -ne $null ) {
Out-file F:\Flatfile\ActiveDirectory\GroupMember.csv -inputobject $str -encoding UTF8 -append
}
$ElementCount += 1
}
}
Remove-Item F:\Flatfile\ActiveDirectory\TmpGroupMember.csv
*****************