我正在将用户从一个 Lync Server 池批量移动到另一个池,这需要我有一个包含我要移动的用户名的 CSV。对于熟悉 PowerShell 的人来说,应该能够看到我给它提供了 csv 文件名,然后在 userarray 中导入文件,之后我想从用户 LineURI 中删除“+”符号。即:从电话:+ 5556667777 我想将其更改为电话:5556667777,然后我想更改用户的拨号计划,最后我想将用户从池X迁移到池Y。
虽然这一切似乎都应该工作,但当我运行脚本时,它会清空/擦除我打算迁移的人的 LineURI,我显然不知道我错过了什么,我们将不胜感激。
更新:已修复,方法如下:
$File = "C:\Location\users.csv"
$UserArray = Import-CSV -Path $File
$transcriptname = "F:\Transcript\Users_Logs" + `
(Get-Date -format s).Replace(":","-") +".txt"
Start-Transcript $transcriptname
Foreach ($user in $UserArray)
{
$Tel = Get-CSUser -Identity $user.SAMAccountName
$URI = $Tel.LineURI
#$TelNew = $URI.Replace("tel:+", "tel:")
$TelNew = $URI.Replace("+", "")
Get-CSUser -Identity $user.SAMAccountName
Set-CSUser -Identity $user.SAMAccountName -LineURI $TelNew
Grant-CSDialPlan -Identity $user.SAMAccountName -PolicyName "New_Dial_Plan"
Move-CsUser -Identity $user.SAMAccountName -Target new.pool.com -confirm:$false
Get-CSUser -Identity $user.SAMAccountName
}
Stop-Transcript
users.csv 必须采用以下格式:
第一行应该有单词 SAMAccountName 和用户 ID 的后续行,即:
SamAccountName 用户 ID1 用户 ID2 用户 ID3...