pixel0815
Goto Top

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

$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 

Content-Key: 7737158698

Url: https://administrator.de/contentid/7737158698

Printed on: April 28, 2024 at 08:04 o'clock

Mitglied: 7426148943
Solution 7426148943 Jul 04, 2023 updated at 11:48:53 (UTC)
Goto Top
$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
Zeppel