Aracılığıyla paylaş


Microsoft Intune için özel uyumluluk bulma betikleri

Microsoft Intune uyumluluk için özel ayarları kullanabilmeniz için önce cihazlarda kullanılabilen özel uyumluluk ayarlarını keşfedebilecek bir betik tanımlamanız gerekir. Kullandığınız betik platforma bağlıdır:

  • Windows cihazları bir PowerShell betiği kullanır.
  • Linux cihazları, ilgili yorumlayıcı cihaza yüklenip yapılandırıldığı sürece betikleri herhangi bir dilde çalıştırabilir.

Bulma betiği, özel uyumluluk ilkelerinizin bir parçası olarak cihazlara dağıtılır. Bir cihazda uyumluluk çalıştırıldığında betik, özel uyumluluk ilkesi aracılığıyla da sağladığınız JSON dosyası tarafından tanımlanan ayarları bulur.

Tüm bulma betikleri:

  • Uyumluluk ilkesi oluşturmadan önce Intune eklenir. Eklendikten sonra, özel ayarlarla bir uyumluluk ilkesi oluşturduğunuzda betikleri seçebilirsiniz.
    • Her bulma betiği yalnızca bir uyumluluk ilkesiyle kullanılabilir ve her uyumluluk ilkesi yalnızca bir bulma betiği içerebilir.
    • Uyumluluk ilkesine atanan bulma betikleri, betik ilkeden atanmadan silinemez.
  • Uyumluluk ilkesini alan bir cihazda komutunu çalıştırın. Betik, özel uyumluluk ilkesi oluştururken karşıya yüklediğiniz JSON dosyasının koşullarını değerlendirir.
  • JSON'da tanımlandığı gibi bir veya daha fazla ayarı belirleyin ve bu ayarlar için bulunan değerlerin listesini döndürür. Her ilkeye tek bir betik atanabilir ve birden çok ayarın bulunmasını destekler.

Ayrıca, Windows için PowerShell betiği:

  • Sonuçları tek bir satırda çıkarmak için sıkıştırılmalıdır.
  • Örneğin: $hash = @{ Manufacturer = $WMI_ComputerSystem.Manufacturer; BiosVersion = $WMI_BIOS.SMBIOSBIOSVersion; TPMChipPresent = $TPM.TPMPresent} betiğin sonuna aşağıdaki satırı içermelidir: return $hash | ConvertTo-Json -Compress

Sınır -ları

Uyumluluk verilerinin Intune başarıyla döndürülmesi için yazdığınız betiklerin aşağıdaki sınırlar içinde olması gerekir:

  • Betiklerin her birinde 1 megabayttan (MB) büyük olamaz.
  • Her betik tarafından oluşturulan çıkış 1 MB'tan büyük olamaz.
  • Betiklerin sınırlı çalışma süresi olmalıdır:
    • Linux'ta betiklerin çalıştırılması beş dakika veya daha kısa sürmelidir.
    • Windows'da betiklerin çalıştırılması 10 dakika veya daha kısa sürmelidir.

Windows için örnek bulma betiği

Aşağıdaki örnek, Windows cihazları için kullanabileceğiniz örnek bir PowerShell betiğidir:

$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

Aşağıda Örnek betiğin Windows'a çıkışına bir örnek verilmiştir:

{"BiosVersion":"1.24","Manufacturer":"Microsoft Corporation","TPMChipPresent":true}

Linux için örnek bulma betiği

Not

Linux'taki bulma betikleri Kullanıcının bağlamında çalıştırılır ve bu nedenle yükseltme gerektiren Sistem düzeyi ayarlarını denetleyemezler. Buna örnek olarak state/hash dosyanın örneği verilmiştir /etc/sudoers .

Linux için bulma betikleri gereksinimlerinizi karşılayan herhangi bir yorumlayıcıyı çağırabilir. Betik dağıtılmadan önce seçilen yorumlayıcının hedeflenen cihaza düzgün yüklendiğinden ve yapılandırıldığından emin olun. Bir betiğin yorumlayıcısını belirtmek için, betiğin en üstüne yorumlayıcı ikili dosyasının yolunu gösteren bir shebang satırı ekleyin.

