Sicherheitshinweis

Die hier bereitgestellten Skripte sind stets auf eigene Gefahr anzuwenden!
Daher immer erst mit einem nicht-kritischen System oder in einer Testumgebung ausführlich testen!


Einleitung

Es ist nicht ohne Weiteres erkennbar bzw. auslesbar, welche SQL-Datenbankversion die WSUS-Installation aktuell nutzt. Diese Information kann wichtig werden, wenn z.B. das zu verwendete Microsoft SQL Server Management Studio (SSMS) ermittelt werden muss.

Voraussetzungen

In diesem Beitrag erläutere ich, wie diese Tätigkeiten mittels der Kommandozeile entsprechend durchgeführt werden können. Jedoch sind hierzu gewisse Voraussetzungen zu treffen, damit auf die SUSDB aus der Kommandozeile erfolgreich zugegriffen werden kann. Daher sind die folgenden Installationen zwingende Voraussetzungen…

Möglichkeit 1:

  • Microsoft SQL Server Management Studio (SSMS) (Download)
    – Ersetzt Möglichkeit 2! –

Möglichkeit 2:

  • Microsoft Visual C++ 201x Redistributable (Download)
  • Microsoft ODBC Driver 17 for SQL Server (Download)
  • Microsoft Befehlenszeilenprogramm 15 für SQL Server (Download)
    – Ersetzt Möglichkeit 1! –

Vorbereitungen

Aus der Kommandozeilenebene heraus, wird eine *.sql- Datei aufgerufen und ausgeführt. Deswegen muss zuvor noch eine entsprechende *.sql- Datei erstellt werden. Die Bennenung der SQL-Datei ist grundsätzlich egal!

SQL-Skript:

USE SUSDB;
GO
SET NOCOUNT ON;
SET QUOTED_IDENTIFIER ON;
SELECT SERVERPROPERTY('Edition') AS [edition];
SELECT @@Version;
GO

Für den späteren Aufruf in der Kommandozeile, die *.sql- Datei entsprechend lokal auf dem System abspeichern. Für die Automatisierung bietet sich auf der Kommandozeile ebenfalls eine entsprechende *.cmd- Datei an.

CMD-Skript-Beispiel:

REM ============================================================================
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
SET CMDNAME=%~NX0 (%~Z0 Bytes) 
TITLE %CMDNAME%
MODE CON:COLS=81 LINES=12
COLOR 1F
REM - Run SQL Script to prepare the database environment
REM [-S Server]
REM [-E vertrauenswürdige Verbindung]
REM [-i Eingabedatei]
REM [-o Ausgabedatei]
REM [-W nachfolgende Leerzeichen entfernen]

ECHO Preparing Databases...
Sqlcmd -S "np:\\.\pipe\MICROSOFT##WID\tsql\query" -E -i "C:\Scripts\WSUS\db_ver.sql" -o "C:\Scripts\WSUS\_LOG\db_ver.log" -W
ENDLOCAL
EXIT /B %ERRORLEVEL%
REM ============================================================================

(Ist die WSUS-DB umbenannt bzw. besitzt einen anderen DB-Namen, muss der entsprechende Aufruf abgeändert werden: \.\pipe\MICROSOFT##WID\tsql\query)

Für den späteren Aufruf in der Aufgabenplanung, die *.cmd- Datei entsprechend lokal auf dem System abspeichern. Zusätzlich muss das LOG-Verzeichnis zuvor erstellt sein. Die Speicherpfade an die eigenen Bedürfnisse anpassen!

-E -i "C:\Scripts\WSUS\db_ver.sql" -o "C:\Scripts\WSUS\_LOG\db_ver.log" -W


WSUS-Datenbankversion auslesen

Sind die Vorbereitungen abgearbeitet, ist die Durchführung der ausstehenden Aktionen schnell getan.

Variante 1:

  • Die *.cmd- Datei manuell mit administrativer Berechtigungen starten und ausführen.

Variante 2:

In der Aufgabenplanung eine neue Aufgabe erstellen und hierbei auf die folgenden Optionen achten…

  • Allgemein (Reiter) –> Sicherheitsoptionen –>
    Unnabhängig von der Benutzeranmeldung ausführen
  • Allgemein (Reiter) –> Sicherheitsoptionen –>
    Mit höchsten Privilegien ausführen
  • Allgemein (Reiter) –> Konfigurieren für:
    Windows Server 20xx
  • Aktionen (Reiter) –> Neu –> Aktion: –>
    Programm starten
  • Aktionen (Reiter) –> Neu –> Einstellungen –> Programm/Skript –>
    C:\Scripts\WSUS\db_ver.cmd

Prüfung der WSUS-Datenbankversion

Die Kontrolle, welche Datenbankversion installiert ist, ist aus der erstellten LOG-Datei zu entnehmen.

Beispiel:

C:\Scripts\WSUS\_LOG\db_ver.log


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Time limit is exhausted. Please reload CAPTCHA.