Skip to main content

Automatisierung

MitWith demthe SCCM Application Manager könnenapplications Applikationenand undpackages Paketecan skriptgesteuertbe angelegtcreated undand gelöschetdeleted werden.by Darüberscripts. hinausIn sindaddition, auchstatus Statusänderungenchanges fürfor Applikationenapplications undand Paketepackages möglich.are Bevoralso diesepossible. FormBefore derthis Automatisierungform verwendetof werdenautomation kann,can müssenbe gewisseused, Vorbereitungencertain getroffenpreparations werdenmust undbe bestimmtemade Vorraussetzungenand erfülltcertain sein.requirements must be met.

  • VoraussetzungenPrerequisites undand Vorbereitungenpreparations
    EsThere mussmust einebe gültige,a vaild and automatischautomatic Verbindungconnection zurto the SCCM Site existieren.

  • Es mussThe eine gültige Lizenzlicense existieren.must be valid.

  • DerThe Maintenancemaintenance Modemode darfmust nichtnot eingeschaltetbe sein.enabled.

  • EineA abgeschaltete,disabled oderor gültigevalid Versionskontrolleversion control, mussmust definiertbe sein.defined.

  • DieThere must be sufficient SCCM Berechtigungenpermissions müssen ausreichen..

  • DerThe SCCM Application Manager mussshould vollständigbe konfiguriertstarted sein.by Hierzuhand solltebefore dieautomation. ApplikationIt vormust derstart Automatisierungwithout vonany Handrestrictions gestartetand werden.the Derconnection Startto mussa ohnesite Einschränkungserver gelingenmust undbe dieestablished Verbindungautomatically. zuIf einemnecessary, Site Server muss automatisch erfolgen. Wenn notwendig, denthe SCCM Application Manager vollständigmust be konfigurierenconfigured, dabecause währendthe derexisting Automatisierungconfiguration diefiles existierendenare Konfigurationsdateienused verwendetduring werden.automation.

StartenStarting desthe Automatisierungsprozessesautomation process

BeiDuring derthe Automatisierungautomation wirdprocess deman XML file is passed to the SCCM Application Manager mittelsby Parameterübergabeparameter, einewhich XML-Dateicontains übergeben,the dieinstructions dieto Anweisungenbe enthält,executed dieautomatically. automatisiertThe ausgeführtcall werdenmay sollen.look Derlike Aufruf kann so aussehen:this:

SCCMApplicationManager.exe C:\myFolder\myFile.xml

SodannNow wird derthe SCCM Application Manager ohnewill grafischebe Benutzeroberflächestarted gestartet,without diea Anweisungengraphical werdenuser ausgeführtinterface undand derstopped, SCCMafter Applicationthe Managerinstructions wiederhave beendet.been executed.

TippTip
WirdIf diethe Anweisungstatement SCCMApplicationManager.exe C:\myFolder\myFile.xml innerhalbis einerspecified Eingabeaufforderungwithin angegeben,a werdencommand Informationen,prompt, Warnungeninformation, undwarnings, Fehlermeldungenand inerror diesesmessages Fensterare übertragen.transferred to this window.
sccm-automation.png

Aufbau

Structure derof XML-Datei

the XML file

DasThe Grundgerüststructure einerof XML-Dateian fürXML diefile Automatisierunglooks siehtlike wie folgt aus:this:

<?xml version="1.0" encoding="utf-8" ?>
<SCCMApplicationManager>
	<!--
	A task must have one of the following actions: 
	CreateApplication
	CreatePackage
	SetApplicationState
	SetPackageState
	DeleteApplication
	DeletePackage
	-->
	<Task Action=""> 
	</Task>
</SCCMApplicationManager>

DieThe einzelnenindividual Arbeitsschrittework werdensteps are devided in Tasks. aufgeteilt.Every Jedertask Taskmust musshave ein Attribut füran Action besitzen.attribute. EsThe existierenfollowing folgendevalues Werteexist fürfor dasthe AttributAction Action:attribute:

  • CreateApplication (erzeugtcreates einean Applikation)application)
  • CreatePackage (erzeugtcreates eina Paket)package)
  • SetApplicationState (setztsets denthe Statusstatus einerof oderone mehrereror Applikationen)more applications)
  • SetPackageState (setztsets denthe Statusstatus einesof oderone mehrereror Pakete)more packages)
  • DeleteApplication (löschtdeletes eineone oderor mehreremore Applikationen)applications)
  • DeletePackage (löschtdeletes einone oderor mehreremore Pakete)packages)

HinweisNote
BeimWhen Umgang mitusing XML-DateienXML files istplease zunote beachten,that dassstart Start-and undend Endtags,tags, sowieas Attributewell dieas Groß-attributes, undare Kleinschreibungcase beachtensensitive (<Task /> istis nichtnot dasthe gleichesame wieas <tasktask />).

SCCM Verbindungen

Connections

ImNormally, Normalfallautomation wirduses beithe derdefault Automatisierungconnection dieto Standardverbindung zu einera SCCM Sitesite. verwendet.This Dasis istthe jeneconnection Verbindung,where beithe der die Checkboxcheckbox Auto Connect aktiviertis ist.enabled.

sccm-default-connection.png

SollIf eineyou anderewant Verbindungto zuuse einera different connection to a SCCM Sitesite, verwendet werden, kann innerhalb der XML-Datei diethe GUID einerof solchensuch Verbindunga optionalconnection angegebencan werden.optionally Diesebe specified within the XML file. This GUID kanncan ausbe demcopied Anmeldedialogfrom kopiert.the login dialog ...

sccm-connection-guid.png

... undand ininserted dieinto XML-Dateithe eingefügtXML werden:file:

<?xml version="1.0" encoding="utf-8" ?>
<SCCMApplicationManager ConnectionGuid="d77da9b5-de21-45c8-bab2-acc3ec9e7426">
	<Task Action=""> 
	</Task>
</SCCMApplicationManager>

In diesemthis Fallcase, wirdthe demConnectionGuid Knotenattribute is added to the SCCMApplicationManager dasnode Attributand ConnectionGuidthe hinzugefügtvalue undof der Wert derthe GUID eingetragen.is entered.

HinweisNote
WerdenIf Connection GUIDs verwendet,are müssenused, diesethey gültigmust seinbe undvalid dieand angegebenethe Verbindungspecified mussconnection existierenmust undexist zustandeand kommen,be daestablished, einas Rückgriffthe aufdefault dieconnection Standardverbindungwill imnot Fehlerfallebe nichtused stattfindet.in the event of an error.

Applikationen/Pakete

Creating anlegen

applications or packages

FürAt dasleast Erzeugenthe vonfollowing ApplikationenXML oderfile Paketenmust mussexist mindestensto folgendecreate XML-Dateiapplications existieren:or packages:

<?xml version="1.0" encoding="utf-8" ?>
<SCCMApplicationManager>
	<Task Action="CreateApplication"> <!-- or Action="CreatePackage" -->
		<SourceFile>\\myServer\myShare\myFile.msi</SourceFile>
	</Task>
</SCCMApplicationManager>

Als Action mussmust be CreateApplication oderor CreatePackage. angegebenIn werden.addition, Außerdemthe muss im Knotennode <SourceFile /> dermust UNC-Pfadcontain derthe QuelldateiUNC eingetragenpath werden.of Gültigethe Dateiendungensource sind:file. Valid file extensions are: .cmd, .exe, .msi, .ps1 oderor .vbs.

BeiThe o.g.above Schreibweisespelling wirdassumes davonthat ausgegangen,the dassvalues die Werte fürfor Manufacturer, Product, Version, Language, undand UninstallRegKey automatischcan ausbe derread Quelldateiautomatically ausgelesenfrom werdenthe können.source Dasfile. istHowever, aberthis nuris beionly guaranteed for MSI-DateienMSI files. garantiert.Therefore, Daherthese könnenvalues imcan Zweifelsfallalso diesebe Werte zusätzlich mit angegeben werden.specified.

OptionalOptionally, kannwhen beicreating derapplications, Erstellung von Applikationen einan <IconFile /> zurcan Anzeigebe imspecified Software-Centerfor angegebendisplay werden.in the Software Center.

<?xml version="1.0" encoding="utf-8" ?>
<SCCMApplicationManager>
	<Task Action="CreateApplication"> <!-- or Action="CreatePackage" -->
		<SourceFile>\\myServer\myShare\myFile.msi</SourceFile>
		<Manufacturer>myManufacturer</Manufacturer>
		<Product>myProduct</Product>
		<Version>0.0.0.0</Version>
		<Language>myLanguage</Language>
		<UninstallRegKey>myUninstallRegKey</UninstallRegKey>
		<IconFile>\\myServer\myShare\myIconFile.png</IconFile>
	</Task>
