Benutzer mit den meisten Antworten
Script zum Anlegen neuer Benutzer

Frage
-
Hallo zusammen,
bei uns kommt es nun immer häufiger vor, dass Praktikanten und Aushilfen kurzfristig eingestellt werden.
Das bedeutet, dass kurzfristig auch Benutzerkonten(AD 2012R2) mit den entsprechenden Attributen (Homepfad, Profilpfad, ...), den Gruppenmitgliedschaften und den Postfächern (Exchange 2013) angelegt werden müssen.
Nun bin ich auf der Suche nach einem Script, was mir die Arbeit beim Anlegen der User vereinfacht.
Hat nicht vielleicht jemand so eine Script für mich (oder ein kostenfreies Tool), dass mir das Anlegen der Benutzer vereinfacht?
Zur Not müsste ich mir eine eigenes Script bauen, was aber etwas(viel) länger dauern würde.
Antworten
-
Moin,
Zur Not müsste ich mir eine eigenes Script bauen, was aber etwas(viel) länger dauern würde.
...das Ergebnis aber genau Deine Gegebenheiten widerspiegeln würde. Es gibt im Internet tonnenweise User-Anlegeskripte (Google hilft hier weiter), viele machen Exchange mit, einige auch Lync und einige wenige SharePoint - jedoch musst Du die Parameter, die umgebungsspezifisch sind, immer irgendwie übergeben.
Du musst realistisch bewerten, wie variabel Dein Provisionierungsprozess tatsächlich ist. Ist er halbwegs starr, dann hast Du das Skript vermutlich schneller selber geschrieben als 3-4 Sachen aus dem Internet zu evaluieren, durch das jeweilige Parameter Set durchzusteigen usw. Wenn eine hohe Variabilität erforderlich ist, lohnt es sich vermutlich, ein paar Stunden in die Suche und Evaluierung zu investieren.
Denk bei so etwas bitte auch immer an die Deprovisionierung - gerade bei temporären Arbeitskräften steht dieser Teil des Identity Lifecycle immer wieder an.
Evgenij Smirnov
msg services ag, Berlin -> http://www.msg-services.de
my personal blog (mostly German) -> http://it-pro-berlin.de
Windows Server User Group, Berlin -> http://www.winsvr-berlin.de
Mark Minasi Technical Forum, reloaded -> http://newforum.minasi.comIn theory, there is no difference between theory and practice. In practice, there is.
- Als Antwort markiert Mihaela ParedesMicrosoft contingent staff, Moderator Donnerstag, 1. September 2016 11:00
-
Hallo Peter,
mein Skript ist sehr auf die hier laufende AD-Struktur angepasst, daher musst Du es für Dich noch mal anpassen. Normalweise habe ich auch noch eine GUI davor, da das aber über 1000 Codezeilen sind, poste ich nur einen Teil der eigentlichen Funktionen.
User im AD anlegen, mit Basisverzeichnis und setzen diverser Attribute:
function create_ad_user { New-ADUser -SamAccountName $username -GivenName $firstname -Surname $secondname -DisplayName $fullname -Name $fullname -UserPrincipalName $upn -Path $adpath -AccountPassword (ConvertTo-SecureString -AsPlainText $userpw -Force) -EmailAddress $useremail -HomeDrive "H:" -HomeDirectory $homedir Write-Host "Der Benutzer $username wurde unter $adpath angelegt." Set-ADUser -Identity $username -ChangePasswordAtLogon $true Set-ADUser -Identity $username -Enabled $true Write-Host "Der Benutzer $username wurde aktiviert." # Create the folder on the root of the common Users Share NEW-ITEM –path $homedir -type directory -force $IdentityReference='DOMAIN\’+$username # Set parameters for Access rule $FileSystemAccessRights=[System.Security.AccessControl.FileSystemRights]”FullControl” $InheritanceFlags=[System.Security.AccessControl.InheritanceFlags]”ContainerInherit, ObjectInherit” $PropagationFlags=[System.Security.AccessControl.PropagationFlags]”None” $AccessControl=[System.Security.AccessControl.AccessControlType]”Allow” # Build Access Rule from parameters $AccessRule=NEW-OBJECT System.Security.AccessControl.FileSystemAccessRule($IdentityReference,$FileSystemAccessRights,$InheritanceFlags,$PropagationFlags,$AccessControl) # Get current Access Rule from Home Folder for User $HomeFolderACL=GET-ACL $homedir $HomeFolderACL.AddAccessRule($AccessRule) SET-ACL –path $homedir -AclObject $HomeFolderACL Write-Host "$homedir wurde für Benutzer $username erstellt." Set-ADUser -Identity $username -streetAddress "Strasse" Set-ADUser -Identity $username -office "Ort" Set-ADUser -Identity $username -city "Ort" Set-ADUser -Identity $username -state "Bundesland" Set-ADUser -Identity $username -postalCode "PLZ" Write-Host "Der Standort von $username wurde auf Ort gesetzt." Set-ADUser -Identity $username -Title $jobtitle Write-Host "Der Jobtitel von $username wurde auf $jobtitle geaendert." Set-ADUser -Identity $username -Department $department Write-Host "Die Abteilung von $username wurde auf $department geaendert." Set-ADUser -Identity $username -Manager $head Write-Host "Der Head von $username wurde auf $head geaendert." Set-ADUser -Identity $username -Company "Firma GmbH" Write-Host "Die Firma von $username wurde auf Firma GmbH geaendert." }
Benutzer im Exchange (Online) anlegen und Standort festlegen:
function create_exchange_user { New-Mailbox -Alias $username -Name $fullname -FirstName $firstname -LastName $secondname -DisplayName $fullname -MicrosoftOnlineServicesID $useremail -Password (ConvertTo-SecureString -String $userpw -AsPlainText -Force) -ResetPasswordOnNextLogon $true Set-User -Identity $useremail -Title $jobtitle Write-Host "Der Jobtitel von $useremail wurde auf $jobtitle geaendert." Set-User -Identity $useremail -Department $department Write-Host "Die Abteilung von $useremail wurde auf $department geaendert." Set-User -Identity $useremail -Manager $head Write-Host "Der Head von $useremail wurde auf $head geaendert." Set-User -Identity $useremail -Company "Firma GmbH" Write-Host "Die Firma von $useremail wurde auf Firma GmbH geaendert." Set-User -Identity $useremail -streetAddress "Straße" Set-User -Identity $useremail -office "Ort" Set-User -Identity $useremail -city "Ort" Set-User -Identity $useremail -state "Bundesland" Set-User -Identity $useremail -postalCode "PLZ" Write-Host "Der Standort von $username wurde auf Ort gesetzt."
Set-MsolUser -UserPrincipalName $useremail -UsageLocation "DE"
Write-Host "Der Benutzerstandort von $username wurde auf DE gesetzt"
Set-MsolUserLicense -UserPrincipalName $useremail -AddLicenses "asdasd:EXCHANGESTANDARD"
Write-Host "Dem Benutzer $username wurde eine Exchange Online (Plan 1 ) Lizenz zugewiesen."
Set-MsolUserLicense -UserPrincipalName $useremail -AddLicenses "asdasd:O365_BUSINESS"
Write-Host "Dem Benutzer $username wurde eine Office 365 Business Lizenz zugewiesen." }
Ich hoffe es nützt Dir etwas, wenigstens um einen Anfang zu haben. Hinzufügen zu Gruppen, Verteiler etc habe ich jetzt mal rausgelassen.
Die Befehle dazu lauten:
Add-ADGroupMember -Identity Gruppenname -Members $username
Add-DistributionGroupMember -Identity SMTPAdressedesVerteilers -Member $useremail -Confirm:$false
Freundliche Grüße
SandroMCSA: Windows Server 2012 in spe ;)
Fachinformatiker Fachrichtung Systemintegration (IHK, 07/2013)XING: Zum Profil
LinkedIn: Zum Profil
Facebook: Zum Profil
- Bearbeitet SandroReiter Dienstag, 9. August 2016 08:24
- Als Antwort vorgeschlagen SandroReiter Donnerstag, 18. August 2016 07:54
- Als Antwort markiert Mihaela ParedesMicrosoft contingent staff, Moderator Donnerstag, 1. September 2016 11:00
-
Hi,
das AD Verwaltungcenter hilft dir da schon um einiges weiter(dazu gibt es auch z.B Videos bei youtube)
Scripte findest du ebenfalls , wie geschrieben, haufenweise im Netz oder hier im Thread.
Du Kannst auch mit Vorlageusern arbeiten.Dazu die Einstellungen(Adresse,Website etc.) vornehmen und die Pfade über Varibalen füllen,
z.B. den Profilpfad mit \\Server\Benutzer\%username% angeben
%username% wird dann automatisch befüllt.
Das hängt allerdings alles auch, wie Evgenij geschrieben hat, von den Anforderungen und dem Aufwand ab
Gruß Toni! Wenn Dir meine Antwort hilft, markiere sie bitte als Antwort! Vielen Dank!
- Bearbeitet tonibert Dienstag, 9. August 2016 08:41
- Als Antwort markiert Mihaela ParedesMicrosoft contingent staff, Moderator Donnerstag, 1. September 2016 11:00
Alle Antworten
-
Hallo Peter,
über das Active Directory Verwaltungscenter kannst du dir alle Aufgaben welche du über die GUI machst als Powershell Skript ausgeben lassen.
Benjamin Hoch
MCSE: Data Platform
MCSA: SQL Server 2012/2014
MCSA: Windows Server 2012
Blog -
Moin,
Zur Not müsste ich mir eine eigenes Script bauen, was aber etwas(viel) länger dauern würde.
...das Ergebnis aber genau Deine Gegebenheiten widerspiegeln würde. Es gibt im Internet tonnenweise User-Anlegeskripte (Google hilft hier weiter), viele machen Exchange mit, einige auch Lync und einige wenige SharePoint - jedoch musst Du die Parameter, die umgebungsspezifisch sind, immer irgendwie übergeben.
Du musst realistisch bewerten, wie variabel Dein Provisionierungsprozess tatsächlich ist. Ist er halbwegs starr, dann hast Du das Skript vermutlich schneller selber geschrieben als 3-4 Sachen aus dem Internet zu evaluieren, durch das jeweilige Parameter Set durchzusteigen usw. Wenn eine hohe Variabilität erforderlich ist, lohnt es sich vermutlich, ein paar Stunden in die Suche und Evaluierung zu investieren.
Denk bei so etwas bitte auch immer an die Deprovisionierung - gerade bei temporären Arbeitskräften steht dieser Teil des Identity Lifecycle immer wieder an.
Evgenij Smirnov
msg services ag, Berlin -> http://www.msg-services.de
my personal blog (mostly German) -> http://it-pro-berlin.de
Windows Server User Group, Berlin -> http://www.winsvr-berlin.de
Mark Minasi Technical Forum, reloaded -> http://newforum.minasi.comIn theory, there is no difference between theory and practice. In practice, there is.
- Als Antwort markiert Mihaela ParedesMicrosoft contingent staff, Moderator Donnerstag, 1. September 2016 11:00
-
Hallo Peter,
mein Skript ist sehr auf die hier laufende AD-Struktur angepasst, daher musst Du es für Dich noch mal anpassen. Normalweise habe ich auch noch eine GUI davor, da das aber über 1000 Codezeilen sind, poste ich nur einen Teil der eigentlichen Funktionen.
User im AD anlegen, mit Basisverzeichnis und setzen diverser Attribute:
function create_ad_user { New-ADUser -SamAccountName $username -GivenName $firstname -Surname $secondname -DisplayName $fullname -Name $fullname -UserPrincipalName $upn -Path $adpath -AccountPassword (ConvertTo-SecureString -AsPlainText $userpw -Force) -EmailAddress $useremail -HomeDrive "H:" -HomeDirectory $homedir Write-Host "Der Benutzer $username wurde unter $adpath angelegt." Set-ADUser -Identity $username -ChangePasswordAtLogon $true Set-ADUser -Identity $username -Enabled $true Write-Host "Der Benutzer $username wurde aktiviert." # Create the folder on the root of the common Users Share NEW-ITEM –path $homedir -type directory -force $IdentityReference='DOMAIN\’+$username # Set parameters for Access rule $FileSystemAccessRights=[System.Security.AccessControl.FileSystemRights]”FullControl” $InheritanceFlags=[System.Security.AccessControl.InheritanceFlags]”ContainerInherit, ObjectInherit” $PropagationFlags=[System.Security.AccessControl.PropagationFlags]”None” $AccessControl=[System.Security.AccessControl.AccessControlType]”Allow” # Build Access Rule from parameters $AccessRule=NEW-OBJECT System.Security.AccessControl.FileSystemAccessRule($IdentityReference,$FileSystemAccessRights,$InheritanceFlags,$PropagationFlags,$AccessControl) # Get current Access Rule from Home Folder for User $HomeFolderACL=GET-ACL $homedir $HomeFolderACL.AddAccessRule($AccessRule) SET-ACL –path $homedir -AclObject $HomeFolderACL Write-Host "$homedir wurde für Benutzer $username erstellt." Set-ADUser -Identity $username -streetAddress "Strasse" Set-ADUser -Identity $username -office "Ort" Set-ADUser -Identity $username -city "Ort" Set-ADUser -Identity $username -state "Bundesland" Set-ADUser -Identity $username -postalCode "PLZ" Write-Host "Der Standort von $username wurde auf Ort gesetzt." Set-ADUser -Identity $username -Title $jobtitle Write-Host "Der Jobtitel von $username wurde auf $jobtitle geaendert." Set-ADUser -Identity $username -Department $department Write-Host "Die Abteilung von $username wurde auf $department geaendert." Set-ADUser -Identity $username -Manager $head Write-Host "Der Head von $username wurde auf $head geaendert." Set-ADUser -Identity $username -Company "Firma GmbH" Write-Host "Die Firma von $username wurde auf Firma GmbH geaendert." }
Benutzer im Exchange (Online) anlegen und Standort festlegen:
function create_exchange_user { New-Mailbox -Alias $username -Name $fullname -FirstName $firstname -LastName $secondname -DisplayName $fullname -MicrosoftOnlineServicesID $useremail -Password (ConvertTo-SecureString -String $userpw -AsPlainText -Force) -ResetPasswordOnNextLogon $true Set-User -Identity $useremail -Title $jobtitle Write-Host "Der Jobtitel von $useremail wurde auf $jobtitle geaendert." Set-User -Identity $useremail -Department $department Write-Host "Die Abteilung von $useremail wurde auf $department geaendert." Set-User -Identity $useremail -Manager $head Write-Host "Der Head von $useremail wurde auf $head geaendert." Set-User -Identity $useremail -Company "Firma GmbH" Write-Host "Die Firma von $useremail wurde auf Firma GmbH geaendert." Set-User -Identity $useremail -streetAddress "Straße" Set-User -Identity $useremail -office "Ort" Set-User -Identity $useremail -city "Ort" Set-User -Identity $useremail -state "Bundesland" Set-User -Identity $useremail -postalCode "PLZ" Write-Host "Der Standort von $username wurde auf Ort gesetzt."
Set-MsolUser -UserPrincipalName $useremail -UsageLocation "DE"
Write-Host "Der Benutzerstandort von $username wurde auf DE gesetzt"
Set-MsolUserLicense -UserPrincipalName $useremail -AddLicenses "asdasd:EXCHANGESTANDARD"
Write-Host "Dem Benutzer $username wurde eine Exchange Online (Plan 1 ) Lizenz zugewiesen."
Set-MsolUserLicense -UserPrincipalName $useremail -AddLicenses "asdasd:O365_BUSINESS"
Write-Host "Dem Benutzer $username wurde eine Office 365 Business Lizenz zugewiesen." }
Ich hoffe es nützt Dir etwas, wenigstens um einen Anfang zu haben. Hinzufügen zu Gruppen, Verteiler etc habe ich jetzt mal rausgelassen.
Die Befehle dazu lauten:
Add-ADGroupMember -Identity Gruppenname -Members $username
Add-DistributionGroupMember -Identity SMTPAdressedesVerteilers -Member $useremail -Confirm:$false
Freundliche Grüße
SandroMCSA: Windows Server 2012 in spe ;)
Fachinformatiker Fachrichtung Systemintegration (IHK, 07/2013)XING: Zum Profil
LinkedIn: Zum Profil
Facebook: Zum Profil
- Bearbeitet SandroReiter Dienstag, 9. August 2016 08:24
- Als Antwort vorgeschlagen SandroReiter Donnerstag, 18. August 2016 07:54
- Als Antwort markiert Mihaela ParedesMicrosoft contingent staff, Moderator Donnerstag, 1. September 2016 11:00
-
Hi,
das AD Verwaltungcenter hilft dir da schon um einiges weiter(dazu gibt es auch z.B Videos bei youtube)
Scripte findest du ebenfalls , wie geschrieben, haufenweise im Netz oder hier im Thread.
Du Kannst auch mit Vorlageusern arbeiten.Dazu die Einstellungen(Adresse,Website etc.) vornehmen und die Pfade über Varibalen füllen,
z.B. den Profilpfad mit \\Server\Benutzer\%username% angeben
%username% wird dann automatisch befüllt.
Das hängt allerdings alles auch, wie Evgenij geschrieben hat, von den Anforderungen und dem Aufwand ab
Gruß Toni! Wenn Dir meine Antwort hilft, markiere sie bitte als Antwort! Vielen Dank!
- Bearbeitet tonibert Dienstag, 9. August 2016 08:41
- Als Antwort markiert Mihaela ParedesMicrosoft contingent staff, Moderator Donnerstag, 1. September 2016 11:00