Powershell GUI HW Abfrage auf User Abfrage umbauen
Hallo an alle,
ich habe ein Script (GUI) mit verschiedenen TabPages die Software als ADM ausführen, Hardware Abfragen und User Abfragen.
Ich möchte mein HW Script so umbauen das ich damit Userabfragen machen kann siehe Bilder HW1 und HW2.
Ich möchte gerne das die User Abfrage genauso ausgeführt werden kann wie die HW Abfrage über die Buttons.
Ich habe bis jetzt die User Abfrage für Button1 gesamt (alle Infos zum User)
Wenn ich die komplett Abfrage mache bekomme ich auch diese Ausgabe bei Button2 $Daten_info bzw keine Ausgabe.
Wie bekomme ich das am besten hin das ich auf
Button1 - Komplette User Informationen
Button2 - z.b Name, Nachname usw (wie die heissen weiß ich sn,givenname usw)
Button3 - alles was mit Passwörter zu tun hat
usw
ich habe ein Script (GUI) mit verschiedenen TabPages die Software als ADM ausführen, Hardware Abfragen und User Abfragen.
Ich möchte mein HW Script so umbauen das ich damit Userabfragen machen kann siehe Bilder HW1 und HW2.
Ich möchte gerne das die User Abfrage genauso ausgeführt werden kann wie die HW Abfrage über die Buttons.
#Abfrage Rechnername Bild HW1
function Get-Info1 {
$ComputerName = $txt_ComputerName1.Text
try{
$Info = Get-CimInstance -Class $Class -ComputerName $ComputerName -Property *
$lbl_sysinfo1.ForeColor = "Black"
$lbl_sysinfo1.Text = $InfoTitle
$lbl_sysinfo1.Text += $Info |
Select-Object -Property * |
Out-String}
catch{
$lbl_sysinfo1.ForeColor = "Red"
$lbl_sysinfo1.Text = $ErrorMessage}}
#Buttons bzw Abfrage für die Buttons
$System_info = {
$Class = "Win32_ComputerSystem"
$InfoTitle = "System Information - $(Get-Date)"
Get-Info $Class $InfoTitle}
$bios_info = {
$Class = "Win32_BIOS"
$InfoTitle = "BIOS Information - $(Get-Date)"
Get-Info $Class $InfoTitle}
Ich habe bis jetzt die User Abfrage für Button1 gesamt (alle Infos zum User)
function Get-ADUser1 {
$UserName = $txt_UserName1.Text
try{
$searcher1 = New-Object DirectoryServices.DirectorySearcher
$searcher1.Filter = "(&(cn=$username))"
$searcher1.SearchRoot = 'LDAP://OU=User,OU=Administration,DC=.....,DC=.......,DC=intern'
$ADUser0 = $searcher1.FindAll() | ForEach-Object { $_.Properties }
$lbl_userinfo1.ForeColor = "Black"
$lbl_userinfo1.Text = $InfoTitle1
$lbl_userinfo1.Text += $ADUser0 |
format-table -AutoSize -Wrap |
out-string}
#$ADUser0 = $searcher2.FindAll() | %{$_.Properties}
#$ADUser0['samaccountname'] wenn ich das so übernehme bekomme ich wieder die Infos auf allen Button
catch{
$lbl_userinfo1.ForeColor = "Red"
$lbl_userinfo1.Text = $ErrorMessage}}
#Buttons
$User_info = {
$InfoTitle1 = "User Information - $(Get-Date)"
Get-ADUser0 $InfoTitle1}
$Daten_info = {
$InfoTitle1 = "Daten Information - $(Get-Date)"
$InfoTitle1 = Get-ADUser -Filter * | Select samaccountname,displayname,dekaappellation}
Wenn ich die komplett Abfrage mache bekomme ich auch diese Ausgabe bei Button2 $Daten_info bzw keine Ausgabe.
Wie bekomme ich das am besten hin das ich auf
Button1 - Komplette User Informationen
Button2 - z.b Name, Nachname usw (wie die heissen weiß ich sn,givenname usw)
Button3 - alles was mit Passwörter zu tun hat
usw
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 4096872058
Url: https://administrator.de/forum/powershell-gui-hw-abfrage-auf-user-abfrage-umbauen-4096872058.html
Ausgedruckt am: 06.01.2025 um 11:01 Uhr
9 Kommentare
Neuester Kommentar
#$ADUser0['samaccountname'] wenn ich das so übernehme bekomme ich wieder die Infos auf allen Button
OMG. Wenn man den Wert nirgends zuweist und in derZeile drüber eine Variable verwendet die es nicht gibt wundert das nicht 🙈.Da hat wohl einer noch keinen Kaffee gehabt.
Bräuchte eine Start Hilfe.
Wohl eher ne neue Batterie ...$lbl_userinfo1.Text = $ADUser0['samaccountname']
Die Lösung steht doch schon oben oder kannst du nicht lesen? Meine Güte ...
Dann baust du einfach einen Parameter in die Funktion ein in der du die Eigenschaft übergibst die du abfragen willst ... Dafür sind ja gerade Funktionen gedacht ...
https://www.techtarget.com/searchwindowsserver/tip/Understanding-the-par ...
Aufruf der Funktion dann so mit Übergabe der gewünschten Property die abgefragt werden soll
https://www.techtarget.com/searchwindowsserver/tip/Understanding-the-par ...
function Get-ADUser1 {
param(
[string]$property
)
# ........
$ADUser0 = $searcher1.FindAll() | ForEach-Object {$_.Properties}
$lbl_userinfo1.Text = $ADUser0[$property]
# .....
}
Aufruf der Funktion dann so mit Übergabe der gewünschten Property die abgefragt werden soll
Get-ADUser1 -property 'SamAccountName'
Get-ADUser1 -property 'DistingusihedName'
# usw. ...