从Powershell中删除字符串中的多余信息

时间:2014-04-30 13:34:42

标签: string powershell

早上好。我想要完成的事情说起来容易做起来难。使用下面的代码,我返回以下内容:

  

群组归:@ {samaccountname = aduser1}

     

群组归:@ {samaccountname = aduser2}

以下是代码:

$GroupList = get-content "Z:\text.txt"

ForEach($Entry in $GroupList){

$SubGroups = @()

$AllMembers = @()

$strGroupOwner = Get-ADGroup -identity $Entry -Properties ManagedBy | select managedby 

$strOwnerName = get-aduser -identity $strGroupOwner.managedby -properties samaccountname |select samaccountname

 "Group is owned by: " + $strOwnerName

我只需删除' @ {samaccountname ='而且'}'最后从我的字符串$ strOwnerName传递到下一步,使我的简历更接近:

  

群组归:aduser1

所有      

集团归:aduser2

所有

我在谷歌上找到的只是删除了“空白空间”。任何帮助或阅读材料都将非常受欢迎。

谢谢!

2 个答案:

答案 0 :(得分:1)

在您的代码中$strOwnerNamePSCustomObject。将其转换为字符串更改

$strOwnerName = get-aduser -identity $strGroupOwner.managedby -properties samaccountname |select samaccountname

$strOwnerName = get-aduser -identity $strGroupOwner.managedby -properties samaccountname |select -ExpandProperty samaccountname

$strOwnerName = (get-aduser -identity $strGroupOwner.managedby).samaccountname

答案 1 :(得分:1)

使用select-object-expandproperty参数。

$strOwnerName = get-aduser -identity $strGroupOwner.managedby -properties samaccountname |select-object -expandproperty samaccountname

另请注意,我使用了select-object而不是别名select;在脚本中应该避免使用别名,因为它们对执行环境做出了假设,这可能并不总是正确的。