{"id":626,"date":"2018-03-21T10:48:51","date_gmt":"2018-03-21T09:48:51","guid":{"rendered":"http:\/\/lukas.kurth.rocks\/blog\/?p=626"},"modified":"2018-03-21T11:01:22","modified_gmt":"2018-03-21T10:01:22","slug":"sccm-task-sequence-manipulation","status":"publish","type":"post","link":"https:\/\/lukas.kurth.rocks\/blog\/2018\/03\/21\/sccm-task-sequence-manipulation\/","title":{"rendered":"SCCM Task Sequence Manipulation"},"content":{"rendered":"<p>Lange ist es her, dass ich mal etwas geschrieben habe. Etwas schwer, wenn man sich in einen neuen Job einarbeitet; Da hat man kaum Lust noch etwas online zu stellen.<\/p>\n<p>Hier kann ich nun endlich mal mit einer vern\u00fcnftigen (wenn auch nicht an allen Punkten durchdachten) Software-Verteilung arbeiten. Auch PowerShell kann ich weiter verteifen, womit auch auch direkt zu meinem letzten Problem komme: Die Anzeige von mehr Schritten, als SCCM mit wei\u00dfmachen wollte. Im Netz kursieren dazu unter anderem Guides zum manipulieren von <a href=\"https:\/\/blogs.technet.microsoft.com\/mniehaus\/2010\/03\/26\/hiding-and-showing-the-task-sequence-progress-dialog-box\/\">MDT Scripts (ZTIUtility.vbs) unter ConfigMgr2007<\/a>. (<a href=\"https:\/\/slightlyovercomplicated.com\/2017\/03\/20\/how-to-control-progress-bar-in-mdtsccm-task-sequence-using-vbscript\/\">2 (VBScript, der Name der Seite passt irgendwie dazu :D)<\/a>, <a href=\"http:\/\/www.scconfigmgr.com\/2016\/11\/28\/hide-and-resume-a-task-sequence-in-configmgr-using-microsoft-sms-tsenvironment-and-c\/\">3 (SMS und C)<\/a>). Da ich aber mit PowerShell Script bestimmte Einstellungen vornehmen m\u00f6chte, suche ich nach etwas anderem.<\/p>\n<p>Damit ich darauf sp\u00e4ter wieder zugreifen kann (und vielleicht auch dem einen oder andern damit helfe) hier die Fortschritts-Manipulation:<\/p>\n<pre class=\"toolbar:1 wrap:true lang:ps mark:2,6,12,19 decode:true\" title=\"SCCM Powershell Task Sequence Manipulation\"># Task Sequence Fortschritt\r\n$TSProgressUI = New-Object -COMObject Microsoft.SMS.TSProgressUI\r\n#$TSProgressUI.CloseProgressDialog() #IST NICHT NOTWENDIG ;-)\r\n\r\n# Task Sequence Variablen\r\n$TSEnv = New-Object -COMObject Microsoft.SMS.TSEnvironment\r\n\r\n# Fortschritt der PowerShell im SCCM Log Pfad speichern\r\nStart-Transcript -Path \"$($TSEnv.Value(\"_SMSTSLogPath\"))\\$($env:COMPUTERNAME)_$(Get-Date -Format \"yymmdd-HHmmss\").txt\" -Append -Force\r\n\r\n#(Organisation,TaskSequenceName,Title\/FortschrittDialog,AktuelleAction,AktuellerSchritt,MaxSchritte,AktionsInfo,AktionsSchritt,AktionenGesamt)\r\n$TSProgressUI.ShowActionProgress($TSEnv.Value(\"_SMSTSOrgName\"),$TSEnv.Value(\"_SMSTSPackageName\"),$TSEnv.Value(\"_SMSTSCustomProgressDialogMessage\"),$TSEnv.Value(\"_SMSTSCurrentActionName\"),$TSEnv.Value(\"_SMSTSNextInstructionPointer\"),$TSEnv.Value(\"_SMSTSInstructionTableSize\"),\"DISM Component Cleanup\",1,4)\r\n\r\n{\r\n    # YADA YADA YADA\r\n}\r\n\r\n# ActionProgress wieder entfernen (\"nur\" den normalen TS Progress)\r\n$TSProgressUI.ShowTSProgress($tsenv.Value(\"_SMSTSOrgName\"),$tsenv.Value(\"_SMSTSPackageName\"),$tsenv.Value(\"_SMSTSCustomProgressDialogMessage\"),$tsenv.Value(\"_SMSTSCurrentActionName\"),$tsenv.Value(\"_SMSTSNextInstructionPointer\"),$tsenv.Value(\"_SMSTSInstructionTableSize\"))\r\nStop-Transcript<\/pre>\n<p>Was die einzelnen Eintr\u00e4ge zu bedeuten haben, kann detailierter im <a href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/cc145940.aspx\">MSDN \/ &#8222;Developer Network&#8220; von Microsoft<\/a> nachgelesen werden. Task Sequence Variablen gibt es ebenfalls bei <a href=\"https:\/\/technet.microsoft.com\/en-us\/library\/bb632442.aspx\">Microsoft<\/a> nachzulesen.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Lange ist es her, dass ich mal etwas geschrieben habe. Etwas schwer, wenn man sich in einen neuen Job einarbeitet; Da hat man kaum Lust noch etwas online zu stellen. Hier kann ich nun endlich mal mit einer vern\u00fcnftigen (wenn auch nicht an allen Punkten durchdachten) Software-Verteilung arbeiten. Auch PowerShell kann ich weiter verteifen, womit [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-626","post","type-post","status-publish","format-standard","hentry","category-allgemein"],"_links":{"self":[{"href":"https:\/\/lukas.kurth.rocks\/blog\/wp-json\/wp\/v2\/posts\/626","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lukas.kurth.rocks\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lukas.kurth.rocks\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lukas.kurth.rocks\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lukas.kurth.rocks\/blog\/wp-json\/wp\/v2\/comments?post=626"}],"version-history":[{"count":13,"href":"https:\/\/lukas.kurth.rocks\/blog\/wp-json\/wp\/v2\/posts\/626\/revisions"}],"predecessor-version":[{"id":639,"href":"https:\/\/lukas.kurth.rocks\/blog\/wp-json\/wp\/v2\/posts\/626\/revisions\/639"}],"wp:attachment":[{"href":"https:\/\/lukas.kurth.rocks\/blog\/wp-json\/wp\/v2\/media?parent=626"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lukas.kurth.rocks\/blog\/wp-json\/wp\/v2\/categories?post=626"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lukas.kurth.rocks\/blog\/wp-json\/wp\/v2\/tags?post=626"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}