通过Powershell CSV导入添加O365许可证吗?

时间:2018-10-31 10:44:14

标签: powershell azure-active-directory office365

我有一个用于创建新用户的脚本,并且还想在其中添加几行,以便将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创建的每个用户执行这三个操作,并从csv中提取UPN

在这三行之前,我已经有一个工作脚本以保存的凭据连接到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

我想我可以在两者之间或在脚本的开头添加“连接到O365”位,但是,我只是不知道如何将这三个命令与脚本的其余部分合并。

任何帮助将不胜感激。

谢谢。

(还有其他人知道该怎么做吗?)

0 个答案:

没有答案