Nicht gefundene Benutzer in Liste kenntlich machen
Hi zusammen,
ich erzeuge eine Liste aus dem AD ($aduser), diese möchte ich mit einer anderen Liste ($UPMProfiles) querchecken.
Funktioniert auch soweit, allerdings schaffe ich es grade nicht, unser SamAccountName dann den Text NICHT GEFUNDEN - Bitte prüfen einsetzten zu lassen, wenn der Benutzer nicht im AD gefunden werden kann.
Könnt ihr mir mal auf die Sprünge helfen?
LG
ich erzeuge eine Liste aus dem AD ($aduser), diese möchte ich mit einer anderen Liste ($UPMProfiles) querchecken.
Funktioniert auch soweit, allerdings schaffe ich es grade nicht, unser SamAccountName dann den Text NICHT GEFUNDEN - Bitte prüfen einsetzten zu lassen, wenn der Benutzer nicht im AD gefunden werden kann.
Könnt ihr mir mal auf die Sprünge helfen?
LG
$Report = @()
$Counter= 0
$ProfilListe = foreach ($UPMProfile in $UPMProfiles){
$counter++
Write-Progress -Activity 'Processing Profile' -Status "Processing $($counter) of $($UPMProfiles.count)" -CurrentOperation $UPMProfile.Fullname -PercentComplete (($counter / $UPMProfiles.count) * 100)
$ProfilePfad = $UPMProfile.Fullname
$ProfilSam = $UPMProfile.Name
$ProfilLastAccess = $UPMProfile.LastWriteTime
$Size = Get-FolderSizeInfo -path $ProfilePfad
$ProfilSize = Convert-Size -Size $Size.TotalSize
$UserDetail = $aduser | ?{($_.SamAccountName -eq "$ProfilSam")}
if($UserDetail){
$UserDetail | select *
}else{[pscustomobject]@{SamAccountName="NICHT GEFUNDEN - Bitte prüfen"}}
$Details = "" | Select givenName,sn,Name,sAMAccountName,msDS-parentdistname,Benutzerstatus,Kennwortänderung,Kennwortablauf,Profilpfad,LetzerZugriff,Profilgrösse,TotalDateien
$Details.givenName = $UserDetail.givenName
$Details.sn =$UserDetail.sn
$Details.Name = $UserDetail.Name
$Details.sAMAccountName = $UserDetail.sAMAccountName
$Details."msDS-parentdistname" = $UserDetail."msDS-parentdistname"
$Details.Benutzerstatus = $UserDetail.Enabled
$Details.Profilpfad = $ProfilePfad
$Details.LetzerZugriff = $ProfilLastAccess
$Details.Profilgrösse = $ProfilSize
$Details.TotalDateien = $Size.TotalFiles
$Details.Kennwortablauf = $UserDetail.'msDS-UserPasswordExpiryTimeComputed'
$Details.Kennwortänderung = $UserDetail.pwdLastSet
$Report += $Details
}
$Report| Out-GridView
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 7737158698
Url: https://administrator.de/forum/nicht-gefundene-benutzer-in-liste-kenntlich-machen-7737158698.html
Ausgedruckt am: 22.12.2024 um 12:12 Uhr
1 Kommentar
$Counter= 0
$Report = foreach ($UPMProfile in $UPMProfiles){
$counter++
Write-Progress -Activity 'Processing Profile' -Status "Processing $($counter) of $($UPMProfiles.count)" -CurrentOperation $UPMProfile.Fullname -PercentComplete (($counter / $UPMProfiles.count) * 100)
$ProfilePfad = $UPMProfile.Fullname
$ProfilSam = $UPMProfile.Name
$ProfilLastAccess = $UPMProfile.LastWriteTime
$Size = Get-FolderSizeInfo -path $ProfilePfad
$ProfilSize = Convert-Size -Size $Size.TotalSize
$UserDetail = $aduser | ?{$_.SamAccountName -eq $ProfilSam}
$Details = "" | Select givenName,sn,Name,sAMAccountName,msDS-parentdistname,Benutzerstatus,Kennwortänderung,Kennwortablauf,Profilpfad,LetzerZugriff,Profilgrösse,TotalDateien
if($UserDetail){
$Details.givenName = $UserDetail.givenName
$Details.sn =$UserDetail.sn
$Details.Name = $UserDetail.Name
$Details.sAMAccountName = $UserDetail.sAMAccountName
$Details."msDS-parentdistname" = $UserDetail."msDS-parentdistname"
$Details.Benutzerstatus = $UserDetail.Enabled
$Details.Profilpfad = $ProfilePfad
$Details.LetzerZugriff = $ProfilLastAccess
$Details.Profilgrösse = $ProfilSize
$Details.TotalDateien = $Size.TotalFiles
$Details.Kennwortablauf = $UserDetail.'msDS-UserPasswordExpiryTimeComputed'
$Details.Kennwortänderung = $UserDetail.pwdLastSet
}else{
$Details.sAMAccountName = "NICHT GEFUNDEN - Bitte prüfen"
}
$Details
}
$Report| Out-GridView