dispatcher
Goto Top

Kerberos Verschlüsselung für mehrere User im AD setzen

Hallo Zusammen,

ich möchte für mehrere User im AD die Kerberos Verschlüsselung setzen. Ich habe eine .csv Datei ohne Header in der alle User mit Nachname, Vorname untereinander aufgeführt sind.
Jetzt wollte ich via Powershell das Attribut für die Verschlüsselung setzen, scheitere aber anscheinend beim Import.
Import-Csv "C:\Users\admin\Desktop\user.csv" | foreach {Set-ADUser -Identity -KerberosEncryptionType AES128,AES256}  

Wie genau muss denn der Befehl aussehen?

Content-ID: 3144179881

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

Ausgedruckt am: 24.11.2024 um 07:11 Uhr

erikro
erikro 22.06.2022 um 15:06:20 Uhr
Goto Top
Moin,

da fehlt was hinter der Identity. Nehmen wir mal an, dass Deine samaccountnames (oder was auch immer als Identity genommen werden soll) in der Spalte User Deines CSV steht, dann so:

Import-Csv "C:\Users\admin\Desktop\user.csv" | foreach {Set-ADUser -Identity $_.user -KerberosEncryptionType AES128,AES256}  

hth

Erik
mbehrens
mbehrens 22.06.2022 um 21:45:20 Uhr
Goto Top
Zitat von @dispatcher:

ich möchte für mehrere User im AD die Kerberos Verschlüsselung setzen. Ich habe eine .csv Datei ohne Header in der alle User mit Nachname, Vorname untereinander aufgeführt sind.

Da fehlt doch noch irgendein eindeutiges Identifikationsmerkmal des Benutzerkontos.

Dem Import-CSV fehlt es am Header, somit geht eine Zeile verloren.

Wenn man dies hat, könnte man z. B. den UPN einfach an Set-ADUser weiterreichen, auch ohne Schleife.
dispatcher
dispatcher 23.06.2022 aktualisiert um 07:50:47 Uhr
Goto Top
Ich dachte mir schon fast dass es an einer direkten Zuordnung liegt.
Nur fürs Verständnis - muss denn zwingend ein Header vorhanden sein? Kann ich alle Daten, die das AD mir ausspuckt verwenden? Bspw. mailNickname oder SamAccountName oder Name? Verweise ich dann immer auf Identity?
foreach {Set-ADUser -Identity -KerberosEncryptionType AES128,AES256}
Wie würde es denn aussehen, wenn ich den Befehl für User einer OU anwenden möchte


Nehmen wir an, die CSV hat als Header mailNickname und darunter stehen alle mailNicknames der User.
Wäre
 Import-Csv "C:\Users\admin\Desktop\user.csv" | foreach {Set-ADUser -Identity $_.mailNickname -KerberosEncryptionType AES128,AES256}   
richtig?
erikro
erikro 23.06.2022 aktualisiert um 12:00:01 Uhr
Goto Top
Moin,

Zitat von @dispatcher:
Nur fürs Verständnis - muss denn zwingend ein Header vorhanden sein?

Ein CSV hat eine Headerzeile, die die Daten in den Spalten bezeichnet. Wenn nicht, kann man den auch beim Import erzeugen.

import-csv datei.csv -header "Feld1","Feld2"  

Die Anzahl der Header muss mit der Anzahl der Spalten übereinstimmen. Sind es weniger, werden die restlichen Spalten weggeworfen.

Kann ich alle Daten, die das AD mir ausspuckt verwenden? Bspw. mailNickname oder SamAccountName oder Name? Verweise ich dann immer auf Identity?

Nein. Wie im Handbuch steht kann Identity sein:

A distinguished name
A GUID (objectGUID)
A security identifier (objectSid)
A SAM account name (sAMAccountName)

Wie würde es denn aussehen, wenn ich den Befehl für User einer OU anwenden möchte

Wie meinst Du das? Alle User einer OU kannst Du so ausgeben lassen:

Get-ADUser -Filter * -SearchBase 'OU=HumanResources,OU=UserAccounts,DC=FABRIKAM,DC=COM'  

Nehmen wir an, die CSV hat als Header mailNickname und darunter stehen alle mailNicknames der User.
Wäre
 Import-Csv "C:\Users\admin\Desktop\user.csv" | foreach {Set-ADUser -Identity $_.mailNickname -KerberosEncryptionType AES128,AES256}   
richtig?

Nein, s. o.

hth

Erik
dispatcher
dispatcher 23.06.2022 um 13:35:49 Uhr
Goto Top
@erikro

Vielen Dank, ich hatte es in der Zwischenzeit gelöst. Ich habe der CSV den Header samaccountname
verpasst und mit
Import-Csv "C:\Users\admin\Desktop\user.csv" | foreach {Set-ADUser -Identity $_.samaccountname -KerberosEncryptionType AES128,AES256}   
das Attribut gesetzt.

Wie meinst Du das? Alle User einer OU kannst Du so ausgeben lassen:
Wie man das macht weiß ich. Ich wollte eher darauf hinaus keine csv zu importieren, sondern den Befehl auf eine ganze OU anzuwenden. Habe das jetzt wie folgt gelöst
$ou = "OU=Example Users,DC=Example,DC=com"  
$users = Get-ADUser -SearchBase $ou -Filter *
$users | Set-ADUser -KerberosEncryptionType AES128,AES256
erikro
erikro 23.06.2022 um 14:07:22 Uhr
Goto Top
Zitat von @dispatcher:

@erikro

Vielen Dank, ich hatte es in der Zwischenzeit gelöst. Ich habe der CSV den Header samaccountname
verpasst und mit
Import-Csv "C:\Users\admin\Desktop\user.csv" | foreach {Set-ADUser -Identity $_.samaccountname -KerberosEncryptionType AES128,AES256}   
das Attribut gesetzt.

Wie meinst Du das? Alle User einer OU kannst Du so ausgeben lassen:
Wie man das macht weiß ich. Ich wollte eher darauf hinaus keine csv zu importieren, sondern den Befehl auf eine ganze OU anzuwenden. Habe das jetzt wie folgt gelöst
$ou = "OU=Example Users,DC=Example,DC=com"  
$users = Get-ADUser -SearchBase $ou -Filter *
$users | Set-ADUser -KerberosEncryptionType AES128,AES256

Learning by doing. face-wink Schön, dass wir helfen konnten.