创建了以下脚本以从 CSV 创建多个房间邮箱,但出现以下错误:
- 找不到与参数名称“编码”匹配的参数。
- 无法将争论绑定到参数“名称”,因为它是一个空字符串。
- 无法与参数“身份”争论,因为它为空。
$roomlist = Import-csv C:\temp\rooms.csv -Encoding ASCII
$orgunit = "OU=************"
foreach($room in $roomlist){
$roomname = $room.Fullname
#write-host $roomname
$first = $room.Site
$last = $room.Room
$capacity = $room.cap
$mailalias = $room.Fullname -replace '\W',''
$mail = $mailalias + "@***email address***"
$samaccountname = $room.samaccountname
$upnname = $samaccountname + "@***email address***"
#write-host $roomname $mail $capacity $mailalias $samchop
write-host $samaccountname
New-Mailbox -Name $roomname -Room -SamAccountName $samaccountname -FirstName $first -LastName $last -UserPrincipalName $upnname -PrimarySmtpAddress $mail -alias $mailalias -ResourceCapacity $capacity -Database 'DBNAME' -OrganizationalUnit $orgunit
#set-CalendarProcessing $roomname -AutomateProcessing autoaccept
Set-Mailbox -HiddenFromAddressListsEnabled $true -Identity $roomname
}
你的 PowerShell 的版本是什么?运行命令
Get-Host
查看(Version
):对于第一个错误
A parameter cannot be found the matches parameter name 'Encoding'.
,“参数 -Encoding 在 PowerShell 3.0 中引入”:Source,因此,如果您的 PowerShell 版本低于 3.0,则无法使用此参数,您需要在脚本中将其删除或升级 PowerShell 版本。对于第二个和第三个错误,似乎它们与 .csv 文件的格式有关。请检查您的 .csv 文件格式是否正确,转换为 .txt 的 .csv 文件应如下所示(
"Object1", "Object2"
):-Encoding
供您参考:编辑:但是,有两个属性(名字和姓氏)无法通过
Get-Mailbox
cmdlet 查找,您需要运行以下命令才能找到它们: