Lync Powershell启用组成员
我正在尝试为Enterprise Voice自动启用一个组的成员,我有以下几点(我知道很粗略),如果只有一个成员,这一点很有效:Lync Powershell启用组成员,powershell,lync,Powershell,Lync,我正在尝试为Enterprise Voice自动启用一个组的成员,我有以下几点(我知道很粗略),如果只有一个成员,这一点很有效: $telephoneNumber=Get-ADGroupMember-Identity“LynchEnterpriseVoice”| Get-ADUser-Properties-telephoneNumber | Select Object-ExpandProperty-telephoneNumber $ext=获取ADGroupMember-标识“Lync Ente
$telephoneNumber=Get-ADGroupMember-Identity“LynchEnterpriseVoice”| Get-ADUser-Properties-telephoneNumber | Select Object-ExpandProperty-telephoneNumber
$ext=获取ADGroupMember-标识“Lync EnterpriseVoice”|获取ADUser-属性其他电话|选择对象-扩展属性其他电话
Get-ADGroupMember-Identity“LynchEnterpriseVoice”| foreach{Get ADUser$\.SamAccountName | foreach{Set-CSuser-Identity$\\.UserPrincipalname–EnterpriseVoiceEnabled$True–LineUri“电话:$telephoneNumber;ext=$ext”}
我想不出如何为其他电话和电话号码打电话。有人能给我指出正确的方向吗。这不是一个明确的答案,但应该能帮助你:
- 您连续三次调用Get-ADGroupMember-Identity“LyncEnterpriseVoice”。不要这样做——这样做效率很低,如果每次都得不到相同的结果,甚至会导致不一致。只需调用一次并将其分配给变量,然后每次都使用该变量。如果给变量起一个好名字,这也会使代码更具可读性
- 确切地了解您想要实现的目标-您收集的对象是什么,它们具有什么属性,以及您想要迭代什么?我几乎无法从你的代码中得到这一点,而你似乎也没有对它有一个坚实的理解。一旦你明白了这一点,剩下的就很容易了
$users = Get-ADGroupMember -Identity LyncEnterpriseVoice | Get-ADUser -Properties telephoneNumber, othertelephone
让我们看看我们有什么:
$users
好的,这是一个包含我们需要的所有信息的对象数组,但出于好奇,它们到底是什么类型的对象
$users[0].GetType()
毫不奇怪,它们是成人的对象。让我们设置一些属性:
$users | foreach { Set-SCUser -Identity $_.UserPrincipalName –EnterpriseVoiceEnabled $true –LineUri "tel:$($_.telephoneNumber);ext=$($_.othertelephone)" }
请注意字符串中的子表达式$(…)
-这些是必需的,因为否则变量$将展开,其余的将按字面意思是“.telephoneNumber”
还有一件事:你写“tel:…;ext=…”,这是不一致的,看起来很奇怪-可能是打字错误?谢谢你的回复,我自然会考虑你的第一点,我会把它分配给一个变量。至于第二点,我得到了我想要的结果,但当有多个结果时,我不知道如何处理它。我假设必须使用foreach,但无法使其工作。非常感谢,它不仅更加优雅,而且完全符合我的要求。