Megosztás a következőn keresztül:


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

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, hogy a Configuration Manager-összetevők milyen elérési utat írnak naplófájlok írásához. 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 a 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 a 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 megkülönböztetésével.

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 a 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áslé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ési 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ájlban megjelenik a teljes parancssor 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. A 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, válassza a Ne jelenjen meg ez az érték a Configuration Manager konzolon lehetőséget.

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

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

  1. A 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, válassza a Ne jelenjen meg ez az érték a Configuration Manager konzolon lehetőséget.

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

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

TSEnvironment COM-objektum

Ha egy szkript változóival szeretne dolgozni, használja a TSEnvironment objektumot.

További információ: Változók használata futó feladatütemezésben a 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 beírja a csomagazonosítót és az indítás előtti parancssort a Configuration Manager-konzolt futtató számítógép CreateTSMedia.log fájljába. 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.TSEnvironment COM objektum használatával, miközben a feladatütemezés fut.

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