Powershell Get-ADUser Informationen und Richtextbox
Aloa in die Runde,
kleine GUI für Testzwecke.
AD Informationen zu einem Nutzer holen.
Jetzt gibt er allerdings nur den DistinguishedName in der Richtextbox aus und nicht den Rest, der bei get-aduser ausgelesen wird.
Die Variable $user in der function enthält auch nur diesen.
Wie bekomme ich den Rest in die Ausgabe?
VG
kleine GUI für Testzwecke.
AD Informationen zu einem Nutzer holen.
Add-Type -AssemblyName System.Windows.Forms
function Get-ADUserInfo{
[CmdletBinding()]
[OutputType([System.Int32])]
param(
[Parameter(Position=0, Mandatory=$true)]
[ValidateNotNullOrEmpty()]
[System.String]
$Name,
[Parameter(Position=1)]
[ValidateNotNull()]
[System.Int32]
$Index
)
try {
$user = $(try {get-aduser -identity $Name} catch {$null})
if ($user -ne $null) {
return $user
} else {
return "User doesn't exist"
}
}
catch {
throw
}
}
$Resolve_UserADInfo = New-Object system.Windows.Forms.Form
$Resolve_UserADInfo.Text = "Get User AD Information"
$Resolve_UserADInfo.TopMost = $true
$Resolve_UserADInfo.Width = 800
$Resolve_UserADInfo.Height = 600
$Resolve_UserADInfo.FormBorderStyle = 'FixedDialog'
$Resolve_UserADInfo.MaximizeBox = $False
$Resolve_UserADInfo.MinimizeBox = $False
$Resolve_UserADInfo.StartPosition = 'CenterScreen'
$lb_UserName = New-Object system.windows.Forms.Label
$lb_UserName.Text = "UserName"
$lb_UserName.AutoSize = $true
$lb_UserName.Width = 25
$lb_UserName.Height = 10
$lb_UserName.location = new-object system.drawing.point(15,15)
$lb_UserName.Font = "Microsoft Sans Serif,10"
$Resolve_UserADInfo.controls.Add($lb_UserName)
$tb_UserName = New-Object system.windows.Forms.TextBox
$tb_UserName.Width = 264
$tb_UserName.Height = 20
$tb_UserName.location = new-object system.drawing.point(117,15)
$tb_UserName.Font = "Microsoft Sans Serif,10"
$Resolve_UserADInfo.controls.Add($tb_UserName)
$btn_Resolve = New-Object system.windows.Forms.Button
$btn_Resolve.Text = "Resolve"
$btn_Resolve.Width = 366
$btn_Resolve.Height = 30
$btn_Resolve.location = new-object system.drawing.point(15,45)
$btn_Resolve.Font = "Microsoft Sans Serif,10"
$Resolve_UserADInfo.controls.Add($btn_Resolve)
$rtb_User = New-Object System.Windows.Forms.RichTextBox
$rtb_User.Enabled = $False
$rtb_User.Location = '15, 80'
$rtb_User.Name = 'richtextbox2'
$rtb_User.Size = '760, 470'
$Resolve_UserADInfo.controls.Add($rtb_User)
$btn_Resolve.Add_Click({
if($tb_UserName.Text -eq ""){
$rtb_User.Text = "Bitte geben Sie einen Usernamen ein!"
}else{
$rtb_User.text = Get-ADUserInfo -Name $tb_UserName.Text
}
})
[void]$Resolve_UserADInfo.ShowDialog()
$Resolve_UserADInfo.Dispose()
Jetzt gibt er allerdings nur den DistinguishedName in der Richtextbox aus und nicht den Rest, der bei get-aduser ausgelesen wird.
Die Variable $user in der function enthält auch nur diesen.
Wie bekomme ich den Rest in die Ausgabe?
DistinguishedName :
Enabled : True
GivenName :
Name :
ObjectClass : user
ObjectGUID :
SamAccountName :
SID :
Surname :
UserPrincipalName :
VG
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 353555
Url: https://administrator.de/forum/powershell-get-aduser-informationen-und-richtextbox-353555.html
Ausgedruckt am: 16.04.2025 um 17:04 Uhr
2 Kommentare
Neuester Kommentar

Erstens ist dein OutputType deiner Function nicht passend, ein ADObject ist nicht vom Typ Int32.
Zweitens gibst du das Object selbst in eine Textbox aus anstatt die Daten in einen String zu wandeln, also erst mit formatTable Ausgabe Formatieren und dann mit Out-String in einen String wandeln bevor du das Gedöns in eine Textbox schreibst.
Zweitens gibst du das Object selbst in eine Textbox aus anstatt die Daten in einen String zu wandeln, also erst mit formatTable Ausgabe Formatieren und dann mit Out-String in einen String wandeln bevor du das Gedöns in eine Textbox schreibst.