2014-07-27 2 views
1

가져온 세션 창에서 실행 중입니다. 그게 중요한지 확실하지 않습니다.powershell은 함수에서 -outvariable + 변수를 통해 객체를 추가합니다.

몇 가지 변수 값을 함수의 배열에 추가하려고합니다. 내가 강조하고 그들이 잘 작동 PowerShell은 ISE의 ​​라인을 실행하고 변수 $ 광고 그룹을 생성하고 결합 된 데이터가있는

$Session = New-PsSession -ConfigurationName Microsoft.Exchange -ConnectionUri "http://emailserver/powershell/" -Authentication Kerberos 
Import-PsSession $Session -allowclobber 
Add-PsSnapin Microsoft.SharePoint.PowerShell 

$group1 = "Accounting" 
$group2 = "HR" 

function AddUsersToGroups { 
    Write-output $Group1 -outvariable +Adgroups 
    Write-output $Group2 -outvariable +Adgroups 
} 

.

그러나 내가 본 모든 기능은 출력이며 변수는 생성되지 않습니다.

PS C:\Windows\system32> AddUserToGroups 
Group1 
Group2 

Kinda Stumped. 변수 $AdGroups = @()을 첫 번째 줄로 만들려고했으나 실패했습니다.

답변

2

달성하려는 목표를 정확하게 모르지만 AdGroups 변수는 AddUsersToGroups 함수의 범위에서만 사용할 수 있습니다. 아래처럼 script: 범위를 추가 할 것입니다 이것을 해결

한 가지 방법 :

Function AddUsersToGroups{ 
    Write-output $Group1 -outvariable +script:Adgroups 
    Write-output $Group2 -outvariable +script:Adgroups 
} 

지금 당신은 함수가 호출 된 후 외부 $Adgroups에 액세스 할 수 있어야합니다.

관련 문제