Örneğin, betiğinizin yorumlayıcı olarak Bash kabuğunu kullanması gerekiyorsa, betiğinizin en üstüne aşağıdaki satırı ekleyin:

[ !/bin/bash ]

Betiğiniz için Python kullanmak istiyorsanız yorumlayıcının yüklü olduğu yeri belirtin. Örneğin, betiğinizin en üstüne aşağıdakileri ekleyin: [ !/usr/bin/python3 ] veya [ !/usr/bin/env python ]

Önerilen en iyi yöntem: Betiklerinizin kesme veya iptal sinyalleri gibi senaryoları işlemesini sağlamak için düzgün sonlandırma mekanizmaları uygulayın. Betik bu sinyalleri düzgün bir şekilde önbelleğe alıp işlediğinde, betik temizleme görevlerini gerçekleştirebilir ve düzgün bir şekilde var olabilir ve kaynakların doğru şekilde yayınlandığından emin olabilir. Örneğin, SIGINT (kesme sinyali) veya SIGTERM (sonlandırma sinyali) gibi belirli sinyalleri yakalayabilir ve bu sinyaller alındığında çalıştırılacak özel eylemler tanımlayabilirsiniz. Bu eylemler açık dosyaları kapatmayı, alınan kilitleri serbest bırakmayı veya geçici kaynakları temizlemeyi içerebilir. Sinyallerin düzgün işlenmesi, betik bütünlüğünün korunmasına ve genel kullanıcı deneyiminin geliştirilmesine yardımcı olur.

Daha fazla bilgi için Intune Linux Özel Uyumluluk Örnekleri kılavuzuna bakın.

Intune bulma betiği ekleme

Betiğinizi üretim ortamında dağıtmadan önce, kullandığınız söz diziminin beklendiği gibi davrandığından emin olmak için betiği yalıtılmış bir ortamda test edin.

  1. Microsoft Intune yönetim merkezinde oturum açın ve Uç nokta güvenliği>Cihaz uyumluluğu>Betikleri>Ekle>(platformunuzu seçin)'e gidin.

  2. Temel Bilgiler'de bir Ad girin.

  3. Ayarlar'da, betiğinizi Algılama betiğine ekleyin. Betiğinizi dikkatle gözden geçirin. Intune, söz dizimi veya programlı hatalar için betiği doğrulamaz.

  4. Yalnızca Windows için - Ayarlar'da PowerShell betiği için aşağıdaki davranışı yapılandırın:

    • Oturum açmış kimlik bilgilerini kullanarak bu betiği çalıştırın – Betik varsayılan olarak cihazdaki Sistem bağlamında çalışır. Oturum açmış kullanıcı bağlamında çalışması için bu değeri Evet olarak ayarlayın. Kullanıcı oturum açmadıysa, betik varsayılan olarak Sistem bağlamı'na geri döner.
    • Betik imzası denetimini zorunlu kılma – Daha fazla bilgi için PowerShell belgelerindeki about_Signing bölümüne bakın.
    • Betiği 64 bit PowerShell Konağı'nda çalıştırma – Varsayılan olarak, betik 32 bit PowerShell konağı kullanılarak çalıştırılır. Bunun yerine betiği 64 bit konağı kullanarak çalışmaya zorlamak için bu değeri Evet olarak ayarlayın.
  5. Betik oluşturma işlemini tamamlayın. Betik artık Microsoft Intune yönetim merkezinin Betikler bölmesinde görünür ve uyumluluk ilkelerini yapılandırırken seçilebilir.

Bu betikleri Microsoft Intune yönetim merkezine yüklemeye yönelik iş akışı kapsam etiketlerini desteklemediğinden, özel uyumluluk bulma betikleri oluşturmak, düzenlemek veya görmek için varsayılan kapsam etiketine atanmalısınız.

Sonraki adımlar