powershell - Powershell - 如何从用户所在的组列表中删除尾随空格
问题描述
我已经复制/创建了一个脚本来获取用户所属的组的所有成员,包括嵌套组。但是,我的输出并不完全符合我的要求。
它以两种方式之一进行。要么输出为一个大字符串,看起来不错,但每行都有尾随空格,所以我不能简单地将其复制并粘贴到 AD 中。或者,如果我将 Out-String 更改为使用 -stream,它会出现乱码,但可能允许我修剪空格。
我目前在一个简单的 GUI 中将输出输入到 TextBox。
Function Get-ADUserNestedGroups {
Param
(
[string]$DistinguishedName,
[array]$Groups = @()
)
#Get the AD object, and get group membership.
$ADObject = Get-ADObject -Filter "DistinguishedName -eq '$DistinguishedName'" -Properties memberOf, DistinguishedName;
#If object exists.
If($ADObject)
{
#Enummurate through each of the groups.
Foreach($GroupDistinguishedName in $ADObject.memberOf)
{
#Get member of groups from the enummerated group.
$CurrentGroup = Get-ADObject -Filter "DistinguishedName -eq '$GroupDistinguishedName'" -Properties memberOf, DistinguishedName;
#Check if the group is already in the array.
If(($Groups | Where-Object {$_.DistinguishedName -eq $GroupDistinguishedName}).Count -eq 0)
{
#Add group to array.
$Groups += $CurrentGroup;
#Get recursive groups.
$Groups = Get-ADUserNestedGroups -DistinguishedName $GroupDistinguishedName -Groups $Groups;
}
}
}
#Return groups.
Return $Groups;
}
Function Display-UserGroups {
#Get all groups.
$Groups = Get-ADUserNestedGroups -DistinguishedName (Get-ADUser -Identity $userSAM).DistinguishedName;
$ResultsTextBox.Text = $Groups | Select-Object Name| Sort-Object name | Out-String
第一种方式的输出如下所示:
组名1(这里八个空格)
组名2(这里八个空格)
第二种方式的输出如下所示:
组名1组名2组名3
谢谢你的帮助!
解决方案
您需要修剪输出,这可以使用String.Trim方法轻松完成。但是,它只能应用于字符串。$Groups
将是一个ADObject
类型数组。您将需要返回Name
这些对象的值并将该Trim()
方法应用于这些值。
($Groups | Select -Expand Name | Sort).Trim() -join "`r`n"
推荐阅读
- python - 没有归一化的 matplotlib 颜色图
- spring-boot - SpringBoot 从 IntelliJ 工作,但从 JAR 抛出 java.lang.NoSuchMethodError
- python - Python - 编写原始 SQL 以在 Python 中操作数据帧
- dart - AngularDart:具有多个集合的内存数据服务
- kotlin - 从 Kotlin 中的值列表创建 EnumMap
- google-chrome - 无头 Chrome 是否支持策略配置?
- javascript - 在 Knockout 中调整 Leaflet JS 地图的大小
- haskell - 在 Haskell 中将 foldr 与 OR 混合(懒惰?)
- c - 与C中超出范围的值进行条件比较
- java - 在 Java 中不使用 int、Long、Double、String、BigDecimal 存储两个整数乘法结果