1

我正在将用户从一个 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...

4

0 回答 0