AD Befehle



Telefon-Daten importieren

import-module activedirectory

Import-Csv C:\Users\enged\Desktop\Import\TR\import_tr.csv | ForEach-Object {Set-ADUser -Identity $_.samAccountName -Replace @{homePhone=$_.homePhone; telephoneNumber=$_.telephoneNumber; facsimileTelephoneNumber=$_.facsimileTelephoneNumber }}



Büro-Nr ändern

import-module activedirectory

Import-Csv C:\Users\enged\Desktop\Import\import_office.csv | ForEach-Object {Set-ADUser -Identity $_.samAccountName -Replace @{physicalDeliveryOfficeName=$_.physicalDeliveryOfficeName}}



Alle Computerbeschreibungen ändern

import-module activedirectory

Import-Csv C:\Users\enged\Desktop\Auswertung\TR\import_test.csv | ForEach-Object {Set-ADComputer -identity $_.displayname -Replace @{description=$_.description}}



Alle aktiven Mitarbeiter

import-module activedirectory

$path= "C:\_PS-Auswertungen"

Get-aduser -filter {enabled -eq $true} -properties *| select-object name,samaccountname,displayname, surname, givenname,description,whenCreated,whenChanged,department,physicalDeliveryOfficeName,streetAddress,postalCode | export-csv -Path "$path\all_user_active.csv" -notypeinformation -delimiter ";"


AD Maschinenabfragen



Zeige alle Maschinen mit den Informationen: Name, Beschreibung, Aktiviert, Wann geändert, Letzte Anmeldung an:

import-module activedirectory

$path= "C:\_PS-Auswertungen"

Get-aduser -filter {enabled -eq $true} -properties *| select-object name,samaccountname,displayname, surname, givenname,description,whenCreated,whenChanged,department,physicalDeliveryOfficeName,streetAddress,postalCode | export-csv -Path "$path\all_user_active.csv" -notypeinformation -delimiter ";"

 


Zeige alle aktiven Maschinen bei denen sich länger als 180 Tage nicht mehr angemeldet wurde:

import-module activedirectory

$path= "C:\Users\enged\Desktop\Auswertung"
$days = 180
$time= (Get-Date).AddDays(-$days)
Get-ADComputer -Filter {(enabled -eq $true) -and (lastLogonDate -lt $time)} -Property * | select-object name,description,enabled,LastLogonDate,whenChanged | export-csv -Path "$path\lastloginover180_computer.csv" -notypeinformation -delimiter ";"



Zeige alle aktiven Clients an den sich länger als 180 Tage nicht angemeldet wurde

$days = 180
$time= (Get-Date).AddDays(-$days)
$path= "C:\Users\105217\Desktop\Auswertung"
Get-ADComputer -Filter {(displayname -like 'cli*') -and (enabled -eq $true) -and (lastLogonDate -lt $time)} -Property * | select-object
name,description,enabled,LastLogonDate,whenChanged | export-csv -Path "$path\lastloginover180_clients.csv" -notypeinformation -delimiter ";"

Alle Server in der OU Server $path= "C:\Users\105217\Desktop\Auswertung"

Get-ADComputer -Filter * -SearchBase "OU=Server,OU=Server,DC=ELW,DC=DE" -Property * | select-object name,description,enabled, operatingsystem| export-csv -Path

"$path\server.csv" -notypeinformation -delimiter ";"



Zeige alle enabled Computer aus BUU,JSO,ZD,EA, Letzte Anmeldung

$OUs = 
"OU=BUU,OU=Computer,OU=VGW,DC=vgwoerrstadt,DC=intern",
"OU=JSO,OU=Computer,OU=VGW,DC=vgwoerrstadt,DC=intern",
"OU=ZD,OU=Computer,OU=VGW,DC=vgwoerrstadt,DC=intern",
"OU=EA,OU=Computer,OU=VGW,DC=vgwoerrstadt,DC=intern"

$ADReport =
foreach($OU in $OUs){
Get-ADComputer -Filter {(enabled -eq $true)} -searchbase $OU -Properties name,description,enabled,LastLogonDate,whenChanged
}

$ADReport |
select-object name,description,enabled,LastLogonDate,whenChanged |
export-csv "\\NBADM5\c$\Users\SchattoF\Documents\LogonTest.csv" -NoTypeInformation -Encoding UTF8




