basticn
Goto Top

User ID in der drop box auslesen

Hallo zusammen,

könnt Ihr mir sagen wie ich folgendes Problem lösen kann?

Ich möchte in der Drop-Box die UserID eingeben und er soll mir dann die Properties anzeigen.

Leider bekomme ich es nicht hin face-sad

            # Load ActiveDirectory module
            Import-Module ActiveDirectory

            <#
---------------------------------------------------------------------------------------
   
powered by US

---------------------------------------------------------------------------------------
#>

# set Variable

#$GLID2 = Read-Host "Eingabe Global link ID"  

 'Programm wird ausgeführt bitte warten bis Eingabe erscheint.'  

# Die ersten beiden Befehle holen sich die .NET-Erweiterungen (sog. Assemblies) für die grafische Gestaltung in den RAM.
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Drawing")   
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")   

# Die nächste Zeile erstellt aus der Formsbibliothek das Fensterobjekt.
$objForm = New-Object System.Windows.Forms.Form

# Hintergrundfarbe für das Fenster festlegen
$objForm.Backcolor=“white“

# Icon in die Titelleiste setzen
# $objForm.Icon="C:\Logos\xxx.jpg"  #kann selbst definiert werden  

# Hintergrundbild mit Formatierung Zentral = 2
$objForm.BackgroundImageLayout = 2
$objForm.BackgroundImage = [System.Drawing.Image]::FromFile('C:\Logos\xxx.jpg')  #kann selbst definiert werden  

# Position des Fensters festlegen
$objForm.StartPosition = "CenterScreen"  

# Fenstergröße festlegen
$objForm.Size = New-Object System.Drawing.Size(800,500)

# Titelleiste festlegen
$objForm.Text = "Get GLID properties"  

#############################################################################################################

# GLID's auslesen  

Get-ADUser $GLID2 -Properties * | FL GivenName, Surname, Name, Created, Modified, CanonicalName, Enabled, LockedOut, LastLogonDate, PasswordLastSet, LastBadPasswordAttempt, PasswordNeverExpires, PasswordNotRequired, DisplayName, Description, Title, Office, OfficePhone, EmailAddress, HomeDirectory, HomeDrive, UserPrincipalName 

#############################################################################################################

        $objLabel = New-Object System.Windows.Forms.Label
        $objLabel.Location = New-Object System.Drawing.Size(300,60) 
        $objLabel.Size = New-Object System.Drawing.Size(1000,20) 
        $objLabel.Text = "confirm GLID:"  
        $objForm.Controls.Add($objLabel) 

            $objCombobox = New-Object System.Windows.Forms.Combobox 
            $objCombobox.Location = New-Object System.Drawing.Size(300,80) 
            $objCombobox.Size = New-Object System.Drawing.Size(200,20) 
            $objCombobox.Height = 70
            $objForm.Controls.Add($objCombobox) 
            $objForm.Topmost = $True
            $objForm.Add_Shown({$objForm.Activate()})
            $objCombobox.Items.AddRange($GLID2) #GLIDs werden aus der Variable geladen und angezeigt
            $objCombobox.SelectedItem #ausgewählte GLID wird übernommen
            
            $objCombobox.Add_SelectedIndexChanged({ })

    #OK Button anzeigen lassen
    $OKButton = New-Object System.Windows.Forms.Button
    $OKButton.Location = New-Object System.Drawing.Size(500,420)
    $OKButton.Size = New-Object System.Drawing.Size(75,23)
    $OKButton.Text = "OK"  
    $OKButton.Name = "OK"  
    #$OKButton.DialogResult = "OK" # Ansonsten wird Fenster geschlossen  
    $OKButton.Add_Click({$GLID2=Get-ADUser $GLID2 -Properties * | FL GivenName, Surname, Name, Created, Modified, CanonicalName, Enabled, LockedOut, LastLogonDate, PasswordLastSet, LastBadPasswordAttempt, PasswordNeverExpires, PasswordNotRequired, DisplayName, Description, Title, Office, OfficePhone, EmailAddress, HomeDirectory, HomeDrive, UserPrincipalName | out-string
[void] [Windows.Forms.MessageBox]::Show($GLID2)

    })
    $objForm.Controls.Add($OKButton) 

    #Abbrechen Button
    $CancelButton = New-Object System.Windows.Forms.Button
    $CancelButton.Location = New-Object System.Drawing.Size(600,420)
    $CancelButton.Size = New-Object System.Drawing.Size(75,23)
    $CancelButton.Text = "Abbrechen"  
    $CancelButton.Name = "Abbrechen"  
    $CancelButton.DialogResult = "Cancel"  
    $CancelButton.Add_Click({$objForm.Close()})
    $objForm.Controls.Add($CancelButton) 

