powershell - 拉动 DG 的 PS 输出中的触点
问题描述
希望有人可以帮助我...我有一个脚本,它接受组输入并剔除该组的所有成员。对于 DG,它不会列出联系人,因为 PS 不喜欢“SamAccountName”输出。我有它,因此您可以搜索组选择您想要的组,然后它将运行输出。我有以下功能,它将搜索组但不输出结果。
function Get-MembersofGroup {
$GroupName = Get-ADGroup -Filter "Name -like '*$($User.text)*'" | Select-Object Name,ObjectClass,SamAccountName | Sort-Object -Property Name | Out-GridView -PassThru -Title 'Group selection. Please select a Group to proceed.'
)
function Get-Nested {
param(
[parameter(mandatory)]
[string]$GroupName
)
$ParentMembers = (Get-ADGroup $GroupName -Properties Members).members
$domains = (get-adforest).domains
foreach($member in $ParentMembers){
$ADObject =
try{
Get-ADObject $member -ErrorAction Stop
}
catch {
foreach($domain in $domains){
try{
Get-ADObject $member -Server $domain -ErrorAction Stop
}
catch{
continue
}
}
}
switch($ADObject.objectClass){
'user'{
Get-ADUser $ADObject |
select-object Name,samaccountname,DistinguishedName,objectClass
}
'group'{
Get-Nested $ADObject.DistinguishedName
}
'contact'{
$ADObject |
select-object Name,
@{n='samaccountname';e={''}},DistinguishedName,objectClass
}
default {
[pscustomobject]@{
Name = '-'
samaccountname = '-'
DistinguishedName = $member
objectClass = 'Class not addressed in function'
}
}
}
}
}
Get-Nested $groupName |
Select-Object * -Unique |
select-object @{n='MemberOfGroup';e={$groupName}},*
}
Get-MembersOfGroup |
Out-GridView -OutputMode Single
我之前的代码出于明显的原因省略了联系人:
function MembersOfGroup {
Try {
$GroupID = Get-ADGroup -Filter "Name -like '*$($User.text)*'" | Select-Object Name,ObjectClass,SamAccountName | Sort-Object -Property Name | Out-GridView -PassThru -Title 'Group selection. Please select a Group to proceed.'
#Title will appears at the top of the second Gridview
$title = $('Members of ' + $($GroupID.SamAccountName) + ' -- ' + '')
(Get-ADGroupMember -Identity $($GroupID.SamAccountName)) | Get-ADUser -Property DisplayName,SamAccountName | Select-Object Name,ObjectClass,DisplayName,SamAccountName | Sort-Object -Property Name | Out-GridView -OutputMode Single -Title "$title"
}
谢谢
解决方案
推荐阅读
- api - 追赶API对气流的功能?
- java - Java 双大括号初始化导致 IllegalArgumentException:未知实体
- c# - 从长字符串中获取信息?
- url-rewriting - htaccess Rewriterule 如果 url 包含特定的单词,则保留 URL 的其余部分
- assembly - 引脚操作组件 - 向/从特定引脚写入/读取
- c++ - 如何使用标准 C++11 获取当前线程的本机句柄?
- checkbox - 复选框无法在选项卡中选中/取消选中
- linux - 如何使用#ifdef和#endif注释掉目录和子目录中所有文件中的特定行?
- c - 使用管道在子进程和父进程之间进行通信
- c# - 可访问性不一致:返回类型小于方法