Login

Blog

Blogs von Consultants der NWC Services GmbH
0

Task Sequence Variablen im PE auslesen

Um den Grad der Dynamisierung einer Installation zu erhöhen bieten sich in SCCM bekanntlich mehrere Stellen an, an denen Variablen gesetzt werden können. Hierbei gilt jedoch die Reihenfolge der Abarbeitung zu beachten, sofern dieselbe Variable an unterschiedlichen Stellen verwendet wird. Grundsätzlich werden zuerst Sammlungsvariablen ausgewertet, danach Gerätespezifische Variablen die die Sammlungsvariablen im Ernstfall überschreiben und danach Task Sequenz Variablen die den Wert der Gerätespezifischen Variablen wiederrum überschreiben würden. Hinzu kommt die Tatsache, dass diese Variablen immer nur zur Laufzeit einer Task Sequenz verwendet werden können und danach nicht mehr zur Verfügung stehen.

 

In manchen Fällen, wie z.B. bei einer Neuinstallation eines Computers, kann es jedoch durchaus hilfreich sein sich alle während der OS Installationsphase verfügbaren Task Sequenz Variablen anzeigen oder im Bedarfsfall sogar weg schreiben zu lassen um diese auch nach der Ausführung der Task Sequenz, wenn auch nur mit den zur Laufzeit aktuellen Werten, zur Verfügung zu haben.

 

In diesem Artikel möchte ich kurz darauf eingehen wie man sich während einer Neuinstallation im PE alle Task Sequenz Variablen anzeigen lassen und diese z.B. in Form einer Log Datei oder in der Registry speichern kann.

Continue reading
0

Informationen von eigenen ODS Wartungsplänen per PowerShell auslesen

Seit geraumer Zeit besteht in DSM die Möglichkeit, eine ODS Variable vom Typ "Zeitplan" zu erstellen. Da diese Variable im eScript über die "If"-Anweisung "IsInTimeframe" geprüft werden kann, ergeben sich hieraus gerade für Installationen viele neue Möglichkeiten. Somit wäre es denkbar einen Softwarerollout in mehrere "dynamische Phasen" (führe Aktion 1 aus wenn innerhalb Wartungszeitfenster und Aktion 2 wenn nicht) zu unterteilen, ohne das der DSM Administrator weitere Änderungen am eScript oder der Policy vornehmen muss, wie es oft bei der Verteilung von Patchen oder z.B. auch einer schleichenden Windows 10 Migration gewünscht ist. Ein "Aufschieben" oder "Erweitern" des Zeitplanes greift bei Ausführung des eScripts sofort.

Möchte man nun im eScript den "Beginn" oder das "Ende" des Wartungszeitplans herausfinden, gibt es für den Builtin DSM Wartungszeitplan den eScript Befehl "GetMaintenanceTimes". Leider ist es über diesen Befehl aber zum jetzigen Zeitpunkt nicht möglich einen eigenen Wartungsplan auszulesen um die gewünschten Informationen zu erhalten. Weist man den Wartungsplan einer DSM Variablen zu und lässt sich den Inhalt ausgeben, erscheint die Interpretation dieses codierten Strings auf den ersten Blick relativ schwierig.

Hier ein Custom Wartungszeitplan und der Inhalt der ODS Variablen als String:

b2ap3_thumbnail_Wartung1.png

1;AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA;AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgP///z8AAAAA

In diesem Artikel möchte ich zeigen, wie der angezeigte String per PowerShell interpretiert und die darin enthaltene Information in DSM weiterverarbeitet werden kann. Dies würde sich sowohl mit als auch ohne PSX realisieren lassen.

Continue reading
0

PowerShell-Scripts in DSM 7 (Teil III)

Im heutigen (recht kurzen) Blogeintrag soll es nun um das noch nicht beschriebene Cmdlet Get-NiInstParam gehen.

Mit diesem Cmdlet wird nicht – wie man anhand des Namens womöglich vermuten könnte (und wovon ich bei meinen ersten Tests auch ausgegangen bin) – der Wert eines für das entsprechende Paket definierten Installations-Parameters ermittelt...

Continue reading
0

PowerShell-Scripts in DSM 7 (Teil II)

In diesem Teil der Artikelserie über die PowerShell Scriptingmöglichkeiten in DSM 7 soll es nun um die konkrete Anwendung gehen.

Wie beim Scripting-Support für VBScript, JScript und Perl-Scripts, besteht auch für PowerShell-Scripts die Möglichkeit, lesend auf NetInstall-Variablen zuzugreifen oder die Werte von NetInstall-Variablen zu setzen. Dazu werden über das PowerShell-Modul Enteo.Powershell.ScriptCmdlet.dll, das Teil des DSM 7 Clients ist, folgende Cmdlets zur Verfügung gestellt:

  • Get-NIVar
  • Set-NIVar
  • Write-NIReport
  • Set-NIError
  • Get-NiInstParam
Continue reading
1

PowerShell-Scripts in DSM 7 (Teil I)

Eine der wenig bekannten (und noch schlechter dokumentierten) Neuerungen in DSM 7, ist die Unterstützung von PowerShell innerhalb von DSM 7 Scripts.

Da sich PowerShell und die PowerShell-Scriptsprache ja mehr und mehr als die Automatisierungs-Schnittstelle im Windows-Umfeld herauskristallisieren, ist diese Unterstützung ein wichtiger Baustein im Gesamtkonzept einer LifeCycle-Management Strategie.

Dieser Artikel ist der erste einer kleinen Serie  von Posts, in der die neuen Möglichkeiten aufgezeigt werden sollen...

Continue reading