$firm_users = Get-ADUser -Filter "office -like 'siedziba Firmy' -and enabled -eq 'true'" -Properties Created, DisplayName, Division, Enabled, Mail, EmployeeID, Title, Manager -SearchBase "OU=Firma, OU=Uzytkownicy,DC=ad,DC=firma,DC=pl"
$dane = ForEach ($user in $firm_users)
{
try
{
New-Object PSObject -Property @{Stanowisko = $user.title
"Nazwisko i Imię" = $user.displayname
"Jednostka2" = $user.division
Przełożony = (Get-ADUser -Filter "distinguishedName -eq '$($user.manager)' ").Name
Jednostka = $user.DistinguishedName -replace '.+?,OU=(.+?),(?:OU|DC)=.+','$1'
} | Select-Object "Nazwisko i Imię", Stanowisko, Jednostka, Przełożony
}
catch
{
New-Object PSObject -Property @{Stanowisko = $user.title
"Nazwisko i Imię" = $user.displayname
"Jednostka2" = $user.division
Przełożony = ""
Jednostka = $user.DistinguishedName -replace '.+?,OU=(.+?),(?:OU|DC)=.+','$1'
} | Select-Object "Nazwisko i Imię", Stanowisko, Jednostka, Przełożony
}
}
#$dane | Sort-Object "Nazwisko i Imię" | Format-Table "Nazwisko i Imię", Stanowisko, Jednostka, Przełożony -AutoSize
$ScriptDir = Split-Path $script:MyInvocation.MyCommand.Path
$dane | Sort-Object "Nazwisko i Imię" | Export-Csv -Path "$ScriptDir\Pracownicy.csv" -Encoding UTF8