Vytvoření a spuštění PowerShellových skriptů z konzoly Configuration ManagerCreate and run PowerShell scripts from the Configuration Manager console

Platí pro: System Center Configuration Manager (Current Branch)Applies to: System Center Configuration Manager (Current Branch)

System Center Configuration Manager má integrovanou schopnost spouštět skripty prostředí PowerShell.System Center Configuration Manager has an integrated ability to run Powershell scripts. Prostředí PowerShell přináší výhody vytváření sofistikovaných automatizovaných skriptů, které jsou srozumitelné a sdílené s větší komunitou.Powershell has the benefit of creating sophisticated, automated scripts that are understood and shared with a larger community. Tyto skripty zjednodušují vytváření vlastních nástrojů pro správu softwaru a umožňují rychle provádět rutinní úkoly, což vám umožní rychleji a častěji pracovat s velkými úlohami.The scripts simplify building custom tools to administer software and let you accomplish mundane tasks quickly, allowing you to get large jobs done more easily and more consistently.

Poznámka

Configuration Manager ve výchozím nastavení nepovolí tuto volitelnou funkci.Configuration Manager doesn't enable this optional feature by default. Tuto funkci musíte před použitím povolit.You must enable this feature before using it. Další informace naleznete v části Enable optional features from updates.For more information, see Enable optional features from updates.

Díky této integraci v System Center Configuration Manager můžete pomocí funkce spustit skripty provádět následující akce:With this integration in System Center Configuration Manager, you can use the Run Scripts functionality to do the following things:

  • Vytvořte a upravte skripty pro použití s System Center Configuration Manager.Create and edit scripts for use with System Center Configuration Manager.
  • Spravujte využití skriptů prostřednictvím rolí a oborů zabezpečení.Manage script usage through roles and security scopes.
  • Spouštějte skripty na kolekcích nebo individuálních místních spravovaných počítačích s Windows.Run scripts on collections or individual on-premises managed Windows PCs.
  • Získejte rychlé agregované výsledky skriptů z klientských zařízení.Get rapid aggregated script results from client devices.
  • Monitorujte provádění skriptu a zobrazte výsledky generování sestav z výstupu skriptu.Monitor script execution and view reporting results from script output.

Varování

S ohledem na výkon skriptů vám připomeneme, že budete mít k disměrnému a opatrní na jejich použití.Given the power of scripts, we remind you to be intentional and careful with their usage. Sestavili jsme další bezpečnostní opatření, která vám pomůžou. oddělené role a obory.We have built in additional safeguards to assist you; segregated roles and scopes. Ujistěte se, že před spuštěním ověříte přesnost skriptů a potvrďte, že pocházejí z důvěryhodného zdroje, aby nedocházelo k neúmyslnému spuštění skriptu.Be sure to validate the accuracy of scripts before running them and confirm they are from a trusted source, to prevent unintended script execution. Je třeba mít na starosti rozšířené znaky nebo jiné zmatení a informovat o zabezpečení skriptů.Be mindful of extended characters or other obfuscation and educate yourself about securing scripts. Další informace o zabezpečení PowerShellových skriptůLearn more about PowerShell script security

PožadavkyPrerequisites

  • Aby bylo možné spouštět skripty prostředí PowerShell, musí být v klientovi spuštěný PowerShell verze 3,0 nebo novější.To run PowerShell scripts, the client must be running PowerShell version 3.0 or later. Pokud ale skript, který spustíte, obsahuje funkčnost z novější verze prostředí PowerShell, musí klient, na kterém spouštíte skript, používat tuto verzi PowerShellu.However, if a script you run contains functionality from a later version of PowerShell, the client on which you run the script must be running that version of PowerShell.
  • Aby bylo možné spouštět skripty, Configuration Manager klienti musí spustit klienta z verze 1706 nebo novější.Configuration Manager clients must be running the client from the 1706 release, or later in order to run scripts.
  • Chcete-li použít skripty, musíte být členem příslušné role zabezpečení Configuration Manager.To use scripts, you must be a member of the appropriate Configuration Manager security role.
  • Import a vytváření skriptů – váš účet musí mít oprávnění Create pro skripty SMS.To import and author scripts - Your account must have Create permissions for SMS Scripts.
  • Chcete-li schválit nebo zamítnout skripty – váš účet musí mít oprávnění schvalovat pro skripty SMS.To approve or deny scripts - Your account must have Approve permissions for SMS Scripts.
  • Chcete-li spustit skripty – váš účet musí mít oprávnění ke spuštění skriptu pro kolekce.To run scripts - Your account must have Run Script permissions for Collections.

