Quantcast
Channel: Windows PowerShell Forum
Viewing all 2314 articles
Browse latest View live

Script zum erstellen von Ordnern in Unterverzeichnisse wo der Ordner "Arbeit" schon exestiert

$
0
0

Hallo zusammen ich hab da eine Frage,

und zwar hab ich ein Hauptverzeichnis "Hauptverzeichnis" dort sind Ordner drinnen die haben verschiedene Namen, und in denen Ordnern gibt es meistens ein Ordner namens "Arbeit" und ein weiteren Ordner mit beliebigen Namen und in diesem gibt es meistens auch noch den Ordner "Arbeit". Und ich möchte ein Script haben das in allen Ordnern wo es auch den Ordner "Arbeit" gibt einen Ordner erstellt haben der "Privat" heißt. Wie könnte ich das verwirklichen?

Danke schon mal.



Prüfen ob es bestimmte Wert in der Registry gibt, wenn ja Name in Variable packen

$
0
0
Hallo,
ich kenne mich bis dato leider nicht mit Powershell aus.
Ich möchte an einer bestimmten Stell prüfen, ob es dort einen Wert in der Registry gibt.

Wenn es den Wert gibt, soll eine Variable mit dem Namen des Wertes gefüllt werden.
Derzeit sind 6~7 Werte denkbar, die dort stehen können.
Leider klappen meine Versuche bis dato nicht.
Kann jemand helfen?

Pfad wäre z.B. HKLM:\SOFTWARE\WOW6432Node\Intel\
Dort soll geschaut werden ob es den Eintrag X, Y oder Z gibt, wenn ja, soll $var mit X,Y oder Z gefüllt werden.

Danke,
Gruß

Power Shell Zugriff auf SQL Tabellen mit führenden Zahlen oder Sonderzeichen funktioniert nicht

$
0
0

Ich verwende Power Shell für die unterschiedlichsten Zugriffe auf MSSQL Datenbanken und das zumeist ohne Probleme.

in der Form:

$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = "xyz"
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand

$SqlCmd.CommandText = "xyz"

$SqlCmd.Connection = $SqlConnection
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
$SqlAdapter.SelectCommand = $SqlCmd
$SqlAdapter.SelectCommand.CommandTimeout = 0
$DataSet = New-Object System.Data.DataSet 
$tablerows = $SqlAdapter.Fill($DataSet)

Jetzt habe ich allerdings eine Tabelle in der Form [1$Irgendwas] vorliegen, die in der Power Shell Fehlermeldungen liefert weil aus diesem Tabellennamen (wenn man sich den $SqlCmd anschaut) eine Tabelle in der Form [1] generiert?!?

Ich habe schon alle möglichen Klammerungen, Escape Sequenzen, usw. probiert, komme aber zu keinem Ergebnis.

Muss ich mir hier einen View ohne führende Zahlen, oder Sonderzeichen wie das $ Zeichen bauen, um via Power Shell zugreifen zu können, oder gibt es hier eine "normale" Lösung?

Liebe Grüße und danke für Antworten im Voraus,
Robert


txt Dateien nach Teil des Dateinamens filtern

$
0
0

Hallo,

ich habe einen Ordner mit sehr vielen txt Dateien. Format: LIST_Zeitstempel_ID also zum Beispiel: LIST_191108_A0234. Zeitstempel beruht auf dem CreationTime

Von jeder ID kann es mehrere Listen geben, die alle ein unterschiedlichen Zeitstempel haben. Ich möchte nun gerne für jede ID die aktuellste (nach Zeitstempel bzw Creationtime) Datei in eine neue Datei (LIST_ALL.txt) schreiben.

Umsetzungsidee wäre folgende:

Mit Get-ChildItem alle .txt Files holen und formatieren(1), so dass ich im nächsten Schritt mit Replace()(2), die ID ermitteln kann. Dann mit Get-Unique alle doppelten löschen(3). Dann wieder Get-ChildItem(4*verschiedene ID-Gruppen) mit Filter ID und diese nach Creationtime sortieren(5) und in die neue Liste schreiben.

Meine Frage wäre: Wie kann man das effizienter machen?

Momentan würde ich mit dieser Strategie ca. 5*verschiedene ID-Gruppen alle .txt Files durchlaufen. Kann man nicht gewisse Schritte kombinieren z.B. das erste Get-Childitem und Repalce in einem Schleifendurchlauf?

