Vlastní skripty pro zjišťování dodržování předpisů pro Microsoft Intune
Než budete moct použít vlastní nastavení pro dodržování předpisů s Microsoft Intune, musíte definovat skript, který dokáže zjistit vlastní nastavení dodržování předpisů, která jsou k dispozici na zařízeních. Skript, který použijete, závisí na platformě:
- Zařízení s Windows používají skript PowerShellu.
- Zařízení s Linuxem můžou spouštět skripty v libovolném jazyce, pokud je na zařízení nainstalovaný a nakonfigurovaný odpovídající interpret.
Skript zjišťování se nasadí do zařízení jako součást vlastních zásad dodržování předpisů. Když se na zařízení spustí dodržování předpisů, skript zjistí nastavení definovaná souborem JSON, který také poskytnete prostřednictvím vlastních zásad dodržování předpisů.
Všechny skripty zjišťování:
- Před vytvořením zásad dodržování předpisů se přidají do Intune. Po přidání jsou k dispozici skripty, které můžete vybrat při vytváření zásad dodržování předpisů s vlastním nastavením.
- Každý skript zjišťování je možné použít pouze s jednou zásadou dodržování předpisů a každá zásada dodržování předpisů může obsahovat pouze jeden skript zjišťování.
- Skripty zjišťování, které jsou přiřazené k zásadám dodržování předpisů, se nedají odstranit, dokud se skript neodeřadí ze zásad.
- Spusťte na zařízení, které obdrží zásady dodržování předpisů. Skript vyhodnotí podmínky souboru JSON, který nahrajete při vytváření vlastních zásad dodržování předpisů.
- Identifikujte jedno nebo více nastavení definovaných ve formátu JSON a vraťte seznam zjištěných hodnot pro tato nastavení. Ke každé zásadě je možné přiřadit jeden skript a podporuje zjišťování více nastavení.
Kromě toho skript PowerShellu pro Windows:
- Musí se zkomprimovat do výstupních výsledků na jednom řádku.
- Například:
$hash = @{ Manufacturer = $WMI_ComputerSystem.Manufacturer; BiosVersion = $WMI_BIOS.SMBIOSBIOSVersion; TPMChipPresent = $TPM.TPMPresent}
Musí obsahovat následující řádek na konci skriptu:return $hash | ConvertTo-Json -Compress
Hranice
Skripty, které napíšete, musí být v následujících mezích, aby se data dodržování předpisů úspěšně vrátila do Intune:
- Skripty nesmí být větší než 1 megabajt (MB).
- Výstup vygenerovaný jednotlivými skripty nesmí být větší než 1 MB.
- Skripty musí mít omezenou dobu spuštění:
- V Linuxu musí spuštění skriptů trvat pět minut nebo méně.
- Ve Windows musí spuštění skriptů trvat 10 minut nebo méně.
Ukázkový skript zjišťování pro Windows
Následující příklad je ukázkový skript PowerShellu, který byste mohli použít pro zařízení s Windows:
$WMI_ComputerSystem = Get-WMIObject -class Win32_ComputerSystem
$WMI_BIOS = Get-WMIObject -class Win32_BIOS
$TPM = Get-Tpm
$hash = @{ Manufacturer = $WMI_ComputerSystem.Manufacturer; BiosVersion = $WMI_BIOS.SMBIOSBIOSVersion; TPMChipPresent = $TPM.TPMPresent}
return $hash | ConvertTo-Json -Compress
Následuje příklad výstupu ukázkového skriptu pro Windows:
{"BiosVersion":"1.24","Manufacturer":"Microsoft Corporation","TPMChipPresent":true}
Ukázkový skript zjišťování pro Linux
Poznámka
Skripty zjišťování v Linuxu se spouštějí v kontextu uživatele a proto nemůžou zkontrolovat nastavení na úrovni systému, která vyžadují zvýšení oprávnění. Příkladem je state/hash
/etc/sudoers
soubor.
Skripty zjišťování pro Linux můžou volat jakýkoli interpret, který splňuje vaše požadavky. Před nasazením skriptu se ujistěte, že je vybraný interpret na cílovém zařízení správně nainstalovaný a nakonfigurovaný. Pokud chcete určit interpret pro skript, zahrňte do horní části skriptu řádek shebang, který označuje cestu k binárnímu souboru interpreta.
Pokud by například váš skript měl jako interpret používat prostředí Bash, přidejte do horní části skriptu následující řádek:
[ !/bin/bash ]
Pokud chcete pro skript použít Python, uveďte, kde je interpret nainstalovaný. Do horní části skriptu přidejte například následující: [ !/usr/bin/python3 ]
nebo [ !/usr/bin/env python ]
Doporučený osvědčený postup: Pokud chcete skriptům umožnit zpracování scénářů, jako jsou signály přerušení nebo zrušení, implementujte řádné mechanismy ukončení. Když skript správně ukládá tyto signály do mezipaměti a zpracovává je, může provádět úlohy čištění a řádně existovat a zajistit tak správné uvolnění prostředků. Můžete například zachytit konkrétní signály, jako je SIGINT (signál přerušení) nebo SIGTERM (ukončovací signál) a definovat vlastní akce, které se mají spustit při přijetí těchto signálů. Mezi tyto akce patří zavření otevřených souborů, uvolnění získaných zámků nebo vyčištění dočasných prostředků. Správné zpracování signálů pomáhá zachovat integritu skriptu a zlepšit celkové uživatelské prostředí.
Další informace najdete v průvodci Intune Ukázky vlastního dodržování předpisů v Linuxu.
Přidání skriptu zjišťování do Intune
Před nasazením skriptu v produkčním prostředí ho otestujte v izolovaném prostředí, abyste se ujistili, že se použitá syntaxe chová podle očekávání.
Přihlaste se k centru pro správu Microsoft Intune a přejděte do části Zabezpečení> koncového bodu Dodržovánípředpisů>zařízením Skripty>Přidat>(zvolte platformu).
V části Základy zadejte Název.
V Nastavení přidejte skript do skriptu detekce. Pečlivě zkontrolujte skript. Intune neověřuje syntaxi nebo programové chyby ve skriptu.
Jenom pro Windows – V nastavení nakonfigurujte pro skript PowerShellu následující chování:
- Spusťte tento skript pomocí přihlášených přihlašovacích údajů – ve výchozím nastavení se skript spustí v kontextu systému na zařízení. Nastavte tuto hodnotu na Ano, aby se spustila v kontextu přihlášeného uživatele. Pokud uživatel není přihlášený, skript se ve výchozím nastavení vrátí zpět do kontextu systému.
- Vynucení kontroly podpisu skriptu – další informace najdete v tématu about_Signing v dokumentaci k PowerShellu.
- Spuštění skriptu v 64bitovém hostiteli PowerShellu – Ve výchozím nastavení se skript spouští pomocí 32bitového hostitele PowerShellu. Pokud chcete vynutit spuštění skriptu pomocí 64bitového hostitele, nastavte tuto hodnotu na Ano .
Dokončete proces vytvoření skriptu. Skript je teď viditelný v podokně Skripty v Centru pro správu Microsoft Intune a je k dispozici k výběru při konfiguraci zásad dodržování předpisů.
Vzhledem k tomu, že pracovní postup pro nahrávání těchto skriptů do Centra pro správu Microsoft Intune nepodporuje značky oboru, musíte mít přiřazenou výchozí značku oboru, abyste mohli vytvářet, upravovat nebo zobrazovat vlastní skripty zjišťování dodržování předpisů.