######################################################################################################

[void] $objForm.ShowDialog()

Get-Module -Name Microsoft.PowerShell.Utility

Danke Euch vielmals!!!

Content-Key: 585436

Url: https://administrator.de/contentid/585436

Printed on: April 26, 2024 at 07:04 o'clock

Mitglied: 144705
144705 Jul 07, 2020 updated at 14:52:13 (UTC)
Goto Top
           # Load ActiveDirectory module
            Import-Module ActiveDirectory

            <#
---------------------------------------------------------------------------------------
   
powered by US

---------------------------------------------------------------------------------------
#>

# set Variable

 'Programm wird ausgeführt bitte warten bis Eingabe erscheint.'  

# Die ersten beiden Befehle holen sich die .NET-Erweiterungen (sog. Assemblies) für die grafische Gestaltung in den RAM.
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Drawing")   
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")   

# Die nächste Zeile erstellt aus der Formsbibliothek das Fensterobjekt.
$objForm = New-Object System.Windows.Forms.Form

# Hintergrundfarbe für das Fenster festlegen
$objForm.Backcolor=“white“

# Icon in die Titelleiste setzen
# $objForm.Icon="C:\Logos\xxx.jpg"  #kann selbst definiert werden  

# Hintergrundbild mit Formatierung Zentral = 2
$objForm.BackgroundImageLayout = 2
#$objForm.BackgroundImage = [System.Drawing.Image]::FromFile('C:\Logos\xxx.jpg')  #kann selbst definiert werden  

# Position des Fensters festlegen
$objForm.StartPosition = "CenterScreen"  

# Fenstergröße festlegen
$objForm.Size = New-Object System.Drawing.Size(800,500)

# Titelleiste festlegen
$objForm.Text = "Get GLID properties"  

#############################################################################################################

# GLID's auslesen  
$users = Get-ADUser -Filter * -Properties GivenName, Surname, Name, Created, Modified, CanonicalName, Enabled, LockedOut, LastLogonDate, PasswordLastSet, LastBadPasswordAttempt, PasswordNeverExpires, PasswordNotRequired, DisplayName, Description, Title, Office, OfficePhone, EmailAddress, HomeDirectory, HomeDrive, UserPrincipalName

#############################################################################################################

    $objLabel = New-Object System.Windows.Forms.Label
    $objLabel.Location = New-Object System.Drawing.Size(300,60) 
    $objLabel.Size = New-Object System.Drawing.Size(1000,20) 
    $objLabel.Text = "confirm GLID:"  
    $objForm.Controls.Add($objLabel) 
    $objForm.Topmost = $True
    $objForm.Add_Shown({$objForm.Activate()})

    $objCombobox = New-Object System.Windows.Forms.Combobox 
    $objCombobox.Location = New-Object System.Drawing.Size(300,80) 
    $objCombobox.Size = New-Object System.Drawing.Size(200,20) 
    $objCombobox.Height = 70
    $objCombobox.Items.AddRange($users.SamAccountName) #GLIDs werden aus der Variable geladen und angezeigt
    $objCombobox.SelectedItem #ausgewählte GLID wird übernommen
    $objCombobox.Add_SelectedIndexChanged({ })
    $objForm.Controls.Add($objCombobox)  
    

    #OK Button anzeigen lassen
    $OKButton = New-Object System.Windows.Forms.Button
    $OKButton.Location = New-Object System.Drawing.Size(500,420)
    $OKButton.Size = New-Object System.Drawing.Size(75,23)
    $OKButton.Text = "OK"  
    $OKButton.Name = "OK"  
    #$OKButton.DialogResult = "OK" # Ansonsten wird Fenster geschlossen  
    $OKButton.Add_Click({
        if ($objCombobox.SelectedIndex -ne -1){
            $GLID2 = Get-ADUser $objCombobox.SelectedItem -Properties * | FL GivenName, Surname, Name, Created, Modified, CanonicalName, Enabled, LockedOut, LastLogonDate, PasswordLastSet, LastBadPasswordAttempt, PasswordNeverExpires, PasswordNotRequired, DisplayName, Description, Title, Office, OfficePhone, EmailAddress, HomeDirectory, HomeDrive, UserPrincipalName | out-string
            [void][Windows.Forms.MessageBox]::Show($GLID2)
        }

    })
    $objForm.Controls.Add($OKButton) 

    #Abbrechen Button
    $CancelButton = New-Object System.Windows.Forms.Button
    $CancelButton.Location = New-Object System.Drawing.Size(600,420)
    $CancelButton.Size = New-Object System.Drawing.Size(75,23)
    $CancelButton.Text = "Abbrechen"  
    $CancelButton.Name = "Abbrechen"  
    $CancelButton.DialogResult = "Cancel"  
    $CancelButton.Add_Click({$objForm.Close()})
    $objForm.Controls.Add($CancelButton) 