Další informace o Configuration Manager rolích zabezpečení:For more information about Configuration Manager security roles:
Obory zabezpečení pro skripty pro spuštěníSecurity scopes for run scripts
Role zabezpečení pro skripty pro spuštěníSecurity roles for run scripts
Základy správy na základě rolí.Fundamentals of role-based administration.

OmezeníLimitations

Spustit skripty v současné době podporují:Run Scripts currently supports:

  • Skriptovací jazyky: PowerShellScripting languages: PowerShell
  • Typy parametrů: celé číslo, řetězec a seznam.Parameter types: integer, string, and list.

Varování

Počítejte s tím, že při použití parametrů se otevře plocha oblasti pro potenciální riziko útoku prostřednictvím injektáže prostředí PowerShell.Be aware that when using parameters, it opens a surface area for potential PowerShell injection attack risk. Existují různé způsoby, jak zmírnit a pracovat, jako je například použití regulárních výrazů k ověření vstupu parametru nebo použití předdefinovaných parametrů.There are various ways to mitigate and work around, such as using regular expressions to validate parameter input or using predefined parameters. Běžným osvědčeným postupem není zahrnutí tajných kódů do skriptů PowerShellu (žádná hesla atd.).Common best practice is not to include secrets in your PowerShell scripts (no passwords, etc.). Další informace o zabezpečení PowerShellových skriptůLearn more about PowerShell script security

Spustit autory skriptů a schvalovateleRun Script authors and approvers

Spouštění skriptů používá koncept autorů skriptů a schvalovatelů skriptů jako samostatné role pro implementaci a provádění skriptu.Run Scripts uses the concept of script authors and script approvers as separate roles for implementation and execution of a script. Oddělení rolí autora a schvalovatele umožňuje důležité kontrolu výkonného nástroje, který spouští skripty.Having the author and approver roles separated allows an important process check for the powerful tool that Run Scripts is. K dispozici je další role spouštěče skriptu , která umožňuje spouštění skriptů, ale ne vytváření nebo schvalování skriptů.There's an additional script runners role that allows execution of scripts, but not creation or approval of scripts. Viz téma Vytvoření rolí zabezpečení pro skripty.See Create security roles for scripts.

Ovládací prvek role skriptůScripts roles control

Ve výchozím nastavení uživatelé nemůžou schválit vytvořený skript.By default, users can't approve a script they've authored. Vzhledem k tomu, že jsou skripty výkonné, všestranné a potenciálně nasazené na mnoho zařízení, můžete jednotlivé role oddělit mezi osobu, která tento skript vytvoří, a osoba, která skript schválí.Because scripts are powerful, versatile, and potentially deployed to many devices, you can separate the roles between the person that authors the script and the person that approves the script. Tyto role poskytují další úroveň zabezpečení před spuštěním skriptu bez dohledu.These roles give an additional level of security against running a script without oversight. Je možné vypnout sekundární schválení pro snadné testování.You're able to turn off secondary approval, for ease of testing.

Schválení nebo zamítnutí skriptuApprove or Deny a script

Aby bylo možné skripty spustit, musí být nejprve schváleny rolí schvalovatele skriptu .Scripts must be approved, by the script approver role, before they can be run. Postup schválení skriptu:To approve a script:

  1. V konzole Správce konfigurace klikněte na možnost Knihovna softwarů.In the Configuration Manager console, click Software Library.
  2. V pracovním prostoru softwarová knihovna klikněte na skripty.In the Software Library workspace, click Scripts.
  3. V seznamu skript vyberte skript, který chcete schválit nebo odepřít, a potom na kartě Domů ve skupině skript klikněte na schválit/odepřít.In the Script list, choose the script you want to approve or deny and then, on the Home tab, in the Script group, click Approve/Deny.
  4. V dialogovém okně schválení nebo odepření skriptu vyberte schválitnebo Odepřít pro skript.In the Approve or deny script dialog box, select Approve, or Deny for the script. Volitelně můžete zadat komentář k vašemu rozhodnutí.Optionally, enter a comment about your decision. Pokud skript odepřete, nejde ho spustit na klientských zařízeních.If you deny a script, it can't be run on client devices.
    schválení skriptuScript - Approval
  5. Dokončete průvodce.Complete the wizard. V seznamu skriptů se zobrazí změna sloupce stav schválení v závislosti na akci, kterou jste udělali.In the Script list, you see the Approval State column change depending on the action you took.

