将邮箱 属性 写入变量或文本框

Writing a mailbox property to a Variable or text box

我正在编写一个基本的 GUI,使员工更容易找到当前的 mailbox/calendar 权限。本质上,他们输入邮箱的名称和他们希望检查的权限的用户,它会写出权限是什么

我试过两种方法,都运行遇到问题。第一个:

$Property = get-mailboxpermission -Identity $Mailbox -User $User | Format-List AccessRights    if($Property -eq "AccessRights : {FullAccess}")
    $PermissionText.AppendText(($Property))  

结果输出:

"Microsoft.PowerShell.Commands.Internal.Format.FormatStartData....."

(我在附加文本中简单地输入 get-mailbox 命令时也得到了同样的结果)

我也尝试过将访问权限 属性 转换为变量,然后使用 if 条件将其写入文本框,如下面的代码,但这也不太好

方法:

$Property = get-mailboxpermission -Identity $Mailbox -User $User | format-list AccessRights
if($Property -eq "AccessRights : {FullAccess}")
    {$PermissionText.AppendText("Full Access")}
if($Property -eq "AccessRights : {ReadAccess}")
    {$PermissionText.AppendText("Read Only")}

输出:什么都没有

简而言之,我需要一种方法,要么只输出对文本框的权限,要么使变量等于可用的值

试试这个:

$Property = Get-MailboxPermission -Identity $Mailbox -User $User | ? {$_.AccessRights -eq "FullAccess"} 

if($Property)
{
    $PermissionText.AppendText($Property.User.ToString())
}

谢谢@Avshalom 我是根据你的想法想出来的:

$Property = Get-MailboxPermission -Identity $Mailbox -User $User | ? {$_.AccessRights}
$PermissionText.AppendText($Permission.AccessRights)