Feladatütemezési változók használata a Configuration Manager

A következőre vonatkozik: Configuration Manager (aktuális ág)

A Configuration Manager operációsrendszer-telepítési funkciójának feladatütemezési motorja számos változót használ a viselkedésének szabályozásához. Ezeket a változókat a következőkre használhatja:

  • Feltételek beállítása lépésekhez
  • Adott lépések viselkedésének módosítása
  • Használat szkriptekben összetettebb műveletekhez

Az összes elérhető feladatütemezési változóra vonatkozó referencia: Feladatütemezési változók.

Változótípusok

Többféle változótípus létezik:

Beépített változók

A beépített változók információt nyújtanak arról a környezetről, ahol a feladatütemezés fut. Az értékük a teljes feladatütemezésben elérhető. A feladatütemezési motor általában a lépések futtatása előtt inicializálja a beépített változókat.

A például egy környezeti változó, _SMSTSLogPath amely meghatározza az elérési utat, amelyre Configuration Manager összetevők naplófájlokat írnak. Bármely feladatütemezési lépés hozzáférhet ehhez a környezeti változóhoz.

A feladatütemezés minden lépés előtt kiértékel néhány változót. Például az _SMSTSCurrentActionName aktuális lépés nevét listázza.

Műveleti változók

A feladatütemezési művelet változói olyan konfigurációs beállításokat határoznak meg, amelyeket egyetlen feladatütemezési lépés használ. Alapértelmezés szerint a lépés a futtatás előtt inicializálja a beállításait. Ezek a beállítások csak a kapcsolódó feladatütemezési lépés futtatásakor érhetők el. A feladatütemezés hozzáadja a műveleti változó értékét a környezethez a lépés futtatása előtt. Ezután eltávolítja az értéket a környezetből a lépés futtatása után.

Hozzáadhatja például a Parancssor futtatása lépést egy feladatütemezéshez. Ez a lépés tartalmaz egy Start In tulajdonságot. A feladatütemezés a tulajdonság alapértelmezett értékét tárolja változóként WorkingDirectory . A feladatütemezés inicializálja ezt az értéket a Parancssor futtatása lépés futtatása előtt. Amíg ez a lépés fut, a Start In tulajdonság értékét az értékből érheti el WorkingDirectory . A lépés befejezése után a feladatütemezés eltávolítja a WorkingDirectory változó értékét a környezetből. Ha a feladatütemezés tartalmaz egy másik Parancssor futtatása lépést, inicializál egy új WorkingDirectory változót. Ekkor a feladatütemezés az aktuális lépés kezdőértékére állítja be a változót. További információ: WorkingDirectory.

A műveletváltozó alapértelmezett értéke jelen van a lépés futtatásakor. Ha új értéket állít be, az a feladatütemezés több lépése számára is elérhető. Ha felülbírál egy alapértelmezett értéket, az új érték a környezetben marad. Ez az új érték felülírja a feladatütemezés többi lépésének alapértelmezett értékét. A Feladatütemezési változó beállítása lépés például a feladatütemezés első lépése. Ez a lépés a változót értékre WorkingDirectory állítja C:\. A feladatütemezésben a Parancssor futtatása lépés az új kezdőkönyvtár-értéket használja.

Egyes feladatütemezési lépések kimenetként jelölnek meg bizonyos műveletváltozókat. A feladatütemezés későbbi lépései beolvassák ezeket a kimeneti változókat.

Megjegyzés:

Nem minden feladatütemezési lépés rendelkezik műveleti változókkal. Bár például vannak változók társítva a BitLocker engedélyezése művelethez, a BitLocker letiltása művelethez nincs változó társítva.

Egyéni változók

Ezek a változók olyan változók, amelyeket Configuration Manager nem hoz létre. Inicializálja a saját változóit, hogy feltételekként, parancssorokban vagy szkriptekben használják.

Amikor új feladatütemezési változó nevét adja meg, kövesse az alábbi irányelveket:

  • A feladatütemezési változó neve betűket, számokat, aláhúzásjelet (_) és kötőjelet (-) tartalmazhat.

  • A feladatütemezési változók nevei legalább egy karakterből és legfeljebb 256 karakterből állhatnak.

  • A felhasználó által definiált változóknak betűvel ( vagy a-z)A-Z kell kezdődniük.

  • A felhasználó által definiált változónevek nem kezdődhetnek aláhúzásjellel. Csak az írásvédett feladatütemezési változókat előzi meg az aláhúzásjel.

  • A feladatütemezési változók nevei nem különböztetik meg a kis- és nagybetűket. A és osdvar például OSDVAR ugyanaz a feladatütemezési változó.

  • A feladatütemezési változók neve nem kezdődhet és nem végződhet szóközzel. Beágyazott szóközöket sem tartalmazhatnak. A feladatütemezés figyelmen kívül hagyja a változónév elején vagy végén található szóközöket.