Povolit uživatelům schvalovat své vlastní skriptyAllow users to approve their own scripts

Toto schválení se primárně používá pro testovací fázi vývoje skriptů.This approval is primarily used for the testing phase of script development.

  1. V konzole nástroje Configuration Manager klikněte na Správa.In the Configuration Manager console, click Administration.
  2. V pracovním prostoru Správa rozbalte nabídku Konfigurace lokality a klikněte na Lokality.In the Administration workspace, expand Site Configuration, and then click Sites.
  3. V seznamu lokality vyberte lokalitu a pak na kartě Domů ve skupině lokality klikněte na Nastavení hierarchie.In the list of sites, choose your site and then, on the Home tab, in the Sites group, click Hierarchy Settings.
  4. Na kartě Obecné v dialogovém okně Vlastnosti nastavení hierarchie zrušte zaškrtnutí políčka autoři skriptů vyžadují další schvalovatele skriptu.On the General tab of the Hierarchy Settings Properties dialog box, clear the checkbox Script authors require additional script approver.

Důležité

Jako osvědčený postup byste neměli povolit autorovi skriptu schvalovat své vlastní skripty.As a best practice, you shouldn't allow a script author to approve their own scripts. Mělo by být povoleno pouze v nastavení testovacího prostředí.It should only be allowed in a lab setting. Pečlivě zvažte potenciální dopad na změnu tohoto nastavení v produkčním prostředí.Carefully consider the potential impact of changing this setting in a production environment.

Oborů zabezpečeníSecurity scopes

(Zavedeno s verzí 1710)(Introduced with version 1710)
Spouštění skriptů používá rozsahy zabezpečení, existující funkce Configuration Manager, pro řízení vytváření a spouštění skriptů pomocí přiřazování značek, které reprezentují skupiny uživatelů.Run Scripts uses security scopes, an existing feature of Configuration Manager, to control scripts authoring and execution through assigning tags that represent user groups. Další informace o používání oborů zabezpečení najdete v tématu Konfigurace správy na základě rolí pro System Center Configuration Manager.For more information on using security scopes, see Configure role-based administration for System Center Configuration Manager.

Vytváření rolí zabezpečení pro skriptyCreate security roles for scripts

Tři role zabezpečení používané ke spouštění skriptů nejsou ve výchozím nastavení ve Configuration Manager vytvořeny.The three security roles used for running scripts aren't created by default in Configuration Manager. Pokud chcete vytvořit spouštěče skriptů, autory skriptů a role schvalovatelů skriptů, postupujte podle kroků uvedených výše.To create the script runners, script authors, and script approvers roles, follow the outlined steps.

  1. V konzole Configuration Manager klikněte na správa >zabezpečení >role zabezpečení .In the Configuration Manager console, go to Administration >Security >Security Roles
  2. Klikněte pravým tlačítkem na roli a pak klikněte na Kopírovat.Right-click on a role and click Copy. Role, kterou kopírujete, má již přiřazená oprávnění.The role you copy has permissions already assigned. Ujistěte se, že jste provedli pouze oprávnění, která potřebujete.Make sure you take only the permissions that you want.
  3. Zadejte název vlastní role a její Popis.Give the custom role a Name and a Description.
  4. Přiřaďte roli zabezpečení níže uvedeným oprávněním.Assign the security role the permissions outlined below.

Oprávnění role zabezpečeníSecurity Role Permissions

Název role: spouštěče skriptůRole Name: Script Runners

  • Popis: Tato oprávnění umožňují, aby tato role spouštěla pouze skripty, které byly dříve vytvořeny a schváleny jinými rolemi.Description: These permissions enable this role to only run scripts that were previously created and approved by other roles.
  • Oprávnění: Zajistěte, aby byla tato hodnota nastavena na hodnotu Ano.Permissions: Ensure the following are set to Yes.
KategorieCategory OprávněníPermission StavState
KolekceCollection Spustit skriptRun Script AnoYes
LokalitaSite ČístRead AnoYes
Skripty SMSSMS Scripts ČístRead AnoYes

