免责声明:我对powershell不好,这主要是在托管代码中进行的。如果这做得不好或是一个愚蠢的问题,我深感抱歉。
我试图按公司(ET)以及他们是否在特定组中来筛选公司中的ACTIVE用户。
因此,针对“ ET”公司中的ACTIVE用户的过滤器正常工作,此脚本的输出为我提供了具有该参数的所有活动用户;它不会将其进一步过滤到仅属于特定组的用户。
$users = Get-ADUser -filter {(Enabled -eq $True) -and (Company -eq "ET")}
-SearchBase 'DC=CSOKI,DC=Local' |select -exp samaccountname
$group = "O365-E3-Full"
$members = Get-ADGroupMember -Identity $group -Recursive | Select -
ExpandProperty samaccountname
ForEach ($user in $users) {
If ($members -contains $user) {
Write-output $(name) | out-file ".\TEST.txt"
} Else {
Write-Host "$user does not exist in the group"
}}
预期: 在公司ET中输出O365-E3-FULL组中的ACTIVE用户,而在输出中写入主机用户(不需要,我只需要过滤器)。
实际: 对主机和公司ET中的每个ACTIVE用户进行写托管,而忽略组过滤器。
答案 0 :(得分:0)
在获取用户列表时,您正在为具有以下条件的用户收集帐户名:
| Select -exp samaccountname
然后,在获取组成员时,您将获得名称:
| Select -ExpandProperty Name
您需要在两个Gets中都选择SamAccountName
答案 1 :(得分:0)
对不起,很快就撞到了
Xcode-beta.app