######################################################################################################

[void]$objForm.ShowDialog()


back-to-topp.s. BITTE KEINE PNs mit angehängtem Spaghetti-Code ohne Codetags mehr. DANKE!
Member: BastiCn
BastiCn Jul 07, 2020 at 14:21:45 (UTC)
Goto Top
Entschuldige bitte, dachte es wäre ein Codetag.

Tut mir leid. face-sad
Mitglied: 144705
144705 Jul 07, 2020 updated at 14:25:34 (UTC)
Goto Top
Zitat von @BastiCn:
Entschuldige bitte, dachte es wäre ein Codetag.
Dafür gibt es die Vorschau bevor man Nachrichten abschickt, dann passiert sowas auch nicht mehrfach.

screenshot
Member: BastiCn
BastiCn Jul 07, 2020 at 14:27:15 (UTC)
Goto Top
Danke Dir!
Member: BastiCn
BastiCn Jul 07, 2020 at 14:28:11 (UTC)
Goto Top
Wir alle fangen ja klein an^^ :D
Mitglied: 144705
144705 Jul 07, 2020 updated at 14:43:24 (UTC)
Goto Top
Zitat von @BastiCn:
Danke Dir!
Bitteschön, den Beitrag dann auch schließen nicht vergessen.
Wir alle fangen ja klein an^^ :D
Joa, und hören dann irgendwann klein wieder auf face-wink.
Member: BastiCn
BastiCn Jul 07, 2020 at 14:48:46 (UTC)
Goto Top
Danke latavia! :D

klar mach ich dann.

Wenn ich aber Deine Verbesserung in die ISE eingebe und ausführe bleibt es bei folgendem Punkt hängen:

"Programm wird ausgeführt bitte warten bis Eingabe erscheint."

Es kommt leider keine User Abfrage face-sad und weiß nicht wie ich das behoben bekomme.

Bin dir Sehr DANKBAR FÜR DEINE HILFE

Ich weiß nicht was ich falsch mache face-sad
Member: BastiCn
BastiCn Jul 07, 2020 at 14:49:27 (UTC)
Goto Top
Ja, das stimmt wohl!
Zitat von @144705:

Zitat von @BastiCn:
Danke Dir!
Bitteschön, den Beitrag dann auch schließen nicht vergessen.
Wir alle fangen ja klein an^^ :D
> Joa, und hören dann irgendwann klein wieder auf face-wink.


ja das stimmt wohl!
Mitglied: 144705
144705 Jul 07, 2020 updated at 14:54:48 (UTC)
Goto Top
Zitat von @BastiCn:
Es kommt leider keine User Abfrage face-sad und weiß nicht wie ich das behoben bekomme.
Kommt ja auch nicht, alle User werden in die Combo-Box vorgeladen in der man sie dann per Klick auswählen kann face-wink .

screenshot

Kannst du dir ja von oben abschauen und so modifizieren wie du es brauchst.
Member: BastiCn
BastiCn Jul 07, 2020 at 14:59:00 (UTC)
Goto Top
tut mir leider aber ich bin wohl zu blöd dafür face-sad

ich weiß nicht genau wie ich das modifizieren kann face-sad

Sehe vor lauter Wald die Bäume nicht mehr face-sad