Wäre super wenn jemand Verbesserungsvorschläge hat.

mfg werdas34

String Variable mit System.Object als String verknüpfen...

$
0
0

Hallo zusammen,

ich habe hier ein seltsames Phänomen, dass ich mir nicht erklären kann.

$temp = $DelGuid[0] | Out-String
Write-Host $temp
$temp = "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileGuid\" + $temp
Get-Item -Path $temp

im Array $DelGuid sind Guids bestimmter Benutzerprofile gespeichert, die ich mit vorher mit Get-ItemProperty ausgelesen haben.

Nun möchte ich einen Schlüssel, mit dem Namen der GUID des Benutzerprofiles mit "Get-Item" initialisieren.
Dazu wollte ich einfach, den Pfad des Schlüssels zusammensetzen.
Nur funktioniert das nicht...
Es kommt die Fehlermeldung:
Get-Item : Der Pfad "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileGuid\{688a8280-3d10-4bb7-b87a-b81e2d15a8c3}
" kann nicht gefunden werden, da er nicht vorhanden ist.

Setze ich den String manuell ein:

$temp = "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileGuid\" + "{688a8280-3d10-4bb7-b87a-b81e2d15a8c3}"

funktioniert es...!?

Der String: System.String + System.Object[] sieht identisch aus wie der String: System.String + System.String

Was ist das Problem?

vG MarkMae 


Alle Eventlog auslesen

$
0
0

moin,

ich möchte gerne alle aktuellen Eventlogs der letzten Tage durchsuchen

wie erhalte ich alle Logs

Get-EventLog -list    # ==> zeigt mir nur die Haupteventlogs, die unter Microsoft fehlen

Get-WinEvent -LogName "Microsoft-Windows-Windows" # geht leider auch nicht



Chris

Button zum Aktualiseren der GUI

$
0
0

Hallo Zusammen,

ich komme bei folgendem Skript nicht weiter.

Ich suche eine Funktion für den "Aktualisieren Button", der das Skript neustartet oder aber alle aktuell installierten Drucker neu einliest. Ziel ist es, das ich das Skript eben nicht mehr selbst neustarten muss.

