ralfkausk
Goto Top

Powershell - Popup mit definierter Größe

Hallo zusammen

Ich habe folgendes vor:
Ich möchte wissen welche Mitglieder eine Active Directory Gruppe hat

Dazu habe ich ein Script geschrieben und frage
1. im Active Directory alle Gruppen ab die mit abcd beginnen und schreibe diese in z.B. eine Datei oder Variable.
2. anschließend zu welcher speziellen Gruppe die Mitglieder angezeigt werden sollen

Damit der 2. Punkt vernünftig funktioniert und auch weil man nicht immer alle Gruppen auswendig kennt (sind ca. 1500) möchte ich das sich ein Scrollbares Popup öffnet aus dem man sich die entsprechende Gruppe rauskopieren kann.

Ich habe es geschafft ein Popup zu generieren, allerdings ist es nicht Scrollfähig und zeigt alle Gruppen untereinander an.
Im Klartext: es ist für meine Zwecke nicht zu gebrauchen.

Hat jemand einen Tip für mich wie ich das hinbekommen kann?

Content-ID: 218362

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

Ausgedruckt am: 22.11.2024 um 18:11 Uhr

LordXearo
LordXearo 02.10.2013 um 12:02:14 Uhr
Goto Top
Hi,

ich denke du kannst Dir dafür eine GUI mit Powershell und .Net erstellen. Dort kannst du Dir dann die Fenster-Eigenschaften richtig zusammenbauen.

Viele Grüße

Xearo
colinardo
colinardo 02.10.2013 aktualisiert um 12:46:42 Uhr
Goto Top
Hallo ralfkausk,
hiermit kannst du denke ich arbeiten, in den letzten beiden Zeilen legst du den anzuzeigenden Text fest und übergibst diesen an die Function welche einen Dialog erzeugt und darin deinen Text in einer Textbox mit Scrollbar platziert...
Die Software die du zum leichteren erzeugen von Dialogen mit .NET nutzen kannst, habe ich in diesem Beitrag vorgestellt, und beschrieben wie du sie herunterladen kannst.
function GenerateForm($sText) {

#region Import the Assemblies
[reflection.assembly]::loadwithpartialname("System.Windows.Forms") | Out-Null  
[reflection.assembly]::loadwithpartialname("System.Drawing") | Out-Null  
#endregion

#region Generated Form Objects
$form1 = New-Object System.Windows.Forms.Form
$textBox1 = New-Object System.Windows.Forms.TextBox
$InitialFormWindowState = New-Object System.Windows.Forms.FormWindowState
#endregion Generated Form Objects

$System_Drawing_Size = New-Object System.Drawing.Size
$System_Drawing_Size.Height = 276
$System_Drawing_Size.Width = 362
$form1.ClientSize = $System_Drawing_Size
$form1.DataBindings.DefaultDataSourceUpdateMode = 0
$form1.MaximizeBox = $False
$form1.MinimizeBox = $False
$form1.Name = "form1"  
$form1.Text = "DEIN TITEL"  

$textBox1.Anchor = 15
$textBox1.DataBindings.DefaultDataSourceUpdateMode = 0
$System_Drawing_Point = New-Object System.Drawing.Point
$System_Drawing_Point.X = 12
$System_Drawing_Point.Y = 12
$textBox1.Location = $System_Drawing_Point
$textBox1.Multiline = $True
$textBox1.Name = "textBox1"  
$textBox1.ReadOnly = $True
$textBox1.ScrollBars = 2
$System_Drawing_Size = New-Object System.Drawing.Size
$System_Drawing_Size.Height = 252
$System_Drawing_Size.Width = 338
$textBox1.Size = $System_Drawing_Size
$textBox1.TabIndex = 0
$textBox1.text = $sText

$form1.Controls.Add($textBox1)

#Save the initial state of the form
$InitialFormWindowState = $form1.WindowState
#Init the OnLoad event to correct the initial state of the form
$form1.add_Load($OnLoadForm_StateCorrection)
#Show the Form
$form1.ShowDialog()| Out-Null

} #End Function

$strText = "Dein Text der in der Textbox erscheinen soll"  
GenerateForm $strText

82a769472a770c66c68b48c7b7756be0


Grüße Uwe
ralfkausk
ralfkausk 02.10.2013 aktualisiert um 15:28:59 Uhr
Goto Top
Wow!
Hab dein Sckript schnell mal getestet, funktioniert.
Jetzt muss ich es nur noch in mein Skript einbauen und testen.
Auf jeden Fall vielen Dank für die schnelle Hilfe und Mühe.