Název role: autoři skriptůRole Name: Script Authors

  • Popis: Tato oprávnění umožňují této roli vytvářet skripty, ale nemůžou je schvalovat ani spouštět.Description: These permissions enable this role to author scripts, but they can’t approve or run them.
  • Oprávnění: Ujistěte se, že jsou nastavená následující oprávnění.Permissions: Ensure the following permissions are set.
KategorieCategory OprávněníPermission StavState
KolekceCollection Spustit skriptRun Script NeNo
LokalitaSite ČístRead AnoYes
Skripty SMSSMS Scripts VytvořitCreate AnoYes
Skripty SMSSMS Scripts ČístRead AnoYes
Skripty SMSSMS Scripts OdstranitDelete AnoYes
Skripty SMSSMS Scripts UpravitModify AnoYes

Název role: schvalovatelé skriptůRole Name: Script Approvers

  • Popis: Tato oprávnění umožňují této roli schvalovat skripty, ale nemůžou je vytvářet ani spouštět.Description: These permissions enable this role to approve scripts, but they can’t create or run them.
  • Oprávnění: Ujistěte se, že jsou nastavená následující oprávnění.Permissions: Ensure the following permissions are set.
KategorieCategory OprávněníPermission StavState
KolekceCollection Spustit skriptRun Script NeNo
LokalitaSite ČístRead AnoYes
Skripty SMSSMS Scripts ČístRead AnoYes
Skripty SMSSMS Scripts ApproveApprove AnoYes
Skripty SMSSMS Scripts UpravitModify AnoYes

Příklad oprávnění ke skriptům SMS pro roli autoři skriptůExample of SMS Scripts permissions for the script authors role

Příklad oprávnění ke skriptům SMS pro roli autoři skriptů

Vytvoření skriptuCreate a script

  1. V konzole Správce konfigurace klikněte na možnost Knihovna softwarů.In the Configuration Manager console, click Software Library.
  2. V pracovním prostoru softwarová knihovna klikněte na skripty.In the Software Library workspace, click Scripts.
  3. Na kartě Domů ve skupině vytvořit klikněte na možnost vytvořit skript.On the Home tab, in the Create group, click Create Script.
  4. Na stránce skript v Průvodci vytvořením skriptu nakonfigurujte následující nastavení:On the Script page of the Create Script wizard, configure the following settings:
    • Název skriptu – zadejte název skriptu.Script Name - Enter a name for the script. I když můžete vytvořit více skriptů se stejným názvem a pomocí duplicitních názvů poznáte, že budete chtít najít skript, který potřebujete, v konzole Configuration Manager.Although you can create multiple scripts with the same name, using duplicate names makes it harder for you to find the script you need in the Configuration Manager console.
    • Skriptovací jazyk – v současné době se podporují jenom skripty PowerShellu.Script language - Currently, only PowerShell scripts are supported.
    • Import – importujte powershellový skript do konzoly nástroje.Import - Import a PowerShell script into the console. Skript se zobrazí v poli skript .The script is displayed in the Script field.
    • Vymazat – Odebere aktuální skript z pole skriptu.Clear - Removes the current script from the Script field.
    • Skript – zobrazí aktuálně importovaný skript.Script - Displays the currently imported script. Skript v tomto poli můžete podle potřeby upravit.You can edit the script in this field as necessary.
  5. Dokončete průvodce.Complete the wizard. Nový skript se zobrazí v seznamu skriptů se stavem čekání na schválení.The new script is displayed in the Script list with a status of Waiting for approval. Než budete moct spustit tento skript na klientských zařízeních, musíte ho schválit.Before you can run this script on client devices, you must approve it.

Důležité

Vyhněte se skriptování restartování zařízení nebo restartování agenta Configuration Manager při použití funkce spustit skripty.Avoid scripting a device reboot or a restart of the Configuration Manager agent when using the Run Scripts feature. To by mohlo vést k průběžnému restartování stavu.Doing so could lead to a continuous rebooting state. V případě potřeby jsou k dispozici vylepšení funkce klientského oznámení, která umožňuje restartovat zařízení Configuration Manager počínaje verzí 1710.If needed, there are enhancements to the client notification feature that enable restarting devices, starting in Configuration Manager version 1710. Sloupec čeká na restartování může přispět k identifikaci zařízení, která vyžadují restart.The pending restart column can help identify devices that need a restart.