$window = Add-Type -memberDefinition @"
[DllImport("user32.dll")]
public static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
"@ -name "Win32ShowWindowAsync" -namespace Win32Functions -passThru
$window::ShowWindow((Get-Process –id $pid).MainWindowHandle, 0)
    
    $Printers = Get-WmiObject -Class Win32_Printer | Select-Object -ExpandProperty name
    $currentPrinter = Get-WmiObject -Query " SELECT * FROM Win32_Printer WHERE Default=$true" | Select-Object -ExpandProperty name
        
    Add-Type -AssemblyName System.Windows.Forms    

    $Form = New-Object system.Windows.Forms.Form        
    $Form.Text = "Standard Drucker Einstellung"
    $Form.BackColor = "#d7ebfe"
    $Form.TopMost = $true
    $Form.Width = 1000
    $Form.Height = 500
    $Form.StartPosition = "CenterScreen"
    $Icon = [system.drawing.icon]::ExtractAssociatedIcon($PSHOME + "\powershell.exe")
    $Form.Icon = $Icon
    $lb_availablePrinters = New-Object system.windows.Forms.Label
    $lb_availablePrinters.Text = "verfügbare Drucker"
    $lb_availablePrinters.AutoSize = $true
    $lb_availablePrinters.Width = 10
    $lb_availablePrinters.Height = 10
    $lb_availablePrinters.location = new-object system.drawing.point(17,117)
    $lb_availablePrinters.Font = "Verdana,20"
    $Form.controls.Add($lb_availablePrinters)

    $lb_defaultPrinter = New-Object system.windows.Forms.Label
    $lb_defaultPrinter.Text = "aktueller Drucker"
    $lb_defaultPrinter.AutoSize = $true
    $lb_defaultPrinter.Width = 25
    $lb_defaultPrinter.Height = 10
    $lb_defaultPrinter.location = new-object system.drawing.point(450,117)
    $lb_defaultPrinter.Font = "Verdana,20"
    $Form.controls.Add($lb_defaultPrinter)   

    $bt_close = New-Object system.windows.Forms.Button
    $bt_close.Text = "Schließen"
    $bt_close.ForeColor = "White"
    $bt_close.BackColor = "Red"
    $bt_close.Cursor = [System.Windows.Forms.Cursors]::Hand
    $bt_close.Width = 145
    $bt_close.Height = 33
    $bt_close.Add_Click({
    $Form.Close()
    })
    $bt_close.location = new-object system.drawing.point(800,374)
    $bt_close.Font = "Verdana,15,style=Bold"
    $Form.controls.Add($bt_close)
    
    $v_printer = New-Object system.windows.Forms.Button
    $v_printer.Text = "Übersicht verfügbare Drucker"
    $v_printer.AutoSize = $true
    $v_printer.ForeColor = "Black"
    $v_printer.backColor = "White"
    $v_printer.Cursor = [System.Windows.Forms.Cursors]::Hand
    $v_printer.Width = 960
    $v_printer.Height = 33
    $v_printer.Add_Click({
    start-process "\\serverxy\druckerübersicht\"
    })
    $v_printer.location = new-object system.drawing.point(10,28)
    $v_printer.Font = "Verdana,15,style=Bold"
    $Form.controls.Add($v_printer)

   $CHANGEButton = new-object System.Windows.Forms.Button
   $CHANGEButton.Location = new-object System.Drawing.Size(20,330)
   $CHANGEButton.Size = new-object System.Drawing.Size(150,20)
   $CHANGEButton.Text = "Aktualisieren"
   $CHANGEButton.ForeColor = "Black"
   $CHANGEButton.backColor = "White"
   $CHANGEButton.Add_Click({ALL})
   $Form.Controls.Add($CHANGEButton)

    $lb_printer = New-Object system.windows.Forms.Label
    $lb_printer.Text = "$currentPrinter"
    $lb_printer.AutoSize = $true
    $lb_printer.Width = 350
    $lb_printer.Height = 50
    $lb_printer.location = new-object system.drawing.point(450,186)
    $lb_printer.Font = "Verdana,15"
    $Form.controls.Add($lb_printer)
   
    $lstBX_printers = New-Object system.windows.Forms.ListBox
    $lstBX_printers.Width = 300
    $lstBX_printers.Height = 144
    $lstBX_printers.location = new-object system.drawing.point(20,186)
    foreach ($Printer in $Printers)
    {
        $lstBX_printers.Items.Add($Printer)
    }
    $lstBX_printers.Add_Click({
        $Global:currentPrinter = $lstBX_printers.SelectedItem
    })
    $Form.controls.Add($lstBX_printers)
    $bt_setDefault = New-Object system.windows.Forms.Button
    $bt_setDefault.Text = "als Standard einrichten"
    $bt_setDefault.ForeColor = "White"
    $bt_setDefault.BackColor = "Green"
    $bt_setDefault.Cursor = [System.Windows.Forms.Cursors]::Hand
    $bt_setDefault.Width = 300
    $bt_setDefault.Height = 33
    $bt_setDefault.Add_Click({
        (New-Object -ComObject WScript.Network).SetDefaultPrinter($Global:currentPrinter)
        $lb_printer.Text = "$Global:currentPrinter"
        $lb_printer.Refresh()
    })
    $bt_setDefault.location = new-object system.drawing.point(20,373)
    $bt_setDefault.Font = "Verdana,12,style=Bold"
    $Form.controls.Add($bt_setDefault)
    [void]$Form.ShowDialog()
    $Form.Dispose()
    

    
    
    
   


Powershell - Eigenschaften wie Kameramodell auslesen

$
0
0

Hallo zusammen,

ich bin recht neu bei der "programmierung" mit Powershell habe aber einige nützliche Vereinfachungen dadurch entdeckt.

Meine Frage ob ich irgendwie an die Infos wie z.b. Kameramodell oder Auflösung bei Bildern oder andere Eigenschaften bei anderen Dateitypen herankomme, die offensichtlich über get-childitem nicht abgegriffen werden?

Gruß
Senoyches


pipe object, Verständnisfrage

$
0
0

als PowerShell newbee hätte ich eine Verständnisfrage

get-childitem -path c:\users | foreach { copy-item c:\temp\test.txt $($_.fullname)\appdata\local\temp\test.txt}

warum muss man das Object nochmals in Klammern und mit $ angeben

so geht es zb. nicht

get-childitem -path c:\users | foreach { copy-item c:\temp\test.txt $_.fullname\appdata\local\temp\test.txt}

wenn man die Variable innerhalb der Schleife nur am Bildschirm ausgibt liefert sie korrekt den Fullname



