在类定义中添加一个构造函数,您可以从管理器的可分辨名称中提取通用名称。类中使用的正则表达式模式的详细信息
.ctor
可以在这里找到:
https://regex101.com/r/tAx4jM/1
.
class CustomAdInfo {
$UserName
$Group
$Email
$Manager
CustomAdInfo($user, $group) {
$this.UserName = $user.SamAccountName
$this.Group = $group.Name
$this.Email = $user.EmailAddress
$this.Manager = $user.Manager -replace '^CN=|(?<!\\),.+'
}
}
[char[]] ([char] 'a'..[char] 'z') | ForEach-Object {
$getADUserSplat = @{
Filter = "Name -like '$_*'"
Properties = 'SamAccountName', 'memberOf', 'EmailAddress', 'Manager'
ResultPageSize = 256
SearchBase = 'CN=Users,DC=ab,DC=cd'
}
foreach ($user in Get-ADUser @getADUserSplat) {
foreach ($group in $user.MemberOf | Get-ADGroup) {
[CustomAdInfo]::new($user, $group)
}
}
} | Export-Csv 'C:\Users\Downloads\Members_and_Groups.csv'