通过用户属性过滤AD组;归还不当

时间:2019-01-25 20:50:16

标签: powershell

免责声明:我对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用户进行写托管,而忽略组过滤器。

2 个答案:

答案 0 :(得分:0)

在获取用户列表时,您正在为具有以下条件的用户收集帐户名

| Select -exp samaccountname

然后,在获取组成员时,您将获得名称

| Select -ExpandProperty Name

您需要在两个Gets中都选择SamAccountName

答案 1 :(得分:0)

对不起,很快就撞到了

Xcode-beta.app