Parametry skriptuScript parameters

(Zavedeno s verzí 1710)(Introduced with version 1710)
Přidáním parametrů do skriptu získáte větší flexibilitu vaší práce.Adding parameters to a script provides increased flexibility for your work. Můžete zahrnout až 10 parametrů.You can include up to 10 parameters. Následující text popisuje aktuální schopnost funkce spouštět skripty s parametry skriptu pro; String, celočíselné datové typy.The following outlines the Run Scripts feature's current capability with script parameters for; String, Integer data types. K dispozici jsou také seznamy předdefinovaných hodnot.Lists of preset values are also available. Pokud váš skript obsahuje nepodporované datové typy, zobrazí se upozornění.If your script has unsupported data types, you get a warning.

V dialogovém okně vytvořit skript klikněte v části skriptna Parametry skriptu .In the Create Script dialog, click Script Parameters under Script.

Každý z parametrů vašeho skriptu má vlastní dialog pro přidání dalších podrobností a ověření.Each of your script's parameters has its own dialog for adding further details and validation. Pokud je ve skriptu výchozí parametr, zobrazí se jeho výčet v uživatelském rozhraní parametru a můžete ho nastavit.If there's a default parameter in the script, it will be enumerated in the parameter UI and you can set it. Configuration Manager nepřepíše výchozí hodnotu, protože nikdy neupraví skript přímo.Configuration Manager won't overwrite the default value since it will never modify the script directly. Můžete si to představit jako "předem vyplněné navrhované hodnoty", které jsou k dispozici v uživatelském rozhraní, ale Configuration Manager neposkytují přístup k "výchozím" hodnotám v době běhu.You can think of this as “pre-populated suggested values” are provided in the UI, but Configuration Manager doesn't provide access to “default” values at run-time. To lze vyřešit úpravou skriptu, aby byly správné výchozí hodnoty.This can be worked around by editing the script to have the correct defaults.

Důležité

Hodnoty parametrů nemůžou obsahovat apostrof.Parameter values can't contain an apostrophe.
Došlo k známému problému v Configuration Manager verze 1802, kde se parametry s mezerami nepředávají do skriptu správně.There is a known issue in Configuration Manager version 1802 where parameters with spaces don't get passed to the script properly. Je-li v parametru použita mezera, je do skriptu předán pouze první položka v parametru a vše po nepředání prostoru.If a space is used in the parameter, only the first item in the parameter is passed to the script and everything after the space is not passed. Správci mohou tento skript obejít nahrazením alternativních znaků pro mezery a jejich převodem nebo jinými metodami.Admins can script around this by substituting alternate characters for spaces and converting them, or with other methods.

Ověřování parametrůParameter validation

Každý parametr ve vašem skriptu má dialogové okno vlastností parametru skriptu , pomocí kterého můžete přidat ověřování pro tento parametr.Each parameter in your script has a Script Parameter Properties dialog for you to add validation for that parameter. Po přidání ověřování byste měli získat chyby, pokud zadáváte hodnotu pro parametr, který nesplňuje jeho ověření.After adding validation, you should get errors if you're entering a value for a parameter that doesn't meet its validation.

Příklad: FirstNameExample: FirstName

V tomto příkladu je možné nastavit vlastnosti řetězcového parametru, FirstName.In this example, you're able to set the properties of the string parameter, FirstName.

Parametry skriptu – řetězec

Část ověření dialogového okna vlastností parametru skriptu obsahuje následující pole pro vaše použití:The validation section of the Script Parameter Properties dialog contains the following fields for your use:

  • Minimální délka – minimální počet znaků pole FirstName .Minimum Length - minimum number of characters of the FirstName field.
  • Maximální délka– maximální počet znaků pole FirstNameMaximum Length- maximum number of characters of the FirstName field
  • Regulární výrazje krátký.RegEx - short for Regular Expression. Další informace o použití regulárního výrazu naleznete v další části s použitím ověření regulárního výrazu.For more information on using the Regular Expression, see the next section, Using Regular Expression validation.
  • Vlastní chyba – užitečné pro přidání vlastní chybové zprávy, která nahrazuje jakékoli chybové zprávy ověřování systému.Custom Error - useful for adding your own custom error message that supersedes any system validation error messages.

