1

我是 PowerShell 的新手,我正在努力根据我想要的方式修改输出。

我在 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

是否有可能做到这一点?

提前致谢。

4

2 回答 2

1

为此,请使用计算属性仅输出具有其名称的对象:

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]}}
于 2021-09-05T09:59:20.087 回答
0

经过一点测试,您可以尝试

(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\")

只要字符串保持不变,修剪就会将开始修剪到反斜杠的点。

于 2021-09-05T06:31:25.200 回答