Powershell-输出到文本框

问题描述

我正在为内部人员创建一个基本的GUI,以便代表其他用户共享日历。

我当前有一个按钮单击以获取日历的权限。我将如何更新名为“ calendarGetoutput”的文本框?

    $User = $inputCalendarGet.Text
    $CalendarGet = Get-MailBoxFolderPermission -Identity ${user}:\Calendar 
    $calendarGetoutput.text = ???

Output not multi-line

解决方法

  1. 使您的文本框在垂直方向上大得多,因此可以包含多行文本
  2. 为其设置以下属性:
    $calendarGetOutput.Font = New-Object System.Drawing.Font 'Consolas',10  # or any other monospaced font
    $calendarGetOutput.Multiline  = $true
    $calendarGetOutput.WordWrap   = $false
    $calendarGetOutput.ScrollBars = 'Both'
    $calendarGetOutput.Anchor     = 'Left,Top,Right,Bottom'  # so it can grow/shrink with the form
    
  3. 获取邮箱权限,并让Format-Table从您感兴趣的属性中创建一个漂亮的表视图,并添加一个执行此操作的按钮单击处理程序:
    $theButton.Add_Click({ 
        $User = $inputCalendarGet.Text
        $Perms = Get-MailboxFolderPermission -Identity ${user}:\Calendar
        $calendarGetOutput.Text = $Perms | Select-Object User,AccessRights | 
                                  Format-Table -AutoSize | Out-String
    })