gpt4 book ai didi

powershell - 调用命令问题

转载 作者:行者123 更新时间:2023-12-03 00:10:04 24 4
gpt4 key购买 nike

在我的脚本中,我希望将Exchange Online通讯组成员添加到数组$members_id中。

我想在远程服务器上运行cmdlet Get-DistributionGroupMember,所以它看起来像这样:

Invoke-Command -Session $Session -ScriptBlock {
$members_id = Get-DistributionGroupMember -Identity "power_shell_test"
} -ArgumentList $members_id

运行此后,我得到一个错误:

The syntax is not supported by this runspace. This can occur if the runspace is in no-language mode.



image

当我删除 $members_id =时,它运行良好。

请告诉我您是否知道它为什么这样工作。

最佳答案

我不太确定为什么会收到错误(可能是由于您打开$Session的方式所致),但是如果要在本地变量Get-DistributionGroupMember中输出远程命令$members_id,则需要将代码更改为如下所示:

$members_id = Invoke-Command -Session $Session -ScriptBlock {
Get-DistributionGroupMember -Identity "power_shell_test"
}

仅当您要将要解析其成员的组的ID传递到脚本块中时,才使用 -ArgumentList。您可以使用 Param()指令将参数分配给脚本块中的变量:
$members_id = Invoke-Command -Session $Session -ScriptBlock {
Param($id)
Get-DistributionGroupMember -Identity $id
} -ArgumentList $group_id

或使用 automatic variable $args:
$members_id = Invoke-Command -Session $Session -ScriptBlock {
Get-DistributionGroupMember -Identity $args[0]
} -ArgumentList $group_id

或者,您可以通过 using: scope modifier访问脚本块之外的变量:
$members_id = Invoke-Command -Session $Session -ScriptBlock {
Get-DistributionGroupMember -Identity $using:group_id
}

关于powershell - 调用命令问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51058753/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com