Nincs korlátozva, hogy hány feladatütemezési változót hozhat létre. A változók számát azonban a feladatütemezési környezet mérete korlátozza. A feladatütemezési környezet teljes méretkorlátja 8 KB. További információ: A feladatütemezési szabályzat méretének csökkentése.

Írásvédett változók

Egyes, írásvédett változók értékét nem módosíthatja. A név általában aláhúzásjellel (_) kezdődik. A feladatütemezés ezeket használja a műveleteihez. Az írásvédett változók a feladatütemezési környezetben láthatók.

Ezek a változók szkriptekben vagy parancssorokban hasznosak. Futtathat például egy parancssort, és a kimenetet egy naplófájlba _SMSTSLogPath irányíthatja a többi naplófájllal.

Megjegyzés:

Az írásvédett feladatütemezési változók a feladatütemezés lépései alapján olvashatók, de nem állíthatók be. Használjon például egy írásvédett változót a parancssor részeként a Parancssor futtatása lépéshez. A Feladatütemezési változó beállítása lépéssel nem állíthat be írásvédett változót.

Tömbváltozók

A feladatütemezés tömbként tárol néhány változót. A tömb minden eleme egyetlen objektum beállításait jelöli. Ezeket a változókat akkor használja, ha egy eszköz több konfigurálható objektummal rendelkezik. A következő feladatütemezési lépések tömbváltozókat használnak:

Változók beállítása

A nem írásvédett egyéni változók vagy változók esetében több módszer is létezik a változó inicializálására és értékének beállítására:

Töröljön egy változót a környezetből ugyanazokkal a metódusokkal, mint egy változó létrehozása. Változó törléséhez állítsa a változó értékét egy üres sztringre.

A metódusok kombinálásával a feladatütemezési változók ugyanazon sorozat különböző értékeire állíthatók be. Állítsa be például az alapértelmezett értékeket a feladatütemezési szerkesztővel, majd állítson be egyéni értékeket egy szkripttel.

Ha ugyanazt a változót különböző módszerekkel állítja be, a feladatütemezési motor a következő sorrendet használja:

  1. Először a gyűjteményváltozókat értékeli ki.

  2. Az eszközspecifikus változók felülbírálják ugyanazt a változókészletet egy gyűjteményen.

  3. A feladatütemezés során bármely módszerrel beállított változók elsőbbséget élveznek a gyűjtemény- vagy eszközváltozókkal szemben.

A feladatütemezési változók értékeinek általános korlátozásai

  • A feladatütemezési változók értéke nem lehet hosszabb 4000 karakternél.

  • Írásvédett feladatütemezési változó nem módosítható. A csak olvasható változók neve aláhúzásjellel (_) kezdődik.

  • A feladatütemezési változók értékei az érték használatától függően megkülönböztethetik a kis- és nagybetűket. A legtöbb esetben a feladatütemezési változók értékei nem különböztetik meg a kis- és nagybetűket. A jelszót tartalmazó változók megkülönböztetik a kis- és nagybetűk különbségét.

Feladatütemezési változó beállítása

Ezzel a lépéssel egyetlen változót állíthat be egyetlen értékre a feladatütemezésben.

További információ: Feladatütemezési változó beállítása.

Dinamikus változók beállítása

Ezt a lépést a feladatütemezésben egy vagy több feladatütemezési változó beállításához használhatja. Ebben a lépésben szabályokat határozhat meg a használandó változók és értékek meghatározásához.

További információ: Dinamikus változók beállítása.

PowerShell-szkript futtatása

Ezzel a lépéssel a feladatütemezésben powershell-szkripttel állíthat be feladatütemezési változót.

Megadhat egy parancsfájlnevet egy csomagból, vagy közvetlenül beírhat egy PowerShell-szkriptet a lépésben. Ezután a Kimenet feladatütemezési változó lépés tulajdonságával mentse a szkript kimenetét egy egyéni feladatütemezési változóba.

További információ erről a lépésről: PowerShell-szkript futtatása.

Megjegyzés:

Egy PowerShell-szkripttel egy vagy több változót is beállíthat a TSEnvironment objektummal. További információ: Változók használata futó feladatütemezésben az Configuration Manager SDK-ban.

Példaforgatókönyv a PowerShell-szkript futtatása lépéssel

