Get-QADUser在一个返回数组的函数中

时间:2012-09-17 19:19:43

标签: powershell quest

function getNTAccounts {
    Add-PSSnapin Quest.ActiveRoles.ADManagement
connect-QADService

    $accounts = @()
   Get-QADUser -CreatedAfter (Get-Date).AddDays(-3) -SerializeValue | Select-Object "samaccountname" | Foreach-Object{ 
        $accounts += $_.samaccountname
   }

   Disconnect-QADService

   return ,$lastaccounts
}




$tmpResult = getNTAccounts

你能告诉我为什么我这样做了:

{Quest.ActiveRoles.ArsPowerShellSnapIn.Data.ArsADConnection, Account1 Account2}

我想得到一个简单的数组,但它在数组的第一个元素中包含这个字符串。

提前致谢,

1 个答案:

答案 0 :(得分:1)

尝试以下更改:

function getNTAccounts {
    Add-PSSnapin Quest.ActiveRoles.ADManagement
connect-QADService | Out-Null

    $accounts = @()
   Get-QADUser -CreatedAfter (Get-Date).AddDays(-3) -SerializeValue | Select-Object "samaccountname" | Foreach-Object{ 
        $accounts += $_.samaccountname
   }

   Disconnect-QADService

   return ,$accounts
}




$tmpResult = getNTAccounts

将Connect-QADService管道化为空可防止您输入的额外条目。请记住,发送到管道的所有内容都将被视为从函数返回。你还有$ lastaccounts而不是$ accounts,但我怀疑这是在发布问题时无意中完成的。