Ověřování pomocí regulárního výrazuUsing Regular Expression validation

Regulární výraz je kompaktní forma programování pro kontrolu řetězce znaků proti zakódovanému ověření.A regular expression is a compact form of programming for checking a string of characters against an encoded validation. Například můžete vyhledat absenci znakového písmena v poli FirstName umístěním [^A-Z] do pole Regex .For example, you could check for the absence of a capital alphabetic character in the FirstName field by placing [^A-Z] in the RegEx field.

.NET Framework je podporováno zpracování regulárního výrazu pro tento dialog.The regular expression processing for this dialog is supported by the .NET Framework. Pokyny k používání regulárních výrazů naleznete v tématu regulární výraz .NET a Jazyk regulárních výrazů.For guidance on using regular expressions, see .NET Regular Expression and Regular Expression Language.

Příklady skriptuScript examples

Tady je několik příkladů, které ilustrují skripty, které můžete chtít použít s touto funkcí.Here are a couple examples that illustrate scripts you might want to use with this capability.

Vytvoří novou složku a soubor.Create a new folder and file

Tento skript vytvoří novou složku a soubor v rámci složky s ohledem na zadání pojmenování.This script creates a new folder and a file within the folder, given your naming input.

Param(
[Parameter(Mandatory=$True)]
[string]$FolderName,
[Parameter(Mandatory=$True)]
[string]$FileName
)

New-Item $FolderName -type directory
New-Item $FileName -type file

Získat verzi operačního systémuGet OS Version

Tento skript používá rozhraní WMI k dotazování počítače na jeho verzi operačního systému.This script uses WMI to query the machine for its OS version.

Write-Output (Get-WmiObject -Class Win32_operatingSystem).Caption

Úpravy nebo kopírování skriptů PowerShelluEdit or copy PowerShell scripts

(Zavedeno s verzí 1902)(Introduced with version 1902)
Můžete Upravit nebo zkopírovat existující skript prostředí PowerShell, který se používá s funkcí spustit skripty .You can Edit or Copy an existing PowerShell script used with the Run Scripts feature. Místo opětovného vytváření skriptu, který potřebujete změnit, ho teď můžete přímo upravit.Instead of recreating a script that you need to change, now directly edit it. Obě akce používají stejné možnosti průvodce jako při vytváření nového skriptu.Both actions use the same wizard experience as when you create a new script. Při úpravách nebo kopírování skriptu Configuration Manager neuchovává stav schválení.When you edit or copy a script, Configuration Manager doesn't persist the approval state.

Tip

Neupravujte skript, který je aktivně spuštěný na klientech.Don't edit a script that's actively running on clients. Nespustí se tak původní skript a z těchto klientů možná nezískáte zamýšlené výsledky.They won't finish running the original script, and you may not get the intended results from these clients.

Úprava skriptuEdit a script

  1. V pracovním prostoru softwarová knihovna otevřete uzel skripty .Go to the Scripts node under the Software Library workspace.
  2. Vyberte skript, který chcete upravit, a pak na pásu karet klikněte na Upravit .Select the script to edit, then click Edit in the ribbon.
  3. Změňte nebo znovu naimportujte skript na stránce Podrobnosti skriptu .Change or reimport your script in the Script Details page.
  4. Kliknutím na Další zobrazíte Souhrn a po dokončení úprav budete moct Zavřít .Click Next to view the Summary then Close when you're finished editing.

Kopírování skriptuCopy a script

  1. V pracovním prostoru softwarová knihovna otevřete uzel skripty .Go to the Scripts node under the Software Library workspace.
  2. Vyberte skript, který chcete zkopírovat, a pak klikněte na tlačítko Kopírovat na pásu karet.Select the script to copy, then click Copy in the ribbon.
  3. Přejmenujte skript do pole název skriptu a proveďte další úpravy, které byste mohli potřebovat.Rename the script in the Script name field and make any additional edits you may need.
  4. Kliknutím na Další zobrazíte Souhrn a po dokončení úprav budete moct Zavřít .Click Next to view the Summary then Close when you're finished editing.

Spuštění skriptuRun a script

Po schválení skriptu je možné ho spustit na jednom zařízení nebo v kolekci.After a script is approved, it can be run against a single device or a collection. Po spuštění skriptu se rychle spustí v systému s vysokou prioritou, který je časovým limitem v průběhu jedné hodiny.Once execution of your script begins, it's launched quickly through a high priority system that times-out in one hour. Výsledky skriptu se pak vrátí pomocí systému stavových zpráv.The results of the script are then returned using a state message system.

