Powershell: Computer zwischen Collections verschieben

Ihr habt sicher auch schon (mehr als) einmal vor der Anforderung gestanden, Computerkonten in oder aus einer Sammlung aufzunehmen bzw. zu entfernen. Bei einzelnen Computerkonten ist das sicherlich einfach über die ConfigMgr Console zu lösen, doch sind mehrere Computerkonten betroffen, kann es doch recht aufwendig werden!

Vor kurzem bekam ich eine Anforderung, bei der ich wieder vor einer ähnlichen Problemstellung stand und habe zur Powershell gegriffen. Was dabei heraus gekommen ist, möchte ich euch mit diesem Artikel gerne näher erläutern. Read more

Bestehenden Tasksequenzschritt in einer Tasksequenz editieren

In diesem Beitrag möchte ich euch zeigen, wie ihr einen Tasksequenzschritt, in einer Tasksequenz über Powershell verändern könnt.

Was ist zu tun?

  1. Bestehende Tasksequenz laden (Get-CMTaskSequence)
  2. IResultObject “TaskSequence” aus dem TaskSequencePackage ziehen
  3. Existierenden Tasksequenzschritt aus der Tasksequenz heraussuchen und Werte ändern.
  4. Speichern der Änderungen

Wenn ihr meinen ersten Beitrag hierzu kennt, kommen euch die Schritte sicher bekannt vor. Wenn nicht, schaut ihn euch ggf. noch einmal an, denn ich werde hier nur auf den Punkt 3. näher eingehen 🙂 Bestehende Tasksequenz über Powershell editieren.

Im Unterschied zum Hinzufügen eines neuen Tasksequence Step, werden wir die bestehenden Tasksequenz zunächst nach dem Schritt durchsuchen, den wir ändern wollen. Read more

Auslesen der Computer Variables per Powershell Script

Sicher seid ihr schon auf die Computer Variables (Eigenschaften eines Gerätes/ Reiter: Variables) gestoßen oder nutzt dieses vielleicht sogar in euren Tasksequenzen. Innerhalb der Tasksequenzen ist der Zugriff auf die Computer Variables analog zur den Tasksequenz Variables: Entweder über den Tasksequenz-Schritt oder schlicht als Umgebungsvariable, innerhalb des “Run Command Line”-Schrittes, in dem die Variable in “%” gesetzt wird.

Doch wie sieht es aus, wenn der Wert ausserhalb der Tasksequenz abgefragt werden soll?

In diesem Artikel möchte ich euch den Weg über Powershell beschreiben. Read more

Fatal Error beim Ausführen von sysprep in der Windows 10 Technical Preview Build 9926

Wenn man das aktuelle Build 9926 der Windows 10 Preview auf einem Arbeitsgruppen Computer installiert und aktualisiert, kann es bei einem anschließenden Sysprep zu einem Fatal Error kommen.

Das folgende Skript deinstalliert die Apps, die ein erfolgreiches Sysprep verhindern (Stand 11.03.2015):

$appstoremove = "getstarted","insider","maps","bingnews","windowsstore","windows.photos","bingtravel","bingsports","windowsalarms","xboxlive","bingfinance","office.onenote","skype","zunevideo","bingweath","xboxapp","zunemus","binghealth"
 foreach($app in $appstoremove)
 {
 Get-AppxPackage -Name ("*" + $app + "*") | Remove-appxpackage
 }

Bestehende Tasksequenz über Powershell editieren

Angenommen es soll eine (oder mehrere) Tasksequence um einen (oder mehrere) Schritte erweitert werden. Eine Lösung wäre den Auszubildenden endlich wieder eine sinnvolle Aufgabe zu übergeben 😉 Eine andere, das Problem mittels Powershell-Scripting zu lösen.

Ich habe mich für das Scripting entschieden ..

Was ist zu tun?

  1. Bestehende Tasksequenz laden (Get-CMTaskSequence)
  2. IResultObject “TaskSequence” aus dem TaskSequencePackage ziehen
  3. Neuen Tasksequenzschritt “SMS_TaskSequence_*Action” erzeugen
  4. Neuen Tasksequenzschritt in die bestehende Liste aufnehmen
  5. Speichern der Änderungen

Read more

Device Collections, Abfrage des Primary User und Active Directory Gruppe

Will man eine Collection dynamisch füllen, greift man auf eine Abfrageregel (Query Rule) zurück. Dabei werden WQL Abfragen erstellt, mit deren Ergebnis die Collection befüllt wird. Der Datenpool, auf den dabei zurückgegriffen wird, ist entsprechend des Collection Types, auf bestimmte Ressourcen Klassen eingeschränkt. So können bspw. bei einer Device Collection, nur die Daten der “System Resource” und “Unknown Systems” abgefragt werden.

Im Normalfall ist das auch passend, da die Device Collections nur Devices enthalten dürfen und umgekehrt.

Soll jetzt eine Device Collection gefüllt werden bei deren Filterkriterien Daten eines zugeordneten primären Benutzers, wie zum Beispiel die Mitgliedschaft einer Active Directory Gruppe, abgefragt werden, kommt man mit der Abfrage nicht weit. Denn die benötigten “User Resource” oder “User Group Resource” stehen in der Device Collection nicht zur Verfügung.

Wie man dennoch zum Ergebnis kommt, möchte ich in diesem Post erläutern. Read more