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.
-
VoraussetzungenPrerequisitesundandVorbereitungenpreparationsEsTheremussmusteinebegültige,a vaild andautomatischautomaticVerbindungconnectionzurto the SCCM Siteexistieren. -
Es mussTheeine gültige Lizenzlicenseexistieren.must be valid. -
DerTheMaintenancemaintenanceModemodedarfmustnichtnoteingeschaltetbesein.enabled. -
EineAabgeschaltete,disabledoderorgültigevalidVersionskontrolleversion control,mussmustdefiniertbesein.defined. -
DieThere must be sufficient SCCMBerechtigungenpermissionsmüssen ausreichen.. -
DerThe SCCM Application Managermussshouldvollständigbekonfiguriertstartedsein.byHierzuhandsolltebeforedieautomation.ApplikationItvormustderstartAutomatisierungwithoutvonanyHandrestrictionsgestartetandwerden.theDerconnectionStarttomussaohnesiteEinschränkungservergelingenmustundbedieestablishedVerbindungautomatically.zuIfeinemnecessary,Site Server muss automatisch erfolgen. Wenn notwendig, denthe SCCM Application Managervollständigmust bekonfigurierenconfigured,dabecausewährendthederexistingAutomatisierungconfigurationdiefilesexistierendenareKonfigurationsdateienusedverwendetduringwerden.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.
TippTipWirdIf 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.
Aufbau
Structure derof XML-Dateithe 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 (
erzeugtcreateseineanApplikation)application) - CreatePackage (
erzeugtcreateseinaPaket)package) - SetApplicationState (
setztsetsdentheStatusstatuseinerofoderonemehrererorApplikationen)more applications) - SetPackageState (
setztsetsdentheStatusstatuseinesofoderonemehrererorPakete)more packages) - DeleteApplication (
löschtdeleteseineoneoderormehreremoreApplikationen)applications) - DeletePackage (
löschtdeleteseinoneoderormehreremorePakete)packages)
HinweisNoteBeimWhen 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 VerbindungenConnections
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.
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 ...
... 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.
HinweisNoteWerdenIf 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 anlegenapplications 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):
<?xmlMore 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.
sourceAlle Eigenschaften, diespecified ineinemaTasktaskangegebenmaywerden,overwriteüberschreibenexistingggf.propertiesexistierenfromEigenschaftentheaussourcederfile.
TheQuelldatei.file - must
DienotQuelldateibedarfinsichthenichtcontextimofKontextthedesPowerShell App DeploymentToolkitsToolkit.befinden.PowerShellPowerShell-Skriptsscriptssindareerlaubt.allowed.
Starting
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:
Direkt:Direct:DerTheStatusstatuswirdisexplizitexplicitlyaufsetden Wertto Test, Approved, Retired, Obsoleteoderor Failedgesetzt..DerTheWertstatusfürvaluedenisStatussetwirdtoaufthedennextnächstenvalue (Forward)oderorvorherigento the previous (Back)Wert gesetztvalue.
WichtigImportantEsOnly 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
WichtigImportantEsOnly 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.