Get-MsolUser для PowerShell GUI Текстовые поля - PullRequest
0 голосов
/ 07 ноября 2019

Попытка получить все параметры для нескольких текстовых полей графического интерфейса PowerShell с помощью этого

    foreach($tenant in $tenants) { 


        foreach($parameter in $parameters) { 
            if($Customers.SelectedItem -eq $tenant.name) { 
                $indexeduser = Get-MsolUser -TenantId $tenant.TenantId -UserPrincipalName $Users.Selecteditem | select -Property $parameter

            New-Variable -Name "tb$parameter" -Value (New-Object System.Windows.Forms.TextBox) -Force
            (Get-Variable -Name "tb$parameter").Value.Text = "$indexeduser"
            (Get-Variable -Name "tb$parameter").Value.Size = New-Object System.Drawing.Size(150,30)
            (Get-Variable -Name "tb$parameter").Value.Location = New-Object System.Drawing.Point($x, $y)
            $form.Controls.Add((get-variable -Name "tb$parameter").Value)
            $i++

            if($i -eq 5 -or $i -eq 10 -or $i -eq 15 -or $i -eq 20 -or $i -eq 25 -or $i -eq 30 -or $i -eq 35 -or $i -eq 40 -or $i -eq 45) { 
                $x = $x + 160
                $y = 270
            }


            $y = $y + 30
            $y
            }
    }
}

Работает как чудо, только если все переменные в текстовом поле отображаются как

@{Department=}

Может 'Кажется, я не понимаю, почему.

1 Ответ

0 голосов
/ 08 ноября 2019

Решил, установив для $ indexeduser значение $ indexeduser.parameter

    foreach($tenant in $tenants) { 


        foreach($parameter in $parameters) { 
            if($Customers.SelectedItem -eq $tenant.name) { 
                $indexeduser = Get-MsolUser -UserPrincipalName walter.kindblad@enzure.se | Select $parameter
                $indexeduser = $indexeduser.$parameter

            New-Variable -Name "tb$parameter" -Value (New-Object System.Windows.Forms.TextBox) -Force
            (Get-Variable -Name "tb$parameter").Value.Text = $indexeduser
            (Get-Variable -Name "tb$parameter").Value.Size = New-Object System.Drawing.Size(150,30)
            (Get-Variable -Name "tb$parameter").Value.Location = New-Object System.Drawing.Point($x, $y)
            $form.Controls.Add((get-variable -Name "tb$parameter").Value)
            $i++

            if($i -eq 5 -or $i -eq 10 -or $i -eq 15 -or $i -eq 20 -or $i -eq 25 -or $i -eq 30 -or $i -eq 35 -or $i -eq 40 -or $i -eq 45) { 
                $x = $x + 160
                $y = 270
            }


            $y = $y + 30
            $y
            }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...