我有一个用于创建新用户的脚本,并且还想在其中添加几行,以便将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”位,但是,我只是不知道如何将这三个命令与脚本的其余部分合并。
任何帮助将不胜感激。
谢谢。
(还有其他人知道该怎么做吗?)