Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #Import needed module.
- Import-Module ActiveDirectory
- #Prompt for needed information to use as variables below
- $fullname = Read-Host "Enter Full Name"
- $first = Read-Host "First name"
- $last = Read-Host "Last name"
- $user = Read-Host "Username"
- $title = Read-Host "Title"
- Get-ADOrganizationalUnit -Filter * -Properties * -SearchBase "OU=Departments,OU=Users,OU=Test Enviorment,OU=New Zealand,OU=BNZ,DC=BNZTEST,DC=COM" |
- Select-Object -Property Name
- $department = Read-Host "Enter department from above list"
- $manager = Read-Host "Manager userame"
- $srcuser = Read-Host "Username to copy"
- Get-ADOrganizationalUnit -Filter * -Properties * -SearchBase "OU=Departments,OU=Users,OU=Test Enviorment,OU=New Zealand,OU=BNZ,DC=BNZTEST,DC=COM" |
- Select-Object -Property Name, DistinguishedName |
- Format-Table -Auto
- $OU = Read-Host "Select OU from above list"
- #Create a new user with the provided information and some static information
- New-ADUser -Name "$fullname" -GivenName "$first" -Surname "$last" -DisplayName "$first $last" -Description "$title" -EmailAddress "$first.$last@bnztest.com" -SamAccountName "$user" -UserPrincipalName "$user@bnztest.com" -Manager "$manager" -Title "$title" -AccountPassword (Read-Host -AsSecureString "Please enter the desired password") -Enabled $true -Path $OU
- #Add multiple ProxyAddresses if needed
- Set-ADUser "$user" -Add @{ProxyAddresses="smtp:$first.$last@bnztest.com"}
- #Copy group membership of the source user above
- Get-ADUser -Identity "$srcuser" -Properties memberof |
- Select-Object -ExpandProperty memberof |
- Add-ADGroupMember -Members "$user" -PassThru |
- Select-Object -Property SamAccountName >$null
- Write-Host 'CHECK AD REPLICATION BEFORE CONTINUING!'
- pause
- #Sync user to Office 365 using Dir Sync on a remote server
- Import-Module ADSync
- Start-ADSyncSyncCycle -PolicyType Initial
- Start-Sleep -s 100
- #License user in Office 365
- $AdminName = "admin@testbnz.onmicrosoft.com"
- $Pass = Get-Content "C:UsersAdministratorDesktopCreateUserCred.txt" |
- ConvertTo-SecureString
- $Cred = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $AdminName, $Pass
- Import-Module MSOnline
- Connect-MsolService -Credential $cred
- $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $cred -Authentication Basic -AllowRedirection
- Import-PSSession $Session
- Start-Sleep -s 15
- Set-MsolUser -UserPrincipalName "$user@bnztest.com" -UsageLocation 'US'
- Set-MsolUserLicense -UserPrincipalName "$user@bnztest.com" -AddLicenses "TESTBNZ:O365_BUSINESS_PREMIUM"
- Start-Sleep 90
- Write-Host 'ENSURE THERE ARE NO ERRORS AND THAT THE MAILBOX HAS BEEN CREATED BEFORE CONTINUING!'
- pause
- #Import needed module.
- Import-Module ActiveDirectory
- #Prompt for needed information to use as variables below
- $fullname = Read-Host "Enter Full Name"
- $first = Read-Host "First name"
- $last = Read-Host "Last name"
- $user = Read-Host "Username"
- $title = Read-Host "Title"
- Get-ADOrganizationalUnit -Filter * -Properties * -SearchBase "OU=Departments,OU=Users,OU=Test Enviorment,OU=New Zealand,OU=BNZ,DC=BNZTEST,DC=COM" |
- Select-Object -Property Name
- $department = Read-Host "Enter department from above list"
- $manager = Read-Host "Manager userame"
- $srcuser = Read-Host "Username to copy"
- Get-ADOrganizationalUnit -Filter * -Properties * -SearchBase "OU=Departments,OU=Users,OU=Test Enviorment,OU=New Zealand,OU=BNZ,DC=BNZTEST,DC=COM" |
- Select-Object -Property Name, DistinguishedName |
- Format-Table -Auto
- $OU = Read-Host "Select OU from above list"
- #Create a new user with the provided information and some static information
- New-ADUser -Name "$fullname" -GivenName "$first" -Surname "$last" -DisplayName "$first $last" -Description "$title" -EmailAddress "$first.$last@bnztest.com" -SamAccountName "$user" -UserPrincipalName "$user@bnztest.com" -Manager "$manager" -Title "$title" -AccountPassword (Read-Host -AsSecureString "Please enter the desired password") -Enabled $true -Path $OU
- #Add multiple ProxyAddresses if needed
- Set-ADUser "$user" -Add @{ProxyAddresses="smtp:$first.$last@bnztest.com"}
- #Copy group membership of the source user above
- Get-ADUser -Identity "$srcuser" -Properties memberof |
- Select-Object -ExpandProperty memberof |
- Add-ADGroupMember -Members "$user" -PassThru |
- Select-Object -Property SamAccountName >$null
- Write-Host 'CHECK AD REPLICATION BEFORE CONTINUING!'
- pause
- #Sync user to Office 365 using Dir Sync on a remote server
- Import-Module ADSync
- Start-ADSyncSyncCycle -PolicyType Initial
- Start-Sleep -s 100
- #License user in Office 365
- $AdminName = "admin@testbnz.onmicrosoft.com"
- $Pass = Get-Content "C:UsersAdministratorDesktopCreateUserCred.txt" |
- ConvertTo-SecureString
- $Cred = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $AdminName, $Pass
- Import-Module MSOnline
- Connect-MsolService -Credential $cred
- $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $cred -Authentication Basic -AllowRedirection
- Import-PSSession $Session
- Start-Sleep -s 15
- Set-MsolUser -UserPrincipalName "$user@bnztest.com" -UsageLocation 'US'
- Set-MsolUserLicense -UserPrincipalName "$user@bnztest.com" -AddLicenses "TESTBNZ:O365_BUSINESS_PREMIUM"
- Start-Sleep 90
- Write-Host 'ENSURE THERE ARE NO ERRORS AND THAT THE MAILBOX HAS BEEN CREATED BEFORE CONTINUING!'
- pause
- $yes = New-Object System.Management.Automation.Host.ChoiceDescription "&Yes",
- "Exits the loop."
- $no = New-Object System.Management.Automation.Host.ChoiceDescription "&No",
- "Allows to add another user."
- $options = [System.Management.Automation.Host.ChoiceDescription[]]($yes, $no)
- :OuterLoop do
- {
- $user = New-Object System.Management.Automation.Host.ChoiceDescription "&User", "User"
- $it = New-Object System.Management.Automation.Host.ChoiceDescription "&IT", "IT"
- $sales = New-Object System.Management.Automation.Host.ChoiceDescription "&Sales", "Sales"
- $OUoptions = [System.Management.Automation.Host.ChoiceDescription[]]($user, $it, $sales)
- $OU = $host.ui.PromptForChoice("Which OU", "Which OU", $OUoptions, 0)
- switch ($OU)
- {
- 0 {Write-Host "The choise is User."}
- 1 {Write-Host "IT"}
- 2 {Write-Host "Sales"}
- default {Write-Host "The color could not be determined."}
- }
- $result = $host.ui.PromptForChoice("Endless Loop", "Do you want to add another user?", $options, 1)
- switch ($result)
- {
- 1 {break OuterLoop}
- }
- }
- while ($y -ne 100)
- $SearchBase = "OU=Departments,OU=Users,OU=Test Enviorment,OU=New Zealand,OU=BNZ,DC=BNZTEST,DC=COM"
- $OUList = Get-ADOrganizationalUnit -SearchBase $SearchBase -Filter * -Properties Name,DistinguishedName | Select-Object -Property Name,DistinguishedName
- $OU = $OUList | Out-GridView -Title "Select OU and Click OK" -OutputMode Single
- New-ADUser [...] -OU $OU.DistinguishedName
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement