Blog

Hier poste ich dinge zu Themen die mich beschäftigten.

Neueste 5 Einträge

  • PHP: sende Mail
  • Powershell: gruppename like finden und aktivierte user zaehlen
  • HW und SW auslesen und exportieren
  • Angeschlossene Monitore auslesen
  • bash: deepL Pro Paket MAC OS

2023-04-30

Powershell gui und psexec

Sie können ein PowerShell-Skript erstellen, das eine einfache grafische Benutzeroberfläche (GUI) bereitstellt, um den Computernamen für PSEXEC einzugeben und einige Standard-PSEXEC-Befehle über ein Zahlenmenü auszuführen. Hier ist ein Beispiel:

“`powershell
Add-Type -AssemblyName System.Windows.Forms

# PSEXEC-Pfad
$psexecPath = “C:pathtopsexec.exe” # Ändern Sie dies entsprechend dem Pfad Ihrer PSEXEC-Datei

# GUI-Elemente erstellen
$form = New-Object System.Windows.Forms.Form
$form.Text = “PSEXEC GUI”
$form.Size = New-Object System.Drawing.Size(300, 150)
$form.StartPosition = “CenterScreen”

$label = New-Object System.Windows.Forms.Label
$label.Text = “Enter target computer name:”
$label.AutoSize = $true
$label.Location = New-Object System.Drawing.Point(10, 20)
$form.Controls.Add($label)

$textBox = New-Object System.Windows.Forms.TextBox
$textBox.Location = New-Object System.Drawing.Point(10, 40)
$form.Controls.Add($textBox)

$okButton = New-Object System.Windows.Forms.Button
$okButton.Text = “OK”
$okButton.Location = New-Object System.Drawing.Point(200, 40)
$okButton.Size = New-Object System.Drawing.Size(75, 23)
$okButton.DialogResult = [System.Windows.Forms.DialogResult]::OK
$form.Controls.Add($okButton)

$form.AcceptButton = $okButton

# Funktion zum Ausführen von PSEXEC-Befehlen
function Run-PsexecCommand {
    param (
        [string]$ComputerName,
        [string]$Command
    )

    & $psexecPath \$ComputerName $Command
}

# Hauptausführung
$result = $form.ShowDialog()

if ($result -eq [System.Windows.Forms.DialogResult]::OK) {
    $computerName = $textBox.Text

    $menu = @”
Select an option:
1. Open remote command prompt
2. Restart remote computer
3. Shutdown remote computer
“@

    $choice = Read-Host -Prompt $menu

    switch ($choice) {
        “1” {
            Run-PsexecCommand -ComputerName $computerName -Command “cmd.exe”
        }
        “2” {
            Run-PsexecCommand -ComputerName $computerName -Command “shutdown.exe /r /t 0”
        }
        “3” {
            Run-PsexecCommand -ComputerName $computerName -Command “shutdown.exe /s /t 0”
        }
        default {
            Write-Host “Invalid choice. Exiting.”
        }
    }
}
“`

Dieses Skript erstellt eine einfache GUI, in der Sie den Computernamen eingeben können. Nachdem Sie auf “OK” geklickt haben, wird ein Zahlenmenü angezeigt, in dem Sie eine der verfügbaren Optionen auswählen können:

1. Öffnen Sie die Remote-Eingabeaufforderung.
2. Starten Sie den Remote-Computer neu.
3. Schalten Sie den Remote-Computer aus.

Passen Sie den `$psexecPath` an den tatsächlichen Pfad Ihrer PSEXEC-Datei an. Fügen Sie bei Bedarf weitere PSEXEC-Befehle hinzu, indem Sie dem switch-Anweisungsblock im Skript zusätzliche Optionen hinzufügen.

Admin - 19:39:07 @ Projekte, Powershell-Skripte | Kommentar hinzufügen

Kommentar hinzufügen

Die Felder Name und Kommentar sind Pflichtfelder.

Um automatisierten Spam zu reduzieren, ist diese Funktion mit einem Captcha geschützt.

Dazu müssen Inhalte des Drittanbieters Google geladen und Cookies gespeichert werden.