Active Directory
Gruppen im Active Directory per Powershell Script umbenennen
Bei uns gab es die Anforderung im Active Directory Gruppen umzubenennen. Da dies sehr viele waren habe ich erst einmal einen Dump der Gruppen gezogen um diese dann per CSV in Excel zu bekommen. Danach habe ich per suchen und ersetzen in Excel die Umbenennung gemacht.
Computer im Active Directory anzeigen die sich länger nicht angemeldet haben
Manchmal ist es sinnvoll sich Computer anzeigen zu lassen die sich schon längere Zeit nicht mehr mit dem Active Directory authentifiziert haben. So ist es möglich alte Computerobjekt zu löschen die evtl. gar nicht mehr genutzt werden. Am einfachsten ist dies per Powershell zu lösen.
Prüfen ob sich ein Benutzer im AD Authentifizieren kann
Der folgende C# Code prüft ob ein Benutzer im Active Directory vorhanden ist und generiet eine Exeption falls dies nicht der Fall ist.
Powershell: Active Directory Gruppen in Kleinbuchstaben wandeln
Ich habe ein kleines Script in Powershell geschrieben das Gruppen im Active Directory in Kleinschreibung wandelt. In diesem Fall einfach den Filter anpassen bzw. die OU anpassen.
|
1 2 3 4 5 6 7 8 |
Get-ADGroup -Filter * -SearchBase "OU=Test,DC=domain,DC=intern" | Select Name, DistinguishedName | Export-csv -path c:\temp\username.csv -NoTypeInformation $csv= import-csv c:\temp\username.csv foreach ($group in $csv) { Set-ADGroup $group.Name -SamAccountName $group.Name.ToLower() Rename-ADObject -Identity $group.DistinguishedName -newname $group.Name.ToLower() } |
Infos zu den Befehlen: Set-ADGroup Rename-ADObject
VB.NET und Anlegen von Usern im Active Directory
Habe nun schon lange nichts mehr gepostet. Aber nun folgt mal etwas Code. Ich habe eine Programm in VB.net geschrieben um User automatisiert anzulegen. Diesen Code will ich hier posten: Zuerst natürlich der Import
|
1 |
Imports System.DirectoryServices |
Und dann das Anlegen
|
1 2 3 4 5 6 7 8 9 10 11 12 |
Try Dim objParent As New DirectoryEntry("LDAP://" & ouString & "dc=dasAD, dc=int,_ ", strADUser & "@dasAD.int", strADPasswort, AuthenticationTypes.Secure) Dim objChild As DirectoryEntry = objParent.Children.Add("cn=" & Username, "user") objChild.Properties("sAMAccountName").Add(Username) objChild.Properties("mail").Add(email) objChild.CommitChanges() objChild.Invoke("SetPassword", New Object() {Passwort}) objChild.NativeObject.AccountDisabled = False objChild.CommitChanges() objChild.Close() |
Nun ist der User Angelegt. Nun fügen wir diesen Noch einer Gruppe hinzu.
|
1 2 3 4 5 6 7 8 9 |
Dim objGroup As New DirectoryEntry("LDAP://cn=testgruppe, ou=people, ou=Gruppen,_ dc=dasAD, dc=int", strADUser & "@hfwu.int", strADPasswort, AuthenticationTypes.Secure) objGroup.Invoke("Add", New Object() {objChild.Path.ToString()}) Catch x As Exception MsgBox(x.Message) MsgBox("Programm wird beendet") Exit Sub End Try |
Klappt [...]

