从每行的输出中删除字符

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]}}