add-multipleusers.psm1
<#
.Synopsis Anlegen von AD Benutzern .DESCRIPTION Dieses Script legt Benutzer in einer AD an, als Datenquelle dient eine CSV Datei mit folgenden Eintraegen Homedrive,Homedirectory,Path,Firstname,Lastname,Password "F:","\\MMBBS-DATA1\Home\IT-15","OU=FISI15Z,OU=IT-15,OU=IT,OU=Schüler,DC=mmbbs,DC=local","Jörg","Tuttas4","Tuttas1!!!" .EXAMPLE Add-ADUsers -tablename users.csv .EXAMPLE Add-ADUsers -tablename users.csv -computername 192.168.12.132 #> function add-ADUsers { Param ( # Name (Pfad) der CSV-Datei [Parameter(Mandatory=$true, Position=0)] $csv, # Name oder IP des AD Computers, um via Remote Powershell die Benutzer anzulegen $computer="127.0.0.1" ) Begin { $add= { Param ( # Hilfebeschreibung zu Param1 [Parameter(Mandatory=$true, ValueFromPipeline=$true, Position=0)] $daten ) Begin { } Process { foreach ($row in $daten) { # Neuen Benutzer Anlegen try { $pw = ConvertTo-SecureString -AsPlainText $row.Password -Force New-ADUser -Name $row.Lastname -surname $row.Firstname -GivenName $row.Lastname -UserPrincipalName $row.Lastname -Enabled $true -AccountPassword $pw -Path $row.Path -homedrive $row.HomeDrive -homedirectory $row.Homedirectory Write-Host "Benutzer "($row.Lastname)" erfolgreich angelegt" -ForegroundColor Green } catch { Write-Host "Benutzer "($row.Lastname)" konnte nicht angelegt werden:"$_.Exception.Message -ForegroundColor Red } } } End { } } } Process { $d=Import-Csv $csv try { Invoke-Command -ComputerName $computer -Credential Administrator -ScriptBlock $add -ArgumentList $d } catch { Write-Host "Kann ScriptBlock nicht auf Computer "$computer" ausführen" -ForegroundColor Red } } End { } } Export-ModuleMember -Function add-ADUsers |