我试图通过get-aduser获取用户数和实际用户信息,但失败了。
Get-ADUser -Server $test -Credential $1cred -Filter{enabled -eq $true} | Where-Object { $_.DistinguishedName -notlike '*OU=.Service Accounts,*' -and $_.samaccountname -notlike '*health*' } | Select-object Samaccountname,surname,givenname | Where { $excludedusers -NotContains$_.Samaccountname } | format-list > 'C:\Scripts\Test\enabled_users_and count.csv'
是当前代码。我可以在format-list之前添加一个.count,例如:
(Get-ADUser -Server $test -Credential $1cred -Filter{enabled -eq $true} | Where-Object { $_.DistinguishedName -notlike '*OU=.Service Accounts,*' -and $_.samaccountname -notlike '*health*' } | Select-object Samaccountname,surname,givenname | Where { $excludedusers -NotContains$_.Samaccountname }).count
但是我只得到用户数,如前所述,我需要两者。
非常感谢您的帮助。
答案 0 :(得分:0)
您需要两件事,Count不必是csv中的一个字段,您可以通过最终输出的行数来获取它
您可能需要计数以供控制台使用,但是将其保存在最终输出中在逻辑上是不合适的。 (如果我理解正确)
您可以将其保存到变量中,然后进行导出或计数检查...
$Users = Get-ADUser -Server $test -Credential $1cred -Filter{enabled -eq $true} |
Where-Object { $_.DistinguishedName -notlike '*OU=.Service Accounts,*' -and $_.samaccountname -notlike '*health*' } |
Where { $excludedusers -NotContains $_.Samaccountname }
导出:
$Users | Select-object Samaccountname,surname,givenname |
Export-CSV 'C:\Scripts\Test\enabled_users_and count.csv'
检查计数:
$Users.Count