Powershell GUI如何添加列到GridView



这是一个更大的脚本的一部分,确切地说是1443行。它根据姓和名从AD中提取用户名。我还需要让它从AD拉Office的名字,以帮助更好地识别同名用户。我肯定我只是错过了一些简单的东西。

function getacctname {
$fname = $FirstName.Text
$lname = $LastName.Text
Try {
$User.Text = Get-ADUser -Filter "GivenName -eq '$fname' -and SurName -eq '$lname'" |
Select-Object -ExpandProperty 'SamAccountName' |
Out-Gridview -Title 'Windows Logon' -PassThru
$Email.Text = (Get-ADUser $User.text -Properties mail).mail
}

Out-GridView根据您提供给它的输入数据动态构建其列-因此,为了获得3列,创建一个具有3个属性的对象!

更改Select-Object语句,以便它创建一个具有与所需列对应的属性的对象,Out-GridView负责其余部分:

Get-ADUser -Filter "GivenName -eq '$fname' -and SurName -eq '$lname'" -Properties physicalDeliveryOfficeName |
Select-Object 'SamAccountName',@{Name='Office';Expression={$_.physicalDeliveryOfficeName}} |
Out-Gridview -Title 'Windows Logon' -PassThru

如果局名存储在不同的属性中,则将两次出现的physicalDeliveryOfficeName替换为相关属性的ldap显示名称

最新更新