2016-01-20 3 views
0

J'écris une interface graphique de base qui permet au personnel de trouver plus facilement les droits de boîte aux lettres/de calendrier actuels. Essentiellement, ils tapent le nom de la boîte aux lettres et l'utilisateur dont ils souhaitent vérifier les autorisations, et il écrit ce que les autorisations sontEcriture d'une propriété de boîte aux lettres dans une variable ou une zone de texte

J'ai essayé deux façons et les deux ont rencontré des problèmes. La première:

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

Résultats avec la sortie:

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

(je aussi obtenir le même lors de l'entrée simplement la commande au texte append get-boîte aux lettres)

Je a également essayé de convertir la propriété des droits d'accès en une variable, puis en l'écrivant dans la zone de texte en utilisant si les conditions ci-dessous le code, mais cela ne joue pas bien non plus

Méthode:

$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")} 

sortie: Rien que ce soit

bref, je besoin d'un moyen soit sortie seulement les autorisations à la zone de texte, ou, ce qui rend la variable égale quelque chose utilisable

Répondre

0

Essayez ceci:

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

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

Il me donne une sortie, bien que la sortie est juste le nom d'utilisateur et le domaine de la boîte aux lettres. Certainement sur la bonne voie si – Sean

+0

Ah, je l'ai fait fonctionner en utilisant cela avec quelques changements – Sean

+0

$ Property = Get-MailboxPermission -Identity $ Boîte aux lettres -Utilisateur $ Utilisateur | ? {$ _. AccessRights} $ PermissionText.AppendText ($ Permission.AccessRights) – Sean

0

Thankyou @Avshalom je l'ai pensé de votre idée:

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