AD Userabfragen


Alle Benutzerkonten

# Definiere den Speicherort der CSV-Datei
$csvPath = "C:\_PS-Auswertungen\Benutzerkonten.csv"

# Hole alle Benutzerkonten und wähle die benötigten Eigenschaften aus
Get-ADUser -Filter * -Property Enabled, LastLogonDate, DisplayName | 
    Select-Object DisplayName, Enabled, LastLogonDate |
    Export-Csv -Path $csvPath -NoTypeInformation -Encoding UTF8

# Ausgabe der Datei
Write-Host "Benutzerkonten wurden erfolgreich in $csvPath exportiert."


Alle Mitarbeiter

$path= "C:\Users\enged\Desktop\Auswertung"
Get-aduser -properties *| select-object
name,description,enabled,LastLogonDate,whenChanged | export-csv -
Path "$path\all_user.csv" -notypeinformation -delimiter ";"



Alle aktiven Mitarbeiter

$path= "C:\Users\enged\Desktop\Auswertung"
Get-aduser -filter {enabled -eq $true} -properties *| select-object name,samaccountname,displayname, surname, givenname, description,whenCreated,whenChanged,department,physicalDeliveryOfficeName,streetAddress,postalCode, TelephoneNumber | export-csv -Path "$path\all_user_active.csv" -notypeinformation -delimiter ";"



Alle Gemeindebürgermeister

$path= "C:\Users\enged\Desktop\"
Get-aduser -filter {name -like 'obgm_*'} -properties *| select-object name,samaccountname,displayname,mail | export-csv -Path "$path\obgm_active.csv" -notypeinformation -delimiter ";"




AD Gruppenabfragen



Alle Gruppen eines Anwenders

### Bevor man den Powershell Script ausführen darf , muss man die Policy für sein System neu setzen:
### http://www.admin-source.de/BlogDeu/401/powershell-executionpolicy-richtig-verstehen-2
### Powershell als ADMIn ausführen: Set-ExecutionPolicy Unrestricted -Force
### Überprüfen mit GET-ExecutionPolicy

Import-Module ActiveDirectory
$login= read-host "Bitte Login eingeben"
$username = $login
Get-ADPrincipalGroupMembership $login | select name,description | export-csv -Path "C:\_PS-Auswertungen\$username-groups.csv" -notypeinformation -delimiter ";"



Alle Gruppen mit einen bestimmten Inhalt im Namen

Get-ADGroup -Filter "GroupScope -eq 'Global'"

### Aus <https://www.windowspro.de/script/ad-gruppen-powershell-anzeigen-erstellen-benutzer-hinzufuegen>
### Powershell-Abfragen



Alle Mitglieder einer Gruppe

$path= "C:\_PS-Auswertungen"
Get-ADGroupMember -Identity beflaggung -recursive | select-object name,samaccountname | export-csv -Path "$path
\all_group_users.csv" -notypeinformation -delimiter ";"



Alle Felder die bei der automatischen Signatur abgefragt werden + letzte Anmeldung + Name

$OUs = 
"OU=IT,OU=Benutzer,OU=VGW,DC=vgwoerrstadt,DC=intern",
"OU=BUU,OU=Benutzer,OU=VGW,DC=vgwoerrstadt,DC=intern",
"OU=JSO,OU=Benutzer,OU=VGW,DC=vgwoerrstadt,DC=intern",
"OU=ZD,OU=Benutzer,OU=VGW,DC=vgwoerrstadt,DC=intern",
"OU=Stab,OU=Benutzer,OU=VGW,DC=vgwoerrstadt,DC=intern"

$ADReport =
foreach($OU in $OUs){
Get-ADUser -Filter * -searchbase $OU -Properties name,givenName,sn,department,title,streetAddress,l,homePhone,facsimileTelephoneNumber,mobile,info,LastLogonDate
}

$ADReport |
select-object name,givenName,sn,department,title,streetAddress,l,homePhone,facsimileTelephoneNumber,mobile,info,LastLogonDate |
export-csv "\\NBADM5\c$\Users\SchattoF\Documents\abcd.csv" -NoTypeInformation -Encoding UTF8