none
如何使用Exchange Powershell 批量创建地址列表机构? RRS feed

  • 问题


  •          需要使用powershell批量创建一批公司部门地址列表,根据csv文件中已经录入的公司所有部门名称,其中(Name)为变量,(Department)也是变量,并且在自定义属性1中设置(公司名+变量+固定中文)。目前遇到的问题是部门地址可以批量创建成功,但是填入的部门信息和自定义属性中无法使用变量生成。请教如何修改此条脚本达到目的?

    import-csv ‘d:\123.csv’ | foreach-object {New-AddressList -Name $_.JiGouMing -container “\所有用户\公司名” -RecipientFilter {(Alias -ne $null -and ((Department -eq ‘$_.JiGouMing ‘ -and Company -eq ‘公司名’) -or (CustomAttribute1 -eq ‘(公司名”+$_.JiGouMing+”固定中文)’ )))}}
    

    2019年1月10日 5:04

全部回复

  • 您好,

    经过我的测试,-RecipientFilter参数后面不接受一个变量,只能为一个固定的值,否则会被认为是空($Null). 如图:变量$temp.Department有具体的值,但是不能被-RecipientFilter属性识别。

    从这一篇文章中,我们也可以了解到RecipientFilter可以过滤的属性(需要为字符串):-RecipientFilter 参数的可筛选属性

    所以当我们需要通过变量来作为筛选条件的时候我们需要换一种方法:

    $temps = import-csv c:/temp/de.csv
    
    foreach ($temp in $temps) {    
        New-AddressList -Name $temp.Name -IncludedRecipients MailboxUsers -ConditionalDepartment $temp.Department -ConditionalCompany "ex"
    }

    参数指定是并列关系,所以只存在“-and”,不存在“-or”这一种条件,不能实现您的第三个筛选条件。

    该方法在图形界面效果:

    我使用的CSV文件:

    以上为服务器可以接受的批量操作的情况,您可以根据您环境的具体情况进行取舍。

    此致,

    Kyle Xu


    如果以上回复对您有所帮助,建议您将其“标记为答复”. 如果您对我们的论坛支持有任何的建议,可以通过此邮箱联系我们:tnsf@microsoft.com.

    2019年1月10日 9:49
    版主
  • 您好,

    请问以上建议是否有效呢?

    如果以上建议有效,请把它标记成答案以帮助更多有类似需求的用户。

    此致,

    Kyle Xu


    如果以上回复对您有所帮助,建议您将其“标记为答复”. 如果您对我们的论坛支持有任何的建议,可以通过此邮箱联系我们:tnsf@microsoft.com.

    2019年1月25日 2:25
    版主