Výběr kolekce cílů pro váš skript:To select a collection of targets for your script:

  1. V konzole Configuration Manageru klikněte na Prostředky a kompatibilita.In the Configuration Manager console, click Assets and Compliance.
  2. V pracovním prostoru prostředky a kompatibilita klikněte na kolekce zařízení.In the Assets and Compliance workspace, click Device Collections.
  3. V seznamu kolekce zařízení klikněte na kolekci zařízení, na kterých chcete skript spustit.In the Device Collections list, click the collection of devices on which you want to run the script.
  4. Vyberte kolekci, kterou jste vybrali, a klikněte na Spustit skript.Select a collection of your choice, click Run Script.
  5. Na stránce skript v průvodci spuštěním skriptu vyberte ze seznamu skript.On the Script page of the Run Script wizard, choose a script from the list. Zobrazují se jenom schválené skripty.Only approved scripts are shown.
  6. Klikněte na Dalšía pak dokončete průvodce.Click Next, and then complete the wizard.

Důležité

Pokud se skript nespustí, například v případě, že je cílové zařízení během jednoho hodiny vypnuté, musíte ho spustit znovu.If a script does not run, for example because a target device is turned off during the one hour time period, you must run it again.

Provedení cílového počítačeTarget machine execution

Skript se spustí jako systémový nebo počítačový účet na cílových klientech.The script is executed as the system or computer account on the targeted client(s). Tento účet má omezený přístup k síti.This account has limited network access. Každý přístup ke vzdáleným systémům a umístěním pomocí skriptu se musí zřídit odpovídajícím způsobem.Any access to remote systems and locations by the script must be provisioned accordingly.

Monitorování skriptůScript monitoring

Po zahájení spuštění skriptu na kolekci zařízení použijte následující postup k monitorování operace.After you have initiated running a script on a collection of devices, use the following procedure to monitor the operation. Počínaje verzí 1710 můžete sledovat skript v reálném čase, který je spuštěný, a můžete se také vrátit do sestavy pro dané spuštění skriptu spuštění.Beginning with version 1710, you're both able to monitor a script in real time as it executes, and you can also return to a report for a given Run Script execution. Data stavu skriptu se vyčistí v rámci úlohy Odstranit zastaralou správu operací klienta nebo odstranění skriptu.Script status data is cleaned up as part of the Delete Aged Client Operations maintenance task or deletion of the script.

Sledování skriptů – stav spuštění skriptu

  1. V konzole Configuration Manager klikněte na monitorování.In the Configuration Manager console, click Monitoring.

  2. V pracovním prostoru monitorování klikněte na stav skriptu.In the Monitoring workspace, click Script Status.

  3. V seznamu stav skriptu zobrazíte výsledky pro každý skript, který jste spustili v klientských zařízeních.In the Script Status list, you view the results for each script you ran on client devices. Kód ukončení skriptu 0 obecně znamená, že skript byl úspěšně spuštěn.A script exit code of 0 generally indicates that the script ran successfully.

    • Počínaje Configuration Manager 1802 je výstup skriptu zkrácen na 4 KB, aby bylo možné lépe zobrazit.Beginning in Configuration Manager 1802, script output is truncated to 4 KB to allow for better display experience.

    Sledování skriptů – zkrácený skript

Výstup skriptu v 1810Script output in 1810

Podrobný výstup skriptu můžete zobrazit v nezpracovaném nebo strukturovaném formátu JSON.You can view detailed script output in raw or structured JSON format. Toto formátování usnadňuje čtení a analýzu výstupu.This formatting makes the output easier to read and analyze. Pokud skript vrátí platný text ve formátu JSON, zobrazte podrobný výstup buď jako výstup JSON , nebo jako nezpracovaný výstup.If the script returns valid JSON-formatted text, then view the detailed output as either JSON Output or Raw Output. V opačném případě je jediným z možností výstup skriptu.Otherwise the only option is Script Output.

Příklad: výstup skriptu je platný kód JSON.Example: Script output is valid JSON

Příkaz: $PSVersionTable.PSVersionCommand: $PSVersionTable.PSVersion

