2016-01-20 43 views
0

我正在编写一个基本的GUI,使员工可以更轻松地查找当前的邮箱/日历权限。从本质上讲,他们键入邮箱的名称和他们希望检查权限的用户,并且它写入了什么权限将邮箱属性写入变量或文本框

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

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

结果与输出:

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

(我也得到了同样的当简单地输入获取邮箱命令将追加文本)

我有也尝试改为将访问权限属性转换为变量,然后使用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")} 

输出:两手空空

总之

,我需要或者输出只是权限文本框,或者,使得变量等于什么可用

回答

0

尝试的一种方式这样的:

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

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

它给我一个输出,虽然输出只是邮箱的用户名和域。肯定是在正确的轨道上,虽然 – Sean

+0

啊,我使它的工作使用这个有一些变化 – Sean

+0

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

0

三江源@Avshalom我想它从你的想法:

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