Kategorien
Scripte

Disconnect users with WMI

Ein kleines Script um einen Benutzer remote oder lokal abzumelden (disconnect). Benötigt wird ein administrativer Zugriff aus das System. Nützlich für zeitgesteuerte Aufgaben zu starten.

Benutzer abmelden
rechnername = InputBox("Rechnername?")
WMI Scripting Interface
Set ISWbemLoc = CreateObject("WbemScripting.SWbemLocator")
ISWbemLoc.Security_.Privileges.Add 18
user = InputBox("Benutzername?",,"Administrator")
pwd = InputBox("Kennwort?")
Set wmi = ISWbemLoc.ConnectServer(rechnername, "root/cimv2", user, pwd)
Set ossam = wmi.InstancesOf("Win32_OperatingSystem")
For each os in ossam
	Set thisoss = os
	exit For
Next
MsgBox thisoss.GetObjectText_
antwort = MsgBox("Wollen Sie den Benutzer abmelden?", vbYesNo + vbQuestion + vbSystemModal)
If antwort = vbYes then
	thisoss.Win32Shutdown 0, 0
End If

513 B

Kategorien
Scripte

Service Packs und Fixes mit PowerShell

Powershell Logo

Einführung

Ein wichtiger Bestandteil der Aktualisierung von Betriebssystemen und Anwendungen sind Service Packs und Hotfixes. Mit PowerShell, Microsofts mächtiger Skriptsprache und Kommandozeileninterpreter, kannst du Informationen über installierte Service Packs abrufen. Hier ein Beispiel, wie das geht.

Du kannst das WMI-Objekt (Windows Management Instrumentation) verwenden, um diese Informationen abzurufen.

Hier ist ein Beispiel, wie du die installierten Service Packs mit PowerShell abrufen kannst.

# Verwende das WMI-Objekt, um Informationen zu den installierten Service Packs abzurufen
$servicePacks = Get-WmiObject -Class Win32_OperatingSystem | Select-Object -ExpandProperty ServicePackMajorVersion

# Gib die installierten Service Packs aus
Write-Host "Installierte Service Packs:"
$servicePacks | ForEach-Object { Write-Host "- $_" }

Danach folgt hier ein Beispiel, wie du die installierten Hotfixes abrufen kannst.

# Verwende das WMI-Objekt, um Informationen zu den installierten Hotfixes abzurufen
$hotfixes = Get-WmiObject -Class Win32_QuickFixEngineering | Select-Object -Property HotFixID

# Gib die installierten Hotfixes aus
Write-Host "Installierte Hotfixes:"
$hotfixes | ForEach-Object { Write-Host "- $_.HotFixID" }

Anschließend wird der Code kombiniert und ergibt das nachfolgende Script.

# Service Packs abrufen
$servicePacks = Get-WmiObject -Class Win32_OperatingSystem | Select-Object -ExpandProperty ServicePackMajorVersion

if ($servicePacks) {
    Write-Host "Installierte Service Packs:"
    foreach ($sp in $servicePacks) {
        Write-Host "Service Pack $sp"
    }
}
else {
    Write-Host "Es sind keine Service Packs installiert."
}

# Hotfixes abrufen
$hotfixes = Get-WmiObject -Class Win32_QuickFixEngineering

if ($hotfixes) {
    Write-Host "Installierte Hotfixes:"
    foreach ($hotfix in $hotfixes) {
        $hotfixId = $hotfix.HotFixID
        $description = $hotfix.Description
        Write-Host "Hotfix ID: $hotfixId"
        Write-Host "Beschreibung: $description"
        Write-Host "-----"
    }
}
else {
    Write-Host "Es sind keine Hotfixes installiert."
}

Die WMI Klassen

Diese Beispiele verwenden die WMI-Klassen Win32_OperatingSystem und Win32_QuickFixEngineering, um die benötigten Informationen abzurufen. Die Ausgabe zeigt die installierten Service Packs bzw. Hotfixes an.

Die WMI-Klasse Win32_OperatingSystem ist eine Klasse in der Windows Management Instrumentation (WMI), die Informationen über das Betriebssystem eines Computersystems bereitstellt. Diese Klasse enthält eine Vielzahl von Eigenschaften und Methoden, mit denen man verschiedene Aspekte des Betriebssystems abfragen kann.

Die Win32_QuickFixEngineering-Klasse ist eine WMI-Klasse (Windows Management Instrumentation) in Windows-Betriebssystemen, die Informationen über installierte Windows-Sicherheitsupdates, Hotfixes und Service Packs enthält. Sie ermöglicht den Zugriff auf Informationen über Patches und Updates, die auf einem Windows-System installiert wurden, um bekannte Probleme, Sicherheitslücken oder Fehler zu beheben. Die Klasse enthält verschiedene Eigenschaften, die Details zu den installierten Updates liefern. Dazu gehören der Name des Updates, die Beschreibung, das Installationsdatum und der Status (installiert, deinstalliert usw.).

Bitte beachte, dass du administrative Rechte benötigst, um auf diese Informationen zuzugreifen.