所以我有以下脚本,但它列出了AD组的全名。 (例如<?php echo json_encode([$imagepath])
)如何仅指定组的名称,以便它仅列出名称本身。 CN=GroupName,OU=OUName,DC=DomainName,DC=com
之后的部分。我试过CN=
,但没有运气。
$group.Name
另外,作为第二个问题,有哪些方法可以根据组名开头的内容进行过滤?
答案 0 :(得分:1)
您可以使用#define eigen_assert(X) do { if(!(X)) throw std::runtime_error(#X); } while(false);
// make sure Eigen is not included before your define:
#include <Eigen/Core>
Get-ADGroup
对于第二部分,您可以使用Import-Module ActiveDirectory
$userlist = Get-Content "C:\Scripts\US_User_List.txt"
foreach ($username in $userlist) {
$grplist = (Get-ADUser $username –Properties MemberOf).MemberOf
foreach ($group in $grplist) {
(Get-ADGroup $group).name
}
}
/ Where-Object
过滤器。
?
答案 1 :(得分:1)
这是一种方式:
foreach ( $name in $names ) {
Get-ADUser $name -Properties memberOf |
Select-Object -ExpandProperty memberOf |
Get-ADPathname -Format Leaf -ValuesOnly |
Where-Object { ($_ -like "this*") -or ($_ -like "that*") } |
Sort-Object |
ForEach-Object {
[PSCustomObject] @{
"Name" = $name
"memberOf" = $_
}
}
}
您可以根据需要调整Where-Object
脚本块中的过滤器。
您可以从此处获取Get-ADPathname.ps1脚本:
Windows IT Pro - Use PowerShell to Handle Active Directory Paths
关于Where-Object
过滤器的说明 - 如果您想说“名称不以此开头的组”,您可以这样写:
Where-Object { -not (($_ -like "this*") -or ($_ -like "that*")) }
答案 2 :(得分:0)
有一种简单的方法:Get-ADPrincipalGroupMembership -Identity blabla | Select-Object Name
Get-ADPrincipalGroupMembership输出用户所属的组对象,并附带默认的AD模块。