Major  Minor  Build  Revision
-----  -----  -----  --------
5      1      16299  551

Příklad: výstup skriptu není platný formát JSON.Example: Script output isn't valid JSON

Příkaz: Write-Output (Get-WmiObject -Class Win32_OperatingSystem).CaptionCommand: Write-Output (Get-WmiObject -Class Win32_OperatingSystem).Caption

Microsoft Windows 10 Enterprise
  • 1810 klienti vrátí výstup do lokality méně než 80 KB přes rychlý komunikační kanál.1810 clients return output less than 80 KB to the site over a fast communication channel. Tato změna zvyšuje výkon zobrazení výstupu skriptu nebo dotazu.This change increases the performance of viewing script or query output.

    • Pokud je výstup skriptu nebo dotazu větší než 80 KB, klient odesílá data prostřednictvím stavové zprávy.If the script or query output is greater than 80 KB, the client sends the data via a state message.
    • Klienti starší než 1802 budou nadále používat stavové zprávy.Pre-1802 clients continue to use state messages.

Výstup skriptu pre-1810Script output pre-1810

  • Configuration Manager počínaje verzí 1802 se výstup skriptu vrátí pomocí formátování JSON.Starting in Configuration Manager version 1802, script output returns using JSON formatting. Tento formát konzistentně vrátí čitelný výstup skriptu.This format consistently returns a readable script output.

  • Skripty, které získají Neznámý výsledek nebo kde byl klient offline, se nezobrazí v grafech nebo sadě dat.Scripts that get an unknown result, or where the client was offline, won't show in the charts or data set.

  • Vyhněte se vrácení výstupu velkých skriptů, protože se zkrátí na 4 KB.Avoid returning large script output since it's truncated to 4 KB.

  • Při spuštění Configuration Manager verze 1802 nebo novější s verzí klienta nižší úrovně není k dispozici některé funkce s formátováním výstupu skriptu.Some functionality with script output formatting isn't available when running Configuration Manager version 1802 or later with a down-level version of the client.

    • Pokud máte klienta, který je předem 1802 Configuration Manager, získáte výstup řetězce.When you have a pre-1802 Configuration Manager client, you get a string output.
    • Pro Configuration Manager klienta verze 1802 a vyšší získáte formátování JSON.For Configuration Manager client version 1802 and above, you get JSON formatting.
      • Můžete například získat výsledky, které říkají TEXT na jedné verzi klienta a "TEXT" (výstup je ohraničen v uvozovkách) na jiné verzi, která bude vložena do grafu jako dvě různé kategorie.For example, you might get results that say TEXT on one client version and "TEXT" (the output is surrounded in double quotes) on other version, which will be put in chart as two different categories.
      • Pokud potřebujete toto chování obejít, zvažte spuštění skriptu na dvou různých kolekcích.If you need to work around this behavior, consider running script against two different collections. Jednu s klienty starších než 1802 a jinou s 1802 a novějšími klienty.One with pre-1802 clients and another with 1802 and higher clients. Nebo můžete převést objekt enum na řetězcovou hodnotu ve skriptech, aby byly správně zobrazeny ve formátu JSON.Or, you can convert an enum object to a string value in scripts so they're properly displayed in JSON formatting.
  • Převeďte objekt enum na řetězcovou hodnotu ve skriptech, aby byly správně zobrazeny ve formátu JSON.Convert an enum object to a string value in scripts so they're properly displayed in JSON formatting.

    Převést objekt enum na hodnotu Sting

Soubory protokolůLog files

Počínaje verzí 1810 se přidalo další protokolování pro řešení potíží.Starting in version 1810, additional logging was added for troubleshooting.

  • Na straně klienta ve výchozím nastavení v C:\Windows\CCM\logs:On the client, by default in C:\Windows\CCM\logs:

    • Skripty. logScripts.log
    • CcmMessaging.logCcmMessaging.log
  • V MP ve výchozím nastavení v C:\ SMS_CCM \Logs.:On the MP, by default in C:\SMS_CCM\Logs:

    • MP_RelayMsgMgr.logMP_RelayMsgMgr.log
  • Na serveru lokality ve výchozím nastavení C:\Program Files\Configuration Manager\Logs:On the site server, by default in C:\Program Files\Configuration Manager\Logs:

    • SMS_Message_Processing_Engine. logSMS_Message_Processing_Engine.log

Viz takéSee Also