Ordnernamen auslesen und damit Berechtigungen setzen bzw. entfernen?

$
0
0

Guten Tag zusammen,

ich hoffe, Ihr könnt mir helfen. Folgendes Szenario: 

Wir haben hier etwa 600 Ordner auf einem Server mit Unterordnern. Die Ordnernamen finden sich im ActiveDirectory als Sicherheitsgruppen wieder. Damit steuern wir, welcher User welchen Zugriff auf welchen Ordner haben darf. 

Da wir nun auf ein DMS umsteigen, soll in diesen Ordner nichts mehr gespeichert werden dürfen, sondern das DMS soll benutzt werden - Leserechte werden aber weiterhin benötigt. 

Jetzt müsste ich theoretisch für jeden Ordner folgendes machen:
Rechtsklick auf den Ordner, Reiter Sicherheit -> Bearbeiten -> denn den Gruppennamen anklicken, der wie der Ordner heißt und dort dann den Haken bei "Schreiben" entfernen.

Habt Ihr da eine Idee, wie man das mit Powershell bewerkstelligen könnte?

Vielen Dank im Voraus.

Benötige Hilfe bei einem Test-Connection script

$
0
0

Hi Community,

ich brauche ein Script das ab start unendlich lange oder bis zum Beenden läuft.
Es soll mit einem Ping die Erreichbarkeit mehrerer Server prüfen.

Bei einem Fehler soll der Servername oder die IP mit Datum und Uhrzeit in eine log Datei geschrieben werden.

Ich bekomme es trotz vielem Googlen nicht hin.
Bitte euch um Hilfe.

Grüße


Powershell Script lässt sich nicht ausführen

$
0
0

Hallo,

Tatort: Windows Server 2019

wenn ich versuche ein Powershell-Script zu starten erhalte ich die Meldung:

Sicherheitswarnung
Führen Sie ausschließlich vertrauenswürdige Skripts aus. Skripts aus dem Internet können zwar nützlich sein, stellen
jedoch auch eine potenzielle Gefahr für Ihren Computer dar. Wenn Sie diesem Skript vertrauen, lassen Sie mit dem Cmdlet
 "Unblock-File" die Ausführung des Skripts ohne die Warnmeldung zu. Möchten Sie "\\server\c$\Sicherung\bare.ps1"
ausführen?
[N] Nicht ausführen  [M] Einmal ausführen  [H] Anhalten  [?] Hilfe (Standard ist "N"):

von diesem Script aus wird ein weiteres Script aufgerufen, welches mit folgender Meldung abgebrochen wird:

invoke-command : Die Datei "\\server\c$\Sicherung\bare.ps1" kann nicht geladen werden, da Sie festgelegt haben, diese
Software jetzt nicht auszuführen.

Die Ausführung habe ich mit get-executionpolicy geprüft (auch mit den Parametern -scope currentuser und localmachine)

in der Registry befindet sich auch der richtige Eintrag und in den Gruppenrichtlinien unter "Computerkonfiguration - Windows-Einstellungen - Sicherheitseinstellungen - Lokale Richtlinien - Sicherheitsoptionen" habe ich die Einstellungen "Benutzerkontensteuerung: Alle Administratoren im Administratorengenehmigungsmodus ausführen" deaktiviert.

Auf früheren Serverversionen (2008R2, 2012R2) laufen die Scripte problemlos.

Vielen Dank vorab

Armin

Exchange Mailbox Berichtigung ändern, multiple objects with were found

$
0
0

hallo zusammen,

moin,

wir haben noch Altlasten von den Migrationen bei den Mailboxberechtigungen. Derzeit gibt es noch viele Mailboxen in denen  der User mit FullAccess berechtigt ist. Bei neuen Postfächern ist  NT Authority\Self mit FullAccess berechtigt. 

wir wollten jetzt den alten User löschen und mittels

add-mailboxpermission "UserXYZ" -user "SELF" -accessrights FullAccess

den SELF mit FullAccess berechtigen. Leider gibt es scheinbar im AD bereits mehrere Berechtigung mit SELF daher kommt es zu einem Error.

Multiple objects with Sid S-1-5-10 were found

Kompletter Wert wird nicht angezeigt

$
0
0

Hallo,

ich habe mir folgende Script geschrieben und die Berechtigungen auslesen zu können

cls
Get-Acl -path “C:\Temp” |  Select AccessToString | Format-Table -AutoSize