</SCCMApplicationManager>

DerIn addition, the SCCM Application Manager unterstütztalso darübersupports hinauscustom auchproperties. dieBecause Verwendungthese vonproperties benutzerdefiniertenare Eigenschaften.not Daread dieseout Eigenschaftenautomatically nichtthey automatischcan ausgelesenbe werden,defined könnenas sie wie folgt definiert werdenfollows (siehesee Beispieleexamples fürof Syscode, Revision und SoftwareArchitecture):

<?xml

More version="1.0"notes
When encoding="utf-8" ?> <SCCMApplicationManager> <Task Action="CreateApplication"> <SourceFile>\\myServer\myShare\myFile.msi</SourceFile> <Manufacturer>myManufacturer</Manufacturer> <Product>myProduct</Product> <Version>0.0.0.0</Version> <Language>myLanguage</Language> <UninstallRegKey>myUninstallRegKey</UninstallRegKey> <!--specifying custom properties, make sure that the correct spelling is used.

Any properties start here --> <Syscode>S001</Syscode> <Revision>R001</Revision> <SoftwareArchitecture>x64</SoftwareArchitecture> </Task> </SCCMApplicationManager>

Weitere Hinweise

  • Bei der Angabe von benutzerdefinierten Eigenschaften ist darauf zu achten, dass die korrekte Schreibweise verwendet wird.

  • Alle Eigenschaften, diespecified in einema Tasktask angegebenmay werden,overwrite überschreibenexisting ggf.properties existierenfrom Eigenschaftenthe aussource derfile.

    The Quelldatei.

    source
  • file
  • must

    Dienot Quelldateibe darfin sichthe nichtcontext imof Kontextthe des PowerShell App Deployment ToolkitsToolkit. befinden.PowerShell PowerShell-Skriptsscripts sindare erlaubt.allowed.

  • Starting

with

Abversion der2.9 Versionof 3.0 desthe SCCM Application ManagersManager, werden unterschiedlichedifferent Collection Resource Types unterstützt.are Diesesupported. legenThese fest,determine obwhether währendcollections derfor Anlagedevices deror Applikation/Paketesusers Sammlungenshould fürbe Gerätecreated oderduring Benutzerthe angelegtcreation werdenof sollen.applications or packages. In diesemthis Fallcase, kannthe dasoptional optionale Attributattribute CollectionResourceType mitcan angegebenbe werden.specified Eswith kann. dieIt Wertecan contain the values Device oderor User. enthalten.If Wirdno keineinformation Angabeis gemacht,specified, wirdthe alsdefault Standardis Device verwendet..

<?xml version="1.0" encoding="utf-8" ?>
<SCCMApplicationManager>
	<Task Action="CreateApplication" CollectionResourceType="User" > <!-- or CollectionResourceType="Device" -->
		<SourceFile>\\myServer\myShare\myFile.msi</SourceFile>
	</Task>
</SCCMApplicationManager>
Status vonchange Applikationen/Paketenof ändernApplications or packages

DerThe status of Status von Applikationenapplications oderor Paketenpackages kanncan aufbe zweiset unterschiedlichein Artendifferent gesetzt werden:ways:

  1. Direkt:Direct: DerThe Statusstatus wirdis explizitexplicitly aufset den Wertto Test, Approved, Retired, Obsolete oderor Failed gesetzt..
  2. DerThe Wertstatus fürvalue denis Statusset wirdto aufthe dennext nächstenvalue (Forward) oderor vorherigento the previous (Back) Wert gesetztvalue.

WichtigImportant

EsOnly könnenthe nurstatuses Statusof vonapplications Applikationenor oderpackages Paketenthat veränderthave werden,previously diebeen auchcreated zuvorwith mit demthe SCCM Application Manager angelegtcan wurden.be changed.

FürFor Applikationenapplications, könnenone beimor Statuswechsel ein oder mehrere Knotenmore <ModelName /> angegebennodes werdencan be specified when changing status (diethe entsprechendencorresponding Wertevalues dafürfor sindthis are available in derthe WMI-KlasseWMI class SMS_ApplicationLatest zu finden)). FürPackages Paketeuse werdenone stattdessenor einmore oder mehrere Knotennode <PackageID /> verwendetinstead (siehesee WMI-KlasseWMI class SMS_Package).

Für das AttributThe Action mussattribute hierbeimust fürbe Applikationenset der Wertto SetApplicationState undfor fürapplications. PaketeFor packages it must be set to SetPackageState angegeben werden..

Das AttributThe State kannattribute diecan Wertetake the values Test, Approved, Retired, Obsolete oderor Failed annehmen..

Das AttributThe Step erwartetattribute dieexpects Wertethe values Forward oderor Back.

FürFor diethe erstefirst Variantevariant mussthe dieXML XML-Dateifile fürfor Applikationenapplications wiemust folgtlook aussehen:like this:

<?xml version="1.0" encoding="utf-8" ?>
<SCCMApplicationManager>
	<Task Action="SetApplicationState" State="Approved"> <!-- State can be Test, Approved, Retired, Obsolete or Failed -->
		<ModelName>ScopeId_DCAA8452-EBBC-4535-A253-366403E5AA44/Application_2334f04c-bd64-48f3-b14c-275c15d9cd67</ModelName>
		<ModelName>ScopeId_DCAA8452-EBBC-4535-A253-366403E5AA44/Application_ecb26fdc-1353-44f1-ac4d-553fd20de7cf</ModelName>
		<ModelName>ScopeId_DCAA8452-EBBC-4535-A253-366403E5AA44/Application_473f1e7c-9554-45d7-b01b-accc215c5587</ModelName>
	</Task>
</SCCMApplicationManager>

FürFor diethe erstefirst Variantevariant mussthe dieXML XML-Dateifile fürfor Paketepackages wiemust folgtlook aussehen:like this:

<?xml version="1.0" encoding="utf-8" ?>
<SCCMApplicationManager>
	<Task Action="SetPackageState" State="Approved"> <!-- State can be Test, Approved, Retired, Obsolete or Failed -->
		<PackageID>ABC00199</PackageID>
		<PackageID>ABC0019A</PackageID>
		<PackageID>ABC0019B</PackageID>
	</Task>
</SCCMApplicationManager>

FürFor diethe zweitesecond Variantevariant mussthe dieXML XML-Dateifile fürfor Applikationenapplications wiemust folgtlook aussehen:like this:

<?xml version="1.0" encoding="utf-8" ?>
<SCCMApplicationManager>
	<Task Action="SetApplicationState" Step="Forward"> <!-- Step can be Forward or Back -->
		<ModelName>ScopeId_DCAA8452-EBBC-4535-A253-366403E5AA44/Application_2334f04c-bd64-48f3-b14c-275c15d9cd67</ModelName>
		<ModelName>ScopeId_DCAA8452-EBBC-4535-A253-366403E5AA44/Application_ecb26fdc-1353-44f1-ac4d-553fd20de7cf</ModelName>
		<ModelName>ScopeId_DCAA8452-EBBC-4535-A253-366403E5AA44/Application_473f1e7c-9554-45d7-b01b-accc215c5587</ModelName>
	</Task>
</SCCMApplicationManager>

FürFor diethe zweitesecond Variantevariant mussthe dieXML XML-Dateifile fürfor Paketepackages wiemust folgtlook aussehen:like this:

<?xml version="1.0" encoding="utf-8" ?>
<SCCMApplicationManager>
	<Task Action="SetPackageState" Step="Forward"> <!-- Step can be Forward or Back -->
		<PackageID>ABC00199</PackageID>
		<PackageID>ABC0019A</PackageID>
		<PackageID>ABC0019B</PackageID>
	</Task>
</SCCMApplicationManager>
Applikationen/PaketeDeleting löschenapplications or packages

WichtigImportant
EsOnly könnenapplications nuror Applikationenpackages oderthat Paketewere gelöschtpreviously werden,created diewith auchthe zuvor mit dem SCCM applicationApplication Manager angelegtcan wurden.be deleted.

FürFor dasdeleting Löschenapplications, vonthe Applikationenvalue wird der Wert fürfor Action aufis set to DeleteApplication undand beimwhen Löschendeleting vonpackages Paketenthe dervalue Wert fürfor Action aufis set to DeletePackage gesetzt..

FürWen Applikationendeleting könnenapplications, beimone Löschenor ein oder mehrere Knotenmore <ModelName /> angegebennodes werdencan be specified (diethe entsprechendencorresponding Wertevalues dafürfor sindthis are available in derthe WMI-KlasseWMI class SMS_ApplicationLatest zu finden)). FürPackages Paketeuse werdenone stattdessenor einmore oder mehrere Knotennode <PackageID /> verwendetinstead (siehesee WMI-KlasseWMI class SMS_Package).

DieThe XML-DateiXML fürfile Applikationenfor siehtapplications demnachtherefore wielooks folgtlike aus:this:

<?xml version="1.0" encoding="utf-8" ?>
<SCCMApplicationManager>
	<Task Action="DeleteApplication">
		<ModelName>ScopeId_DCAA8452-EBBC-4535-A253-366403E5AA44/Application_2334f04c-bd64-48f3-b14c-275c15d9cd67</ModelName>
		<ModelName>ScopeId_DCAA8452-EBBC-4535-A253-366403E5AA44/Application_ecb26fdc-1353-44f1-ac4d-553fd20de7cf</ModelName>
		<ModelName>ScopeId_DCAA8452-EBBC-4535-A253-366403E5AA44/Application_473f1e7c-9554-45d7-b01b-accc215c5587</ModelName>
	</Task>
</SCCMApplicationManager>

FürFor Paketepackages, wirdthis diesefile Dateiis benötigt:required:

<?xml version="1.0" encoding="utf-8" ?>
<SCCMApplicationManager>
	<Task Action="DeletePackage">
		<PackageID>ABC00199</PackageID>
		<PackageID>ABC0019A</PackageID>
		<PackageID>ABC0019B</PackageID>
	</Task>
</SCCMApplicationManager>
MehrereMultiple Taskstasks in eineran XML-DateiXML file

GrundsätzlichBasically, werdenmultiple mehreretasks Taskswithin innerhalban einerXML XML-Dateifile unterstützt.are Dassupported. AnlegenThe voncreation dreiof Applikationenthree könnteapplications demnachcan solook aussehen:like this:

<?xml version="1.0" encoding="utf-8" ?>
<SCCMApplicationManager>
	<Task Action="CreateApplication">
		<SourceFile>\\myServer\myShare\myFile1.msi</SourceFile>
	</Task>
	<Task Action="CreateApplication">
		<SourceFile>\\myServer\myShare\myFile2.msi</SourceFile>
	</Task>
	<Task Action="CreateApplication">
		<SourceFile>\\myServer\myShare\myFile3.msi</SourceFile>
	</Task>
</SCCMApplicationManager>

WasWhat aufseems denpractical erstenat Blickfirst praktischglance erscheint,can kannhave aufdisadvantages denat zweitensecond Blickglance Nachteile haben, wenn während der Ausführung der Tasks ein Fehler auftritt. Je nach Schweregrad bricht der gesamte Vorgangif an einererror bestimmtenoccurs Stelleduring ab,the weilexecution esof nichtthe weitergehentasks. kann,Depending oderon esthe werdenseverity, nurthe einigeentire Tasksoperation ausgeführt.cancels Beibecause solchenit Szenariencannot lohntcontinue, sichor daheronly dera Blickfew intasks dieare Protokolldatei.performed. In such scenarios, it is a good idea to read the log file.

RückgabewerteExit undcodes Protokolldateiand log file

NachAfter derrunning Ausführung desthe SCCM Application Managers imin Automatisierungsmodusautomation werdenmode, folgendethe Rückgabewertefollowing zurückgeliefert:exit codes can be returned:

  • 0 = O.K.
  • 1 = FehlerError

WirdIf alsan Rückgabewertexit code of 1 zurückgeliefert,is sindreturned, the corrsponding error descriptions can be found in der Dateithe SCCMApplicationManager.log diefile. entsprechendenIt Fehlermeldungenis zulocated finden.in Diesethe befindetinstallation sichdirectory imof Installationsverzeichnis desthe SCCM Application Managers.Manager. DieThe Protokolldateilog besitztfile einhas Format,a dasformat mitthat demcan Toolbe read with the CMTrace.exe gelesen werden kann.tool.