Але*_*цко 3 powershell exchange-server
在我的脚本中,我希望将 Exchange Online 通讯组成员添加到我的阵列中$members_id。
Get-DistributionGroupMember我想在远程服务器上运行 cmdlet,所以它看起来像这样:
Invoke-Command -Session $Session -ScriptBlock {
$members_id = Get-DistributionGroupMember -Identity "power_shell_test"
} -ArgumentList $members_id
Run Code Online (Sandbox Code Playgroud)
运行后我得到一个错误:
此运行空间不支持该语法。如果运行空间处于无语言模式,则可能会发生这种情况。
当我删除$members_id =它时运行良好。
如果您知道为什么会这样,请告诉我。
我不太清楚为什么你会收到错误(可能是因为你打开的方式),但如果你想在本地变量中$Session输出远程命令,你需要将代码更改为如下所示:Get-DistributionGroupMember$members_id
$members_id = Invoke-Command -Session $Session -ScriptBlock {
Get-DistributionGroupMember -Identity "power_shell_test"
}
Run Code Online (Sandbox Code Playgroud)
-ArgumentList仅当您想要将要解析其成员的组的 ID 传递到脚本块时才使用。您可以使用指令将参数分配给脚本块内的变量Param():
$members_id = Invoke-Command -Session $Session -ScriptBlock {
Param($id)
Get-DistributionGroupMember -Identity $id
} -ArgumentList $group_idRun Code Online (Sandbox Code Playgroud)
或使用自动变量 $args:
$members_id = Invoke-Command -Session $Session -ScriptBlock {
Get-DistributionGroupMember -Identity $args[0]
} -ArgumentList $group_idRun Code Online (Sandbox Code Playgroud)
using: 或者,您可以通过作用域修饰符访问脚本块外部的变量:
$members_id = Invoke-Command -Session $Session -ScriptBlock {
Get-DistributionGroupMember -Identity $using:group_id
}Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1613 次 |
| 最近记录: |