Wie bringe ich mein Script dazu, dass der kompl. Wert in der Zeile ausgegeben wird.

Ausgegeben werden sollte alle Berechtigungen:


Wo liegt mein Fehler?

Powershell Script über Aufgabenplanung / Start-Process

$
0
0

Hallo,

ich habe ein kleines Powershell-Script geschrieben, dass mir per Robocopy Dateien von a nach b kopiert.
Starte ich das Script manuell oder im ISE funktioniert alles reibungslos.

Starte ich das Script aber über die Aufgabenplanung (per bat-Datei Powershell.exe -ExecutionPolicy Bypass -Command "& 'psscript.ps1'"), wird ein Ordner kopiert/angelegt und dann beendet sich robocopy. Beim nächsten Start der Aufgabe, wird dann der/die Unterordner des zuvor angelegten Ordners angelegt usw.

Was ist das Problem? 

vG 


Script zum Herausfiltern von spezifischen Infos aus .csv

$
0
0

Guten Tag, ich möchte mit einem Script ein Excel File  (csv) eine bestimmte Spalte (in diesem Fall B) mit einem Suchwort bzw. String (Alternative XChangePro) durchlesen. Jeden mal wenn eine Zeile den Such-String enthält soll es den dazugehörigen Namen in der anderen Spalte dazu Speichern. Der Output soll den Namen und das Feedback gefiltert enthalten. Wie folgt:

Source:

        A                          B

    Sandra         Alternative XChangePro        

    Brigitte           nicht benötigt

     Peter             nicht benötigt

    Ulrich          Alternative XChangePro

    Florian            nicht benötigt

Gewünschter Output:

        A                          B

    Sandra         Alternative XChangePro

    Ulrich           Alternative XChangePro 

Wie könnte ich das ganze Angehen? Gibt es schon Ansätze? Sollte ich das Problem anders angehen?

Task startet zwar Powershelscript aber dieses startet wiederum Excel nicht.

$
0
0

Hallo

Ich arbeite in einem größeren Unternehmen
Ich habe zwei Acount's (Username) der eine ist mein persönlicher Benutzername
der andere soll automatische Task abarbeiten (Rechnername)

Ich möchte in Regelmäßigen abständen Informationen von SAP in eine Exceldatei schreiben.

Ich habe einen Task angelegt der automatisch dies über den Usernamen Acount machen soll.
(Da der Rechnernamen Acount keine Rollen und Rechte für SAP besitzt)
Die dafür notwendigen Rechte wurden von der IT dem Username erteilt.

mit dem Rechnername Acount kann der Task das Powershell script starten und dieses wiederum Excel
(SAP Abfrage geht nicht mit Rechnername!)

mit dem Usernamen Acount kann der Task nur das Powershell script starten! Excel wird nicht gestartet.

Kann mir jemand einen Tipp geben!

P.S. Wenn ich die Powershell script's von Hand starte, laufen diese durch ohne Probleme egal mit welchem Acount!

Bereich in Text bzw. Objekt suchen und auslesen

$
0
0

moin,

wie kann man am besten aus dem Ergebnis siehe Beispiel die zweite SID auslesen?

$Fehler = Get-EventLog "application" | where InstanceID -eq "4732" | select -First 1

erzeugt als Ergebnis. Davon bräuchten wir jetzt nur die zweite Sicherheits-ID:

mit Select-STring ist es mir (noch) nicht  gelungen.

Ein Mitglied einer sicherheitsaktivierten lokalen Gruppe wurde hinzugefügt.

Antragsteller:
    Sicherheits-ID:        S-1-5-18
    Kontoname:        PCF001$
    Kontodomäne:        company
    Anmelde-ID:        0x3e7

Mitglied:
    Sicherheits-ID:        S-1-5-21-868834276-138477499-109703633-4374
    Kontoname:        -

Gruppe:
    Sicherheits-ID:        S-1-5-32-544
    Gruppenname:        Administratoren
    Gruppendomäne:        Builtin


Chris

Dateieigenschaften auslesen.

$
0
0
Hallo,

bitte entschuldigt wenn diese Frage naiv erscheint, aber ich bin relativ neu im Umgang mit der Powershell.
Ich versuche mit Hilfe von Powershell den Autor und denjenigen herauszufinden der eine Datei letzmalig gespeichert hat. Bisher ist es mir nur gelungen mit Hilfe von:
Get-ChildItem C:\temp\test.xlsm | Select @{Name="Owner";Expression={(Get-ACL $_.Fullname).Owner}}
Den Owner herauszufinden.

Was ich allerdings suche ist das Folgende:
Wenn man mit der rechten Maustaste auf eine Datei und dann auf <Eigenscahfften> klickt kann man im Reiter <Dtails> unter <Ursprung> die Werte für "Autoren" und "Zuletzt gespeichert von" einsehen.

Mir gelingt es irgendwie nicht diese Datei-Attribute auszulesen.
Könnt ihr helfen?


Viele Grüße
PeRo

SQL Abfrage in ComboBox füllen

$
0
0

Hi

Ich versuche mit Powershell ein GUI mit mehreren ComboBox und TextBox zu machen. Befüllt werden sollen sie aus einem Resultat einer SQL Abfrage ($sqlReturn). Darin sind alle Daten enthalten, die ich für die GUI benötige. Nur halt separat gefiltert, je nach Auswahl in einer ComboBox ..

Hier ein Auszug der Abfrage, wenn ich $sqlReturn direkt auf der Konsole ausgebe:

zNummer   zUser                 zANummer        zNachname             
--------- --------------------- ----------      ---------             
I19_045   (nicht zugewiesen)    XY 2019 212     Müller                 
I14_014   (nicht zugewiesen)                    Testeintrag           
I19_065   kurz1                 XY 2019 1172    Meier              
I19_050   kurz1                 XY 2019 1177    Marfurt                
I19_048   kurz3                 XY 2019 467     Müller
I19_048   kurz3                 XY 2019 467     Peter 

Die erste ComboBox enthält alle Namen (zUser), die in $sqlReturn vorkommen. Das klappt soweit ..

# Aus einem INI File wird der default User ausgelesen
$inifile = Get-IniContent "$PSScriptRoot\include\meinFile.ini"
$USR = $inifile["User"]["user"]

$sqlReturn = Get-SQLData $srv1 $srv2 $srv3 $srv4 $sqlString

# erste ComboBox mit User
$DropDownArray0 = $sqlReturn.zUser | Get-Unique

#  Ab hier beginnt dann die GUI
#  Nur ein Auszug von der ersten ComboBox

  $objComboBox0.Items.AddRange($DropDownArray0)
  $objForm.Controls.Add($objComboBox0)
  # ComboBox Zeiger auf default User legen
  $objComboBox0.Text = $USR

Die zweite ComboBox soll nun, abhängig vom ausgewählten User in der ersten ComboBox, die in der SQL Abfrage vorhandenen Nummern (zNummer) ausgeben.

Wenn in der ersten ComboBox also 'kurz1' ausgewählt wurde, soll in der zweiten ComboBox 'i19_050' und 'I19_065' zur Auswahl stehen.

Ohne jetzt bereits schon auf den dynamischen Wechsel der Anzeige von ComboBox 2, in Abhängigkeit zu ComboBox 1 einzugehen, wollte ich erst einmal nur die gefilterten Daten für die zweite ComboBox aufbereiten. Allerdings scheitere ich an der Filterung...

Hier mal einer meiner Versuche an ein Ergebnis zu kommen ..

# auch hier nur ein Auszug aus der GUI ..
#  nach Einträgen für erste ComboBox ..

 # gib den augewählten zUser  der ersten ComboBox zurück
  $UserName = $objComboBox0.SelectedItem

# jetzt das Aufbereiten der SQL Abfrage für die zweite ComboBox
  ForEach($row1 in $script:sqlReturn) {
    $dda1 = $row1.zUser
    If ($dda1 -contains $UserName) {
      $DropDownArray1 = $row1.zNummer
    }
  }

  # nur einmalige zNummern zur Auswahl geben
  $DropDownArray1 = $DropDownArray1 | Get-Unique
    
  # zNummern des Users in ComboBox abfüllen
  $objComboBox1.Items.AddRange($DropDownArray1)
  
  $objForm.Controls.Add($objComboBox1)

Wie bereits erwähnt, das liefert leider alle zNummern aus der SQL Abfrage zurück, ohne zusätzlicher Datenreduktion auf die Datensätze von UserName ..

Vielleicht hat mir ja jemand einen Tipp dazu. Vielleicht auch gleich einen Hinweis darauf, wie ich die Abhängigkeit der ComboBoxen wärend der Laufzeit der GUI hinbekomme?



Viewing all 2314 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>