从每行的输出中删除字符
Remove characters from output in each row
我是 Power 的新手Shell,我正在努力根据我想要的方式修改输出。
我在 MS Exchange Shell 中 运行 的命令是这样的:
Get-Mailbox user1 | Get-ADPermission | ? {($_.ExtendedRights -like "*send-as*") -and -not ($_.User -like "NT AUTHORITY\SELF")} | Select User
我从上面的命令得到的结果是:
User
----
AGL\user4
AGL\user5
AGL\groupX
但是我想获得如下输出:
User
----
user4
user5
groupX
可以这样做吗?
提前致谢。
稍微测试一下,你可以试试
(Get-Mailbox user1 | Get-ADPermission | ? {($_.ExtendedRights -like "*send-as*") -and -not ($_.User -like "NT AUTHORITY\SELF")} | Select User).TrimStart("AGL\")
如果不行你可以试试
$Rights = Get-Mailbox user1 | Get-ADPermission | ? {($_.ExtendedRights -like "*send-as*") -and -not ($_.User -like "NT AUTHORITY\SELF")} | Select User
$Rights = $Rights.TrimStart("AGL\")
只要字符串保持不变,trim 将 trim 从反斜杠开始。
为此,使用 Calculated Property 仅输出带有名称的对象:
Get-Mailbox -Identity user1 |
Get-ADPermission |
Where-Object {($_.ExtendedRights -like "*send-as*") -and ($_.User -ne "NT AUTHORITY\SELF")} |
Select-Object @{Name = 'User'; Expression = {$_.User.Split("\",2)[1]}}
我是 Power 的新手Shell,我正在努力根据我想要的方式修改输出。
我在 MS Exchange Shell 中 运行 的命令是这样的:
Get-Mailbox user1 | Get-ADPermission | ? {($_.ExtendedRights -like "*send-as*") -and -not ($_.User -like "NT AUTHORITY\SELF")} | Select User
我从上面的命令得到的结果是:
User
----
AGL\user4
AGL\user5
AGL\groupX
但是我想获得如下输出:
User
----
user4
user5
groupX
可以这样做吗?
提前致谢。
稍微测试一下,你可以试试
(Get-Mailbox user1 | Get-ADPermission | ? {($_.ExtendedRights -like "*send-as*") -and -not ($_.User -like "NT AUTHORITY\SELF")} | Select User).TrimStart("AGL\")
如果不行你可以试试
$Rights = Get-Mailbox user1 | Get-ADPermission | ? {($_.ExtendedRights -like "*send-as*") -and -not ($_.User -like "NT AUTHORITY\SELF")} | Select User
$Rights = $Rights.TrimStart("AGL\")
只要字符串保持不变,trim 将 trim 从反斜杠开始。
为此,使用 Calculated Property 仅输出带有名称的对象:
Get-Mailbox -Identity user1 |
Get-ADPermission |
Where-Object {($_.ExtendedRights -like "*send-as*") -and ($_.User -ne "NT AUTHORITY\SELF")} |
Select-Object @{Name = 'User'; Expression = {$_.User.Split("\",2)[1]}}