Добавить лицензии O365 с помощью PowerShell CSV импорта? - PullRequest
0 голосов
/ 31 октября 2018

У меня есть скрипт, который я использую для создания новых пользователей, и я хотел бы также добавить в него еще несколько строк, чтобы добавить лицензию 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" между двумя или в начале скрипта, но я просто не знаю, как объединить эти три команды с остальной частью скрипта.

Любая помощь будет принята с благодарностью.

Спасибо.

(кто-нибудь еще знает, как это сделать?)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...