【问题标题】:Powershell script assistance please [duplicate]请提供Powershell脚本帮助[重复]
【发布时间】:2019-09-23 18:26:47
【问题描述】:

我目前在尝试运行我编写的脚本时遇到 PowerShell 错误(从互联网上窃取)

我想要实现的是在多个 O365 通讯组之一中搜索特定用户的电子邮件地址,然后如果该组符合条件,则从该组中删除该用户。

这些组都以文本“EX_SIG”为前缀,我能够识别出用户所属的一个组,但我正在努力将其转换为将用户从识别的组中删除。

我是一个完整的 PowerShell 新手,因此我们将不胜感激。

代码:

$UAC_email = "sarah.connor@skynet.com"

$UAC_EX_GROUP = Get-DistributionGroup -identity "EX_SIG*" | where { (Get-DistributionGroupMember $_.name | foreach {$_.PrimarySmtpAddress}) -contains "$UAC_email"} | FT name -HideTableHeaders

Remove-DistributionGroupMember -Identity $UAC_EX_GROUP -Member "$UAC_email"

错误:

无法将参数绑定到参数“Identity”,因为它为空。

【问题讨论】:

  • 所以您有一个用户,如果他们是任何名称匹配 EX_SIG* 的组的成员,那么您想将他们从组中删除?

标签: windows powershell office365


【解决方案1】:

FT (Format-Table) cmdlet 可能会导致您的大部分问题。您不应该尝试使用格式化 cmdlet 的输出,除非使用 out-* 命令。

Format- cmdlet 输出主机用来格式化显示的“排版”对象,而不是管道可用的对象。

$UAC_email = "sarah.connor@skynet.com"

$UAC_EX_GROUP = Get-DistributionGroup -identity "EX_SIG*" | where { (Get-DistributionGroupMember $.name | foreach {$.PrimarySmtpAddress}) -contains "$UAC_email"}

Remove-DistributionGroupMember -Identity $UAC_EX_GROUP -Member "$UAC_email"

【讨论】:

    【解决方案2】:

    试试这个,因为它比您发布的代码更简洁,但应该可以实现您的目标。

    $UAC_email = "sarah.connor@skynet.com"  
    
    #Get list of distribution groups where identity matches "EX_SIG*" and the email address your looking for is in the list of the group members's primary smtp addresses
    $UAC_EX_GROUPS = (Get-DistributionGroup -Identity "EX_SIG*") | Where-Object{(Get-DistributionGroupMember -Identity $_.Name).PrimarySmtpAddress -contains $UAC_email}
    
    #Iterate over returned groups and remove the member from the group. I put a WHATIF in there so you can verify the output before just running it. You can also pipe this directly before the closing '}' in the previous command but it's less readable that way
    $UAC_EX_GROUPS | Remove-DistributionGroupMember -Identity $_.Name -Member $UAC_email -WhatIf
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-06-06
      • 2011-10-25
      • 2018-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-17
      相关资源
      最近更新 更多