У меня есть скрипт, который я использую для создания новых пользователей, и я хотел бы также добавить в него еще несколько строк, чтобы добавить лицензию O365 к каждому новому созданному пользователю (свободные лицензии, уже существующие в O365), а затем предоставить одному пользователю доступ к каждому из этих пользовательских календарей и почтовых ящиков.
Мой рабочий код:
Import-Csv "C:\blablabla\filename.csv" | ForEach-Object {
New-ADUser -Name $_.Name `
-GivenName $_."GivenName" `
-Surname $_."Surname" `
-DisplayName $_."DisplayName" `
-SamAccountName $_."samAccountName" `
-UserPrincipalName $_."UserPrincipalName" `
-Path $_."Path" `
-AccountPassword (ConvertTo-SecureString “Pa$$w0rd” -AsPlainText -force) -Enabled $true `
-EmailAddress $_."EmailAddress" `
-ProfilePath $_."ProfilePath" `
-HomeDrive $_."HomeDrive" `
-HomeDirectory $_."HomeDirectory" `
-ScriptPath $_."ScriptPath" `
-Server $_."Server" `
}
Start-ADSyncSyncCycle -PolicyType Initial
Остальные строки, которые я должен добавить:
Set-MsolUserLicense -UserPrincipalName "@domain.com" -AddLicenses "domain:STANDARDPACK"
Add-MailboxPermission -Identity newuser@domain.com -User 'admin@domain.com' -AccessRight FullAccess -InheritanceType All -Automapping $false
Add-MailboxFolderPermission -Identity newuser@domain.com:\calendar -user admin@domain.com -AccessRights Editor
Моя проблема в том, что я не знаю, как добавить эти последние три команды в приведенный выше скрипт, чтобы эти три действия выполнялись для каждого пользователя, создаваемого из csv, и чтобы UPN-файлы были извлечены из csv .
У меня уже есть рабочий скрипт для подключения к O365 с сохраненными учетными данными перед этими тремя строками, а именно:
$AdminName = "admin@domain.com"
$Pass = Get-Content "C:\blablabla\O365Credentials.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
Полагаю, я мог бы просто добавить этот бит "connect to O365" между двумя или в начале скрипта, но я просто не знаю, как объединить эти три команды с остальной частью скрипта.
Любая помощь будет принята с благодарностью.
Спасибо.
(кто-нибудь еще знает, как это сделать?)