【问题标题】:Add a String to a value in an Array Powershell将字符串添加到数组 Powershell 中的值
【发布时间】:2019-09-13 15:28:23
【问题描述】:

我在一个数组中有字符串,它们是组的名称。现在我想修改这些值并将另一个字符串连接到这个字符串的开头

$Groups = Get-ADPrincipalGroupMembership $User $GroupArray = @()

foreach ($Group in $Groups)
{
$GroupArray += ($Group | select name)
} 
echo $("Domain\" + $GroupArray[0])

这会打印出类似的内容:

Domain\@{name=Domain Users}

但是我想得到类似的东西:

Domain\Domain Users

【问题讨论】:

  • "Domain\$(GroupArray[0].Name)"
  • 因为您使用了Select-Object Name,所以您有一个具有名为Name 的属性的对象。看来您只想获得道具的价值。如果是这种情况,请将其更改为 Select-Object -ExpandProperty Name 以获取值。
  • 为什么不用arraylist?然后Arraylist.add(value)..好像处理起来容易很多。
  • 最简单的方法是设置一个等于foreach循环的变量,然后在循环中输出你想要的数据。

标签: arrays string powershell powershell-2.0


【解决方案1】:

如果要添加所有值,请将其更改为 arraylist:

$Groups = Get-ADPrincipalGroupMembership $User

$arraylist = New-Object System.Collections.ArrayList
foreach ($Group in $Groups)
{
$arraylist.Add($Group.Name) | Out-Null
} 

$arraylist

PS:您可以根据需要显示与域进行比较的结果;我没有触及那部分。希望对您有所帮助。

【讨论】:

  • @Andr0mega:乐于助人。享受编码:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-19
  • 1970-01-01
  • 2012-07-18
  • 1970-01-01
相关资源
最近更新 更多