Vraag


Acties:
  • 0 Henk 'm!

  • Arjan_25
  • Registratie: Juni 2009
  • Laatst online: 01-10 15:34
Hallo,

Ik wil vanuit mijn lokale AD een Export maken van mijn gebruikers met een aantal atributen, daarvoor heb ik het volgende powershell script:

Get-ADUser -Filter * -Properties Surname, GivenName, DisplayName, EmailAddress, Title, Department, extensionAttribute3, employeeID | select Surname, GivenName, DisplayName, EmailAddress, Title, Department, extensionAttribute3, employeeID | Export-CSV "C:\Temp\Ad_users.csv"

Nu krijg ik van 1 user een EmployeeID en verder geen.

Iemand een idee waar het mis gaat? Ik zie het even niet meer op vrijdagmiddag

Beste antwoord (via Arjan_25 op 22-11-2024 15:30)


  • The_Admin
  • Registratie: Maart 2011
  • Laatst online: 17:39
Is het wel ingevuld? Check eens handmatig in dsa of die user wel een gepopuleerd EmployeeID attribute heeft.
Daarnaast is je script een beetje krom met een zooi Properties ingeven en dan ook weer een select er op.

Zou hem zo doen:

Get-ADUser -Filter * -Properties * | select Surname, GivenName, DisplayName, EmailAddress, Title, Department, extensionAttribute3, employeeID | Export-CSV -Path "C:\Temp\Ad_users.csv" -NoTypeInformation

Alle reacties


Acties:
  • Beste antwoord
  • 0 Henk 'm!

  • The_Admin
  • Registratie: Maart 2011
  • Laatst online: 17:39
Is het wel ingevuld? Check eens handmatig in dsa of die user wel een gepopuleerd EmployeeID attribute heeft.
Daarnaast is je script een beetje krom met een zooi Properties ingeven en dan ook weer een select er op.

Zou hem zo doen:

Get-ADUser -Filter * -Properties * | select Surname, GivenName, DisplayName, EmailAddress, Title, Department, extensionAttribute3, employeeID | Export-CSV -Path "C:\Temp\Ad_users.csv" -NoTypeInformation

Acties:
  • +1 Henk 'm!

  • Arjan_25
  • Registratie: Juni 2009
  • Laatst online: 01-10 15:34
Het bleek een rechten issue te zijn. Excuus @The_Admin ik had dit moeten checken. Bedankt voor de moeite. Ik heb het script aangepast naar jouw advies. Thnx

Acties:
  • +1 Henk 'm!

  • Blokker_1999
  • Registratie: Februari 2003
  • Laatst online: 04:23

Blokker_1999

Full steam ahead

The_Admin schreef op vrijdag 22 november 2024 @ 14:35:
Is het wel ingevuld? Check eens handmatig in dsa of die user wel een gepopuleerd EmployeeID attribute heeft.
Daarnaast is je script een beetje krom met een zooi Properties ingeven en dan ook weer een select er op.

Zou hem zo doen:

Get-ADUser -Filter * -Properties * | select Surname, GivenName, DisplayName, EmailAddress, Title, Department, extensionAttribute3, employeeID | Export-CSV -Path "C:\Temp\Ad_users.csv" -NoTypeInformation
Eigenlijk is dat een minder goede manier om het te doen. Dat is zoals een SQL query maken en beginnen met een SELECT * FROM, iets wat men je ook snel afleert. Als je niet alle properties nodig hebt, ga ze dan ook niet allemaal opvragen. Het eindresultaat is uiteindelijk hetzelfde, alleen ga je, als je de properties in je eerste cmdlet meegeeft ipv een wildcard sneller alles hebben en minder resources gebruiken.

En dat klink alsof het hier niet veel uitmaakt, en dat kan zeer goed het geval zijn, maar wanneer je later scripts gaat maken, dan kunnen vele van die kleine gewoontes je vroeg of laat zuur opbreken.

No keyboard detected. Press F1 to continue.


Acties:
  • +1 Henk 'm!

  • Killah_Priest
  • Registratie: Augustus 2001
  • Laatst online: 01-10 10:36
Blokker_1999 schreef op zaterdag 23 november 2024 @ 20:42:
[...]

Eigenlijk is dat een minder goede manier om het te doen. Dat is zoals een SQL query maken en beginnen met een SELECT * FROM, iets wat men je ook snel afleert. Als je niet alle properties nodig hebt, ga ze dan ook niet allemaal opvragen. Het eindresultaat is uiteindelijk hetzelfde, alleen ga je, als je de properties in je eerste cmdlet meegeeft ipv een wildcard sneller alles hebben en minder resources gebruiken.

En dat klink alsof het hier niet veel uitmaakt, en dat kan zeer goed het geval zijn, maar wanneer je later scripts gaat maken, dan kunnen vele van die kleine gewoontes je vroeg of laat zuur opbreken.
Ik heb voor omgevingen met 50k+ users data uit bv de lokale AD moeten trekken (en ook api's als Graph en de Outlook API): het maakt eigenlijk al best wel snel verschil.
Zelfs bij bv 1000 objecten ophalen is 10ms verschil per object ophalen al snel 10 seconden winst.