A környezetében több országban/régióban vannak felhasználók, ezért le szeretné kérdezni az operációs rendszer nyelvét, hogy több nyelvspecifikus operációsrendszer-alkalmazási lépés feltételeként legyen beállítva.

  1. Adja hozzá a PowerShell-szkript futtatásának egy példányát a feladatütemezéshez az Operációs rendszer alkalmazása lépés előtt.

  2. A Következő parancs megadásához használja a PowerShell-szkript megadása lehetőséget:

    (Get-Culture).TwoLetterISOLanguageName
    

    A parancsmaggal kapcsolatos további információkért lásd: Get-Culture. A kétbetűs ISO-nyelvek nevével kapcsolatos további információkért lásd: Iso 639-1-kódok listája.

  3. A Kimenet feladatütemezési változóba beállításnál adja meg a következőt CurrentOSLanguage: .

    Képernyőkép a PowerShell-szkript futtatására szolgáló példalépésről

  4. Az Operációs rendszer alkalmazása lépésben az angol nyelvű rendszerképhez hozza létre a következő feltételt: Task Sequence Variable CurrentOSLanguage equals "en"

    Képernyőkép az Operációs rendszer alkalmazása lépés példafeltételéről

    Tipp

    A feltételek lépésenkénti létrehozásával kapcsolatos további információkért lásd: Változók elérése – Lépésfeltétel.

  5. Mentse és helyezze üzembe a feladatütemezést.

Ha a PowerShell-szkript futtatása lépés a Windows angol nyelvű verziójával rendelkező eszközön fut, a parancs a értéket enadja vissza. Ezután menti ezt az értéket az egyéni változóba. Amikor az Operációs rendszer alkalmazása lépés az angol nyelvű lemezképre ugyanazon az eszközön fut, a feltétel igaz értéket ad vissza. Ha az Operációs rendszer alkalmazása lépésnek több példánya van különböző nyelvekre, a feladatütemezés dinamikusan futtatja az operációs rendszer nyelvének megfelelő lépést.

Gyűjtemény- és eszközváltozók

Egyéni feladatütemezési változókat határozhat meg az eszközökhöz és gyűjteményekhez. Az eszközhöz definiált változókat eszközönkénti feladatütemezési változóknak nevezzük. A gyűjteményekhez definiált változókat gyűjteményenkénti feladatütemezési változóknak nevezzük. Ütközés esetén az eszközönkénti változók elsőbbséget élveznek a gyűjteményenkénti változókkal szemben. Ez a viselkedés azt jelenti, hogy az adott eszközhöz rendelt feladatütemezési változók automatikusan magasabb prioritással rendelkeznek, mint az eszközt tartalmazó gyűjteményhez rendelt változók.

Az XYZ eszköz például az ABC gyűjtemény tagja. A MyVariable értéket az ABC gyűjteményhez rendeli 1 értékkel. A MyVariable értéket is hozzárendeli az XYZ eszközhöz 2 értékkel. Az XYZ-hez rendelt változó prioritása magasabb, mint az ABC gyűjteményhez rendelt változóé. Ha egy ilyen változóval rendelkező feladatütemezés XYZ-n fut, a MyVariable értéke 2.

Elrejtheti az eszközönkénti és gyűjteményenkénti változókat, hogy azok ne legyenek láthatók a Configuration Manager konzolon. Ha a Ne jelenítse meg ezt az értéket a Configuration Manager konzolon beállítást használja, a változó értéke nem jelenik meg a konzolon. A feladatütemezési naplófájl (smsts.log) vagy a feladatütemezés-hibakereső sem jeleníti meg a változó értékét. A változót futtatáskor a feladatütemezés továbbra is használhatja. Ha már nem szeretné, hogy ezek a változók rejtve legyenek, először törölje őket. Ezután újradefiniálhatja a változókat anélkül, hogy bejelölné az elrejtésüket.

Figyelmeztetés

Ha változókat tartalmaz a Parancssor futtatása lépés parancssorában, a feladatütemezési naplófájl megjeleníti a teljes parancssort a változóértékekkel együtt. Ha meg szeretné akadályozni, hogy bizalmas adatok jelenjenek meg a naplófájlban, állítsa az OSDDoNotLogCommand feladatütemezési változót értékre TRUE.

Az eszközönkénti változókat egy elsődleges helyen vagy egy központi adminisztrációs helyen kezelheti. Configuration Manager egy eszközhöz legfeljebb 1000 hozzárendelt változót támogat.

Fontos

Ha gyűjteményenkénti változókat használ a feladatütemezésekhez, vegye figyelembe a következő viselkedéseket:

  • A gyűjtemények módosításait a rendszer mindig replikálja a teljes hierarchiában. A gyűjteményváltozókon végzett módosítások nem csak az aktuális webhely tagjaira vonatkoznak, hanem a gyűjtemény összes tagjára a hierarchiában.

  • Gyűjtemény törlésekor ez a művelet a gyűjteményhez konfigurált feladatütemezési változókat is törli.

Feladatütemezési változók létrehozása egy eszközhöz

  1. A Configuration Manager konzolon lépjen az Eszközök és megfelelőség munkaterületre, és válassza az Eszközök csomópontot.

  2. Válassza ki a céleszközt, és válassza a Tulajdonságok lehetőséget.

  3. A Tulajdonságok párbeszédpanelen váltson a Változók lapra.

  4. Minden létrehozni kívánt változónál válassza az Új ikont. Adja meg a feladatütemezési változó nevét és értékét . Ha el szeretné rejteni a változót, hogy az ne jelenjen meg a Configuration Manager-konzolon, jelölje be a Ne jelenjen meg ez az érték a Configuration Manager konzolon jelölőnégyzetet.

  5. Miután hozzáadta az összes változót az eszköztulajdonságokhoz, válassza az OK gombot.

Feladatütemezési változók létrehozása gyűjteményhez

  1. Az Configuration Manager konzolon lépjen az Eszközök és megfelelőség munkaterületre, és válassza az Eszközgyűjtemények csomópontot. Válassza ki a célgyűjteményt, és válassza a Tulajdonságok lehetőséget.

  2. A Tulajdonságok párbeszédpanelen váltson a Gyűjteményváltozók lapra.

  3. Minden létrehozni kívánt változónál válassza az Új ikont. Adja meg a feladatütemezési változó nevét és értékét . Ha el szeretné rejteni a változót, hogy az ne jelenjen meg a Configuration Manager-konzolon, jelölje be a Ne jelenjen meg ez az érték a Configuration Manager konzolon jelölőnégyzetet.

  4. Igény szerint megadhatja a feladatütemezési változók kiértékelésekor használni kívánt Configuration Manager prioritását.

  5. Miután hozzáadta az összes változót a gyűjtemény tulajdonságaihoz, kattintson az OK gombra.

TSEnvironment COM-objektum

Egy szkript változóinak használatához használja a TSEnvironment objektumot.

További információ: Változók használata futó feladatütemezésben az Configuration Manager SDK-ban.

Indítás előtti parancs

Az indítás előtti parancs egy parancsfájl vagy végrehajtható fájl, amely a Windows PE környezetben fut, mielőtt a felhasználó kiválasztja a feladatütemezést. Az indítás előtti parancs lekérdezhet egy változót, vagy információt kér a felhasználótól, majd mentheti azt a környezetben. Használja a TSEnvironment COM objektumot változók olvasásához és írásához az indítás előtti parancsból.

További információ: Indítás előtti parancsok feladatütemezési adathordozóhoz.

Feladatütemezési varázsló

Miután kiválasztott egy feladatütemezést a Feladatütemezés varázsló ablakában, a feladatütemezési változók szerkesztésére használt lap tartalmaz egy Szerkesztés gombot. A változók szerkesztéséhez akadálymentes billentyűparancsokat használhat. Ez a módosítás segít azokban az esetekben, amikor az egér nem érhető el.

Feladatütemezési adathordozó varázsló

Adja meg az adathordozóról futó feladatütemezések változóit. Amikor adathordozót használ az operációs rendszer üzembe helyezéséhez, a feladatütemezési változókat hozzáadja, és az adathordozó létrehozásakor megadhatja azok értékeit. A változók és azok értékei az adathordozón vannak tárolva.

Megjegyzés:

A feladatütemezések különálló adathordozón vannak tárolva. Azonban minden más típusú adathordozó, például az előkészített adathordozó lekéri a feladatütemezést egy felügyeleti pontról.

Amikor adathordozóról futtat egy feladatütemezést, hozzáadhat egy változót a varázsló Testreszabás lapján.

Használja a médiaváltozókat gyűjteményenként vagy számítógépenként változók helyett. Ha a feladatütemezés adathordozóról fut, a számítógépenkénti és gyűjteményenkénti változók nem érvényesek, és nem lesznek használatban.

Tipp

A feladatütemezés a csomagazonosítót és az indítás előtti parancssort a CreateTSMedia.log fájlba írja a Configuration Manager konzolt futtató számítógépen. Ez a naplófájl tartalmazza a feladatütemezési változók értékét. Tekintse át ezt a naplófájlt a feladatütemezési változók értékének ellenőrzéséhez.

További információ: Feladatütemezési adathordozó létrehozása.

Változók elérése

Miután meghatározta a változót és annak értékét az előző szakasz egyik metódusával, használja azt a feladatütemezésekben. Hozzáférhet például a beépített feladatütemezési változók alapértelmezett értékeihez, vagy feltételessé tehet egy lépést egy változó értékétől.

A következő módszerekkel érheti el a változóértékeket a feladatütemezési környezetben:

Használat lépésben

Adjon meg egy változóértéket egy feladatütemezési lépésben megadott beállításhoz. A feladatütemezési szerkesztőben szerkessze a lépést, és adja meg a változó nevét mezőértékként. Foglalja a változó nevét százalékjelek közé (%).

Használja például a változó nevét a Parancssor futtatása lépés Parancssor mezőjének részeként. A következő parancssor írja a számítógép nevét egy szövegfájlba.

cmd.exe /c echo %_SMSTSMachineName% > C:\File.txt

Lépésfeltétel

Egy lépés vagy csoport feltételének részeként használjon beépített vagy egyéni feladatütemezési változókat. A feladatütemezés kiértékeli a változó értékét, mielőtt futtatja a lépést vagy csoportot.

Változóértékeket kiértékelő feltétel hozzáadásához hajtsa végre az alábbi lépéseket:

  1. A feladatütemezési szerkesztőben válassza ki azt a lépést vagy csoportot, amelyhez hozzá szeretné adni a feltételt.

  2. Váltson a lépés vagy csoport Beállítások lapjára. Kattintson a Feltétel hozzáadása elemre, és válassza a Feladatütemezési változó lehetőséget.

  3. A Feladatütemezési változó párbeszédpanelen adja meg a következő beállításokat:

    • Változó: A változó neve. Használja például a _SMSTSInWinPE címet.

    • Feltétel: A változó értékének kiértékelésére vonatkozó feltétel. A következő feltételek érhetők el:

      • Létezik
      • Nem létezik
      • Egyenlő
      • Nem egyenlő
      • Nagyobb, mint
      • Nagyobb vagy egyenlő
      • Kisebb, mint
      • Kisebb vagy egyenlő
      • Like (támogatja a és ?a helyettesítő karaktereit*)
      • Nem tetszik (2103-es vagy újabb verzió)
    • Érték: Az ellenőrizendő változó értéke. Használja például a false címet.

A fenti három példa gyakori feltételt képez annak teszteléséhez, hogy a feladatütemezés windowsos PE rendszerindító lemezképből fut-e:

Feladatütemezési változó_SMSTSInWinPE equals "false"

Egy meglévő operációsrendszer-lemezkép telepítéséhez tekintse meg ezt a feltételt az alapértelmezett feladatütemezési sablon Fájlok és beállítások rögzítése csoportjában.

További információ a feltételekről: Feladatütemezés-szerkesztő – Feltételek.

Egyéni szkript

Változók olvasása és írása a Microsoft.SMS használatával. TSEnvironment COM-objektum a feladatütemezés futtatása közben.

Az alábbi Windows PowerShell példa lekérdezi a _SMSTSLogPath változót az aktuális naplóhely lekéréséhez. A szkript egyéni változót is beállít.

# Create an object to access the task sequence environment
$tsenv = New-Object -ComObject Microsoft.SMS.TSEnvironment

# Query the environment to get an existing variable
# Set a variable for the task sequence log path
$LogPath = $tsenv.Value("_SMSTSLogPath")

# Or, convert all of the variables currently in the environment to PowerShell variables
$tsenv.GetVariables() | % { Set-Variable -Name "$_" -Value "$($tsenv.Value($_))" }

# Write a message to a log file
Write-Output "Hello world!" | Out-File -FilePath "$LogPath\mylog.log" -Encoding "Default" -Append

# Set a custom variable "startTime" to the current time
$tsenv.Value("startTime") = (Get-Date -Format HH:mm:ss) + ".000+000"

A Windows telepítési válaszfájlja

A windowsos telepítési válaszfájl beágyazott feladatütemezési változókkal rendelkezhet. Használja az űrlapot %varname%, ahol a varname a változó neve. A Windows és a ConfigMgr beállítása lépés lecseréli a változó tényleges értékének változónév-sztringjét. Ezek a beágyazott feladatütemezési változók nem használhatók csak numerikus mezőkben egy unattend.xml válaszfájlban.

További információ: A Windows és a ConfigMgr beállítása.

Lásd még