Mehrere Benutzer gleichzeitig in einer Domäne anlegen

Um mehrere Benutzer in eine Domäne einzubinden, kann man sich mit einem kleinen Script behelfen. Damit dies funktioniert, bedarf es jedoch einiger Vorbereitungsarbeiten:

1. Vorbereitung

 

  • CSV-Datei mit den Benutzern
    Man benötigt eine Excel-Tabelle, in der die jeweiligen Daten der anzulegenden Benutzer eingetragen sind. Diese speichert man als users.csv ab.
  • Um per Powershell überhaupt scripts laufen lassen zu können, müssen wir die Execution-Policy ändern. Dazu geben wir in einer Powershell-Sitzung folgenden Befehl ein: set execution-policy remotesigned und bestätigen mit Y. Nach der Ausführung des Scripts sollte dieser wert unbedingt wieder auf seinen Standard zurück gestellt werden. Dies funktioniert mit dem PS-Befehlt set execution-policy restricted.

2. Das Script

  • Das hier gezeigte Script ist sehr strukturiert aufgebaut, benötigt jedoch einer kurzen bearbeitung auf die jeweilige Domäne bzw. auf die Excel-Tabelle.
$objOU=[ADSI]”LDAP://OU=People,DC=sysadmingeek,DC=com”
 $dataSource=import-csv “users.csv”
 foreach($dataRecord in $datasource) {
 $cn=$dataRecord.FirstName + ” ” + $dataRecord.LastName
 $sAMAccountName=$dataRecord.FirstName + “.” + $dataRecord.LastName
 $givenName=$dataRecord.FirstName
 $sn=$dataRecord.LastName
 $sAMAccountName=$sAMAccountName.ToLower()
 $displayName=$sn + “, ” + $givenName
 $userPrincipalName=$sAMAccountName + “@sysadmingeek.com”
 $objUser=$objOU.Create(“user”,”CN=”+$cn)
 $objUser.Put(“sAMAccountName”,$sAMAccountName)
 $objUser.Put(“userPrincipalName”,$userPrincipalName)
 $objUser.Put(“displayName”,$displayName)
 $objUser.Put(“givenName”,$givenName)
 $objUser.Put(“sn”,$sn)
 $objUser.SetInfo()
 $objUser.SetPassword(“P@assw0rd”)
 $objUser.psbase.InvokeSet(“AccountDisabled”,$false)
 $objUser.SetInfo()
 }

 

3. Das Script im Detail

  • $objOU=[ADSI]”LDAP://OU=People,DC=sysadmingeek,DC=com
    Hier gehört der Pfad der Unterorganisation für die neuen Benutze sowohl die Domäne eingetragen. Ein Beispielwert wäre hier: OU=Mitarbeiter,DC=Unternehmen,DC=local
  • $dataSource=import-csv “users.csv
    Hier gibt man den Pfad der zu bearbeitenden .csv-Datei an
  • $cn=$dataRecord.FirstName + ” ” + $dataRecord.LastName
    Hier wird der erste EIntrag der Benutzer gesetzt. Hier darauf achten, dass in der .csv-Datei sowohl eine mit dem Eintrag FirstName als auch dem Eintrag LastName in der ersten Zeile existiert. Bsp:
    A1 = „LastName“, A2 = „FirstName“
    B1=“Mustermann“, B2=“Max“
  • $sAMAccountName=$dataRecord.FirstName + “.” + $dataRecord.LastName
    Hier wird der Account anhand des Vor- Und Nachnamens erstellt. Dieser wird anschließend noch auf lowercase konvertiert.
    Bsp: max.mustermann
  • $userPrincipalName=$sAMAccountName + “@sysadmingeek.com
    hier muss die vollständige Domöne angegeben werden Bsp: Unternehmen.local
  • $objUser.SetPassword(“P@assw0rd”)
    Hier das Standard-Passwort für den ersten Login angeben.

4) Das fertig bearbeitete Script gehört nun als .ps1 und legen es in den selben Ordner wie die .csv Datei. Mit einem Rechtsklick darauf und „Mit Powershell ausführen“. lassen wir das Script laufen. Die neuen Benutzer sollten jetzt unter der im Script angegebenen OU erstellt worden sein.

IP-Range Scan in Powershell

Wenn man auf einem System unterwegs ist, auf dem kein IP-Scanner installiert ist, so genügt folgender Powershell-Befehl, um sich eine Übersicht der aktiven Hosts zu machen:

1..254 | % { $ping.send(„192.168.0.$_“) | select address, status } > file.txt

Dies Scant den IP-Bereich von 192.168.0.1 – 192.168.0.254 und speichert die Ausgabe in der Date file.txt.

Also Information sei noch gesagt, dass dieser Durchlauf nur eine IP-Adresse nach der anderen überprüft und somit im Vergleich zu anderen IP-Scannern sehr langsam ist.

 

Autovervollständigung von Outlook 2010 auf Outlook 2013

Die Autovervollständigung bei der Eingabe der E-Mail Adresse wird seit Outlook 2010 nicht mehr in einer .nk2-Datei gespeichert, Sondern in dem Format Stream_Autocomplete_XXXXX.dat, wobei XXXXX einen eindeutigen Hashwert darstellt. Um diese nun von einem Benutzer auf einen anderen zu übertragen gehen Sie wie folgt vor:

  1. Backup der alten Autocomplete-Datei:
    C:\Users\$OldUser\AppData\Local\Microsoft\Outlook\RoamCache\Stream_Autocomplete_XXXXX.dat
  2. Backup der neuen Autocomplete-Datei:
    C:\Users\$NewUser\AppData\Local\Microsoft\Outlook\RoamCache\Stream_Autocomplete_YYYYY.dat
  3. Kopieren der alten Autocomplete-Datei in das RoamCache-Verzeichnis des neuen Benutzers.
  4. Löschen der neuen Autocomplete-Datei in das RoamCache-Verzeichnis des neuen Benutzers.
  5. Diese Datei muss nun umbenannt werden. Der Hashwert der alten Stream_Autocomplete-Datei muss den der neuen Stream_Autocomplete-Datei entsprechen, dies bedeutet aus Stream_Autocomplete_XXXXX.dat wird Stream_Autocomplete_YYYYY.dat.

Wenn man nun Outlook startet ist die alte Autovervollständigung mit allen Einträgen wiederhergestellt.

 

WIndows User Credentials Serverseitig speichern

WIndows Credentials (Anmeldeinformationsverwaltung) ist eine Möglichkeit von WIndows, um diverse Website- und E-Mail-Passwörter und Zertifikate zu speichern, so dass diese nicht bei jedem aufruf eingegeben werden müssen.

Per Default werden diese jedoch nur lokal gespeichert, was bei Setups in einer Domäne zu Problemen führen kann. Wenn nämlich ein Benutzer seinen normalen Arbeitsplatz verlässt und sich auf einem anderen Client einloggt, sind die Passwörter nicht mehr vorhanden. DIes trifft im besonderen auf Outlook mit externen Mailkonten zu.

Um die Credentials Serverseitig zu speichern ist folgende GPO notwendig:
Benutzerkonfiguration -> Richtlinien -> WIndows-Einstellungen -> Sicherheitsrichtlinien -> Richtlinien für öffentliche Schlüssel -> Zertifikatdiensteclient – Serverspeicherung von Anmeldeinformationen.

Weitere Informationen zu dieser GPO findet man hier:

https://technet.microsoft.com/en-us/library/cc771348.aspx