Function powershell通过-outvariable+;函数中的变量

Function powershell通过-outvariable+;函数中的变量,function,powershell,Function,Powershell,我正在导入的会话窗口中运行。不知道这是否重要 我试图向函数中的数组添加一些变量值 $Session=New PsSession-ConfigurationName Microsoft.Exchange-ConnectionUri”http://emailserver/powershell/“-身份验证Kerberos 导入PsSession$会话-allowclobber 在Microsoft.SharePoint.PowerShell中添加PSSNaps $group1=“会计” $group

我正在导入的会话窗口中运行。不知道这是否重要

我试图向函数中的数组添加一些变量值

$Session=New PsSession-ConfigurationName Microsoft.Exchange-ConnectionUri”http://emailserver/powershell/“-身份验证Kerberos
导入PsSession$会话-allowclobber
在Microsoft.SharePoint.PowerShell中添加PSSNaps
$group1=“会计”
$group2=“HR”
函数AddUsersToGroups{
写入输出$Group1-outvariable+Adgroups
写入输出$Group2-outvariable+Adgroups
}
当我突出显示并运行Powershell ISE中的行时,它们工作正常,并创建变量$AdGroups,组合数据就在那里

但是当我运行函数时,我看到的只是输出,没有创建任何变量

PS C:\Windows\system32>addusertogroup
第一组
第2组

有点难倒了。我试图创建一个变量
$AdGroups=@()
作为第一行,但也失败了

不确定您想要实现什么,但是
AdGroups
变量仅在
AddUsersToGroups
函数的范围内可用

解决此问题的一种方法是添加
脚本:
范围,如下所示:

Function AddUsersToGroups{
  Write-output $Group1 -outvariable +script:Adgroups
  Write-output $Group2 -outvariable +script:Adgroups
}
现在,调用函数后,您应该能够在外部访问
$Adgroups