Hay-ADKIT.psm1
<# Skript för Skapa användare från CSV fil.
Hayder Alshiblawi #> Function New-HayOU { $oufile= Import-Csv "C:\myscript\OUStruct.csv" foreach ($ou In $oufile) { $ouname = $ou.ouname $oupath = $ou.oupath Write-Output "Creating $ouname..." New-ADOrganizationalUnit -Name "$ouname" -Path "$oupath" Write-Host -ForegroundColor Black -BackgroundColor Green "OU $ouname is created in this location $oupath" } } Function New-HayADUsers { Import-Module activedirectory $ADUsers = Import-csv "C:\myscript\Users.csv" foreach ($User in $ADUsers) { $Username = $User.username $Password = $User.password $Firstname = $User.firstname $Lastname = $User.lastname $OU = $User.ou $email = $User.email $streetaddress = $User.streetaddress $city = $User.city $zipcode = $User.zipcode $state = $User.state $country = $User.country $telephone = $User.telephone $jobtitle = $User.jobtitle $company = $User.company $department = $User.department $Password = $User.Password if (Get-ADUser -Filter {SamAccountName -eq $Username}) { Write-Warning "A user account with username $Username already exist in Active Directory." } else { New-ADUser ` -SamAccountName $Username ` -UserPrincipalName "$Username@ARK.se" ` -Name "$Firstname $Lastname" ` -GivenName $Firstname ` -Surname $Lastname ` -Enabled $True ` -DisplayName "$Lastname, $Firstname" ` -Path $OU ` -City $city ` -Company $company ` -State $state ` -StreetAddress $streetaddress ` -OfficePhone $telephone ` -EmailAddress $email ` -Title $jobtitle ` -Department $department ` -AccountPassword (convertto-securestring $Password -AsPlainText -Force) -ChangePasswordAtLogon $True } } } Function New-HayGroups { $groups = Import-Csv "C:\myscript\groups.csv" foreach($group in $groups) { New-ADGroup ` -Name $group.name ` -Path “OU=Groups,OU=ARK,DC=ARK,DC=se” ` -GroupCategory Security ` -GroupScope Global ` } } Function Add-HayUsersToGroups { $csvfile = Import-Csv "C:\myscript\UsersToGroups.csv" foreach ($item in $csvfile) { $Users = $item.users $Groups = $item.groups foreach ($Group in $Groups) { $ListOfGroupMembers = Get-ADGroupMember -Identity $Group | Select-Object -ExpandProperty SamAccountName if ($ListOfGroupMembers -notcontains $Users) { Add-ADGroupMember $Group -Members $Users } } } } Function Add-HayJoinDomain { # Auto Join Domain $domain = Read-Host -Prompt "Enter domain name" $user = Read-Host -Prompt "Enter username" $password = Read-Host -Prompt "Enter password for $user" -AsSecureString $username = "$domain\$user" $credential = New-Object System.Management.Automation.PSCredential($username,$password) Add-Computer -DomainName $domain -Credential $credential } |