Share via


Intune'daki Windows 10/11 cihazlarında PowerShell betiklerini kullanma

powershell betiklerini Intune yüklemek için Microsoft Intune yönetim uzantısını kullanın. Ardından bu betikleri Windows 10 cihazlarda çalıştırın. Yönetim uzantısı, Windows cihaz yönetimini (MDM) geliştirir ve modern yönetime geçmeyi kolaylaştırır.

Önemli

Genişletilmiş işlevselliği ve hata düzeltmelerini desteklemek için Windows istemcilerinde Intune Yönetim Uzantısı ile .NET Framework 4.7.2 veya üzerini kullanın. Windows istemcisi .NET Framework önceki bir sürümünü kullanmaya devam ederse, Intune Yönetim Uzantısı çalışmaya devam eder. .NET Framework 4.7.2, Win10 1809 (RS5) ve daha yeni sürümlere dahil olan 10 Temmuz 2018'den itibaren Windows Update'dan edinilebilir. .NET Framework sürümlerinin birden çok sürümünün bir cihazda birlikte var olabileceğini unutmayın.

Bu özellik şu platformlarda geçerlidir:

  • Windows 10 ve üzeri (Windows 10 Home hariç)

Not

Intune yönetim uzantısı önkoşulları karşılandıktan sonra, kullanıcıya veya cihaza bir PowerShell betiği veya Win32 uygulaması, Microsoft Store uygulamaları, Özel uyumluluk ilkesi ayarları veya Proaktif düzeltmeler atandığında Intune yönetim uzantısı otomatik olarak yüklenir. Daha fazla bilgi için bkz. Intune Yönetim Uzantıları önkoşulları.

Çalışma alanına katılma (WPJ) cihazlarında resmi olarak desteklenmeyen PowerShell betikleri WPJ cihazlarına dağıtılabilir. Özellikle, cihaz bağlamı PowerShell betikleri WPJ cihazlarında çalışır, ancak kullanıcı bağlamı PowerShell betikleri tasarım gereği yoksayılır. Kullanıcı bağlamı betikleri WPJ cihazlarında yoksayılır ve Microsoft Intune yönetim merkezine bildirılmaz.

Modern yönetime geçme

Kullanıcı bilişimi dijital bir dönüşümden geçiyor. Geleneksel BT tek bir cihaz platformuna, işletmeye ait cihazlara, ofisten çalışan kullanıcılara ve farklı el ile reaktif BT işlemlerine odaklanır. Modern çalışma alanı, kullanıcıya ve işletmeye ait birçok platform kullanır. Kullanıcıların her yerden çalışmasına olanak tanır ve otomatik ve proaktif BT işlemleri sağlar.

Microsoft Intune gibi MDM hizmetleri, Windows 10 çalıştıran mobil ve masaüstü cihazları yönetebilir. Yerleşik Windows 10 yönetim istemcisi, kurumsal yönetim görevlerini çalıştırmak için Intune ile iletişim kurar. Gelişmiş cihaz yapılandırması ve sorun giderme gibi ihtiyacınız olabilecek bazı görevler vardır. Win32 uygulama yönetimi için Windows 10 cihazlarınızda Win32 uygulama yönetimi özelliğini kullanabilirsiniz.

Intune yönetim uzantısı, yerleşik Windows 10 MDM özelliklerini destekler. Windows 10 cihazlarda çalıştırılacak PowerShell betikleri oluşturabilirsiniz. Örneğin, gelişmiş cihaz yapılandırmaları kullanan bir PowerShell betiği oluşturun. Ardından betiği Intune yükleyin, betiği bir Microsoft Entra grubuna atayın ve betiği çalıştırın. Ardından betiğin çalıştırma durumunu baştan sona izleyebilirsiniz.

Başlamadan önce

  • Betikler kullanıcı bağlamı olarak ayarlandığında ve son kullanıcı yönetici haklarına sahip olduğunda, PowerShell betiği varsayılan olarak yönetici ayrıcalığı altında çalışır.

  • Son kullanıcıların PowerShell betiklerini yürütmek için cihazda oturum açması gerekmez.

  • Intune yönetim uzantısı aracısı, her yeniden başlatmadan sonra yeni betikler veya değişiklikler olup olmadığını denetler. İlkeyi Microsoft Entra gruplarına atadıktan sonra PowerShell betiği çalıştırılır ve çalıştırma sonuçları bildirilir. Betik yürütülürken, betikte veya ilkede bir değişiklik olmadığı sürece yeniden yürütülemez. Betik başarısız olursa, Intune yönetim uzantısı aracısı sonraki üç ardışık Intune yönetim uzantısı aracısı iadeleri için betiği üç kez yeniden dener.

  • Paylaşılan cihazlar için PowerShell betiği oturum açabilen her yeni kullanıcı için çalıştırılır.

  • PowerShell betikleri Win32 uygulamaları çalışmadan önce yürütülür. Başka bir deyişle, önce PowerShell betikleri yürütülür. Ardından Win32 uygulamaları yürütülür.

  • PowerShell betikleri 30 dakika sonra zaman aşımına uğradı.

Önemli

PowerShell betikleri ve Düzeltme betikleri kullanılırken gizlilik farkındalığı için en iyi yöntemler şunlardır:

  • Betiklere (parolalar gibi) herhangi bir tür hassas bilgi eklemeyin
  • Betiklere Kişisel Bilgileri (PII) eklemeyin
  • Cihazlardan PII toplamak için betikleri kullanmayın
  • Gizlilikle ilgili en iyi yöntemleri her zaman takip edin

İlgili bilgiler için bkz. Düzeltmeler.

Önkoşullar

Intune yönetim uzantısı aşağıdaki önkoşullara sahiptir. Bunlar karşılandığında, kullanıcıya veya cihaza bir PowerShell betiği veya Win32 uygulaması atandığında Intune yönetim uzantısı otomatik olarak yüklenir.

  • Windows 10 sürüm 1607 veya üzerini çalıştıran cihazlar. Cihaz toplu otomatik kayıt kullanılarak kaydedildiyse, cihazların 1709 veya sonraki Windows 10 sürümünü çalıştırması gerekir. Intune yönetim uzantısı S modundaki Windows 10 desteklenmez çünkü S modu mağaza dışı uygulamaların çalıştırılmasına izin vermez.

  • Microsoft Entra ID katılmış cihazlar, örneğin:

  • kayıtlı/çalışma alanına katılmış (WPJ) Microsoft Entra: Microsoft Entra ID kayıtlı cihazlar, daha fazla bilgi için bkz. Sorunsuz bir ikinci faktör kimlik doğrulaması olarak Workplace Join. Bunlar genellikle Ayarlar>Hesapları>İş veya okula erişim yoluyla eklenmiş bir iş veya okul hesabı olan Kendi Cihazını Getir (KCG) cihazlarıdır.

  • Intune kayıtlı cihazlar, örneğin:

    • Grup ilkesine (GPO) kaydedilen cihazlar. Yönergeler için bkz. grup ilkesi kullanarak Windows 10 cihazı otomatik olarak kaydetme.

    • Intune'a el ile kaydedilen cihazlar:

      • Intune'a otomatik kayıt Microsoft Entra ID'da etkinleştirilir. Kullanıcılar, yerel bir kullanıcı hesabı kullanarak cihazlarda oturum açar ve Microsoft Entra ID için cihazı el ile ekler. Ardından Microsoft Entra hesabını kullanarak cihazda oturum açar.

      VEYA

      • Kullanıcı Microsoft Entra hesabını kullanarak cihazda oturum açar ve ardından Intune kaydeder.
    • Configuration Manager ve Intune kullanan ortak yönetilen cihazlar. Win32 uygulamalarını yüklerken Uygulamalar iş yükünün Pilot Intune veya Intune olarak ayarlandığından emin olun. Uygulamalar iş yükü Configuration Manager olarak ayarlansa bile PowerShell betikleri çalıştırılır. Intune yönetim uzantısı, bir PowerShell betiğini cihaza hedeflediğinizde cihaza dağıtılır. Cihazın Microsoft Entra ID veya karma birleştirilmiş Microsoft Entra cihaz olması gerektiğini unutmayın. Ayrıca, 1607 veya sonraki Windows 10 sürümünü çalıştırıyor olmalıdır. Rehberlik için aşağıdaki makalelere bakın:

  • Intune yönetim uzantısını çalıştıran istemcilere dağıtılan betikler, cihazın sistem saati aylara veya yıllara göre fazla güncel değilse çalıştırılamaz. Sistem saati güncel duruma getirildikten sonra betik beklendiği gibi çalışır.

Not

Windows 10 VM'lerini kullanma hakkında bilgi için bkz. Intune ile Windows 10 sanal makineleri kullanma.

Bir betik ilkesi İçerik Oluşturucu ve atayın

  1. Microsoft Intune yönetim merkezinde oturum açın.

  2. Cihaz>Betikleri ve düzeltmeleriPlatform betikleri>>Ekle>Windows 10 ve üzerini seçin.

    Windows 10 cihaz için yeni betik oluşturmayı gösteren ekran görüntüsü.

  3. Temel Bilgiler'de aşağıdaki özellikleri girin ve İleri'yi seçin:

    • Ad: PowerShell betiği için bir ad girin.
    • Açıklama: PowerShell betiği için bir açıklama girin. Bu ayar isteğe bağlıdır ancak önerilir.
  4. Betik ayarları'nda aşağıdaki özellikleri girin ve İleri'yi seçin:

    • Betik konumu: PowerShell betiğine göz atın. Betik 200 KB'tan (ASCII) küçük olmalıdır.

    • Oturum açmış kimlik bilgilerini kullanarak bu betiği çalıştırın: Betiği cihazda kullanıcının kimlik bilgileriyle çalıştırmak için Evet (varsayılan) seçeneğini belirleyin. Betiği sistem bağlamında çalıştırmak için Hayır'ı seçin. Birçok yönetici Evet'i seçer. Betiğin sistem bağlamında çalışması gerekiyorsa Hayır'ı seçin.

    • Betik imzası denetimini zorunlu kılma: Betiğin güvenilir bir yayımcı tarafından imzalanması gerekiyorsa Evet (varsayılan) seçeneğini belirleyin. Betiğin imzalanması için bir gereksinim yoksa Hayır'ı seçin.

    • Betiği 64 bit PowerShell ana bilgisayarında çalıştırma: Betiği 64 bit bir PowerShell konasında 64 bit istemci mimarisinde çalıştırmak için Evet'i seçin. Hayır (varsayılan) seçeneğini belirleyerek betiği 32 bit PowerShell konasında çalıştırır.

      Evet veya Hayır olarak ayarlanırken, yeni ve mevcut ilke davranışı için aşağıdaki tabloyu kullanın:

      Betiği 64 bit konakta çalıştırma İstemci mimarisi Yeni betik Mevcut ilke betiği
      Hayır 32 bit 32 bit PowerShell konağı desteklenir Yalnızca 32 bit ve 64 bit mimarilerde çalışan 32 bit PowerShell ana bilgisayarında çalışır.
      Evet 64 bit 64 bit mimariler için betiği 64 bit PowerShell ana bilgisayarında çalıştırır. 32 bit üzerinde çalıştırıldığında betik 32 bit PowerShell konaklarında çalışır. Betiği 32 bit PowerShell ana bilgisayarında çalıştırır. Bu ayar 64 bit olarak değişirse, betik 64 bit PowerShell konasında açılır (çalışmaz) ve sonuçları raporlar. 32 bit üzerinde çalıştırıldığında, betik 32 bit PowerShell ana bilgisayarında çalışır.
  5. Kapsam etiketleri'ne tıklayın. Kapsam etiketleri isteğe bağlıdır. Dağıtılmış BT için rol tabanlı erişim denetimi (RBAC) kullanın ve kapsam etiketleri daha fazla bilgi içerir.

    Kapsam etiketi eklemek için:

    1. Kapsam etiketlerini> seç'i seçin listeden > mevcut bir kapsam etiketini seçin Seç'i seçin.

    2. İşiniz bittiğinde İleri'yi seçin.

  6. Atamalar>Eklenecek grupları seçin'i seçin. Mevcut Microsoft Entra grupları listesi gösterilir.

    1. Cihazları betiği alan kullanıcıları içeren bir veya daha fazla grup seçin. Seç'i seçin. Seçtiğiniz gruplar listede gösterilir ve ilkenizi alır.

      Not

      Intune'daki PowerShell betikleri Microsoft Entra cihaz güvenlik gruplarına veya Microsoft Entra kullanıcı güvenlik gruplarına hedeflenebilir. Ancak, çalışma alanına katılmış (WPJ) cihazları hedeflerken yalnızca Microsoft Entra cihaz güvenlik grupları kullanılabilir (kullanıcı hedefleme yoksayılır). Daha fazla bilgi için bkz . Workplace join (WPJ) cihazları için Win32 uygulama desteği.

    2. İleri'yi seçin.

      powershell betiğini Microsoft Intune cihaz gruplarına atama veya dağıtma

  7. Gözden geçir + ekle bölümünde, yapılandırdığınız ayarların özeti gösterilir. Betiği kaydetmek için Ekle'yi seçin. Ekle'yi seçtiğinizde, ilke seçtiğiniz gruplara dağıtılır.

Betik çalıştırılamıyor örneği

08:00

  • Teslim etme
  • ConfigScript01 betiğini çalıştırma
  • Betik başarısız oluyor

09:00

  • Teslim etme
  • ConfigScript01 betiğini çalıştırma
  • Betik başarısız oluyor (yeniden deneme sayısı = 1)

10:00

  • Teslim etme
  • ConfigScript01 betiğini çalıştırma
  • Betik başarısız oluyor (yeniden deneme sayısı = 2)

11:00

  • Teslim etme
  • ConfigScript01 betiğini çalıştırma
  • Betik başarısız oluyor (yeniden deneme sayısı = 3)

12:00

  • Teslim etme
  • ConfigScript01betiğini çalıştırmak için ek girişimde bulunulmamaktadır.
  • Betikte ek bir değişiklik yapılmazsa, betiği çalıştırmak için ek girişimde bulunulmamaktadır.

Çalıştırma durumunu izleme

Portalda kullanıcılar ve cihazlar için PowerShell betiklerinin çalışma durumunu izleyebilirsiniz.

PowerShell betiklerinde, izlenecek betiği seçin, İzleyici'yi seçin ve ardından aşağıdaki raporlardan birini seçin:

  • Cihaz durumu
  • Kullanıcı durumu

yönetim uzantısı günlüklerini Intune

İstemci makinesindeki aracı günlükleri genellikle içindedir C:\ProgramData\Microsoft\IntuneManagementExtension\Logs. Bu günlük dosyalarını görüntülemek için CMTrace.exe kullanabilirsiniz.

Microsoft Intune'da ekran görüntüsü veya örnek cmtrace aracısı günlükleri

Betiği silme

PowerShell betiklerinde betiği sağ tıklatın ve Sil'i seçin.

Yaygın sorunlar ve çözümleri

Sorun: Intune yönetim uzantısı indirilmiyor

Olası çözümler:

  • Cihaz Microsoft Entra ID katılmamış. Cihazların önkoşulları karşıladığından emin olun (bu makalede).
  • Kullanıcının veya cihazın ait olduğu gruplara atanmış PowerShell betikleri veya Win32 uygulamaları yoktur.
  • Cihaz Intune hizmetiyle giriş yapamaz. Örneğin, İnternet erişimi yoktur, Windows Anında İletme Bildirim Hizmetleri'ne (WNS) erişim yoktur ve bu şekilde devam eder.
  • Cihaz S modundadır. Intune yönetim uzantısı S modunda çalışan cihazlarda desteklenmez.

Cihazın otomatik olarak kaydedilip kaydedilmediğini görmek için şunları yapabilirsiniz:

  1. Ayarlar>Hesaplar>İş veya okula erişim'e gidin.
  2. Birleştirilen hesap >Bilgilerini seçin.
  3. Gelişmiş Tanılama Raporu'İçerik Oluşturucuseçin.
  4. öğesini MDMDiagReport bir web tarayıcısında açın.
  5. MDMDeviceWithAAD özelliği için Arama. Özelliği varsa, cihaz otomatik olarak kaydedilir. Bu özellik yoksa cihaz otomatik olarak kaydedilmez.

otomatik kayıt Windows 10 etkinleştirme, Intune otomatik kaydı yapılandırma adımlarını içerir.

Sorun: PowerShell betikleri çalışmıyor

Olası çözümler:

  • PowerShell betikleri her oturum açmada çalışmaz. Çalışır:

    • Betik bir cihaza atandığında

    • Betiği değiştirirseniz karşıya yükleyin ve betiği bir kullanıcıya veya cihaza atayın

      İpucu

      Microsoft Intune Yönetim Uzantısı, Hizmetler uygulamasında (services.msc) listelenen diğer hizmetlerde olduğu gibi cihazda çalışan bir hizmettir. Bir cihaz yeniden başlatıldıktan sonra bu hizmet de yeniden başlatılabilir ve Intune hizmetiyle atanan PowerShell betiklerini denetleyebilir. Microsoft Intune Yönetim Uzantısı hizmeti El ile olarak ayarlanırsa, cihaz yeniden başlatıldıktan sonra hizmet yeniden başlatılamayabilir.

  • Cihazların Microsoft Entra ID katıldığından emin olun. Yalnızca çalışma alanınıza veya kuruluşunuza (Microsoft Entra ID kayıtlı) katılmış cihazlar betikleri almaz.

  • Intune yönetim uzantısının adresine indirildiğinden emin olmak için%ProgramFiles(x86)%\Microsoft Intune Management Extension.

  • Betikler Surface Hubs'ta veya S modunda Windows 10 çalışmaz.

  • Hatalar için günlükleri gözden geçirin. Bkz. Intune yönetim uzantısı günlükleri (bu makalede).

  • Olası izin sorunları için PowerShell betiğinin özelliklerinin olarak Run this script using the logged on credentialsayarlandığından emin olun. Ayrıca oturum açmış kullanıcının betiği çalıştırmak için uygun izinlere sahip olup olmadığını denetleyin.

  • Betik oluşturma sorunlarını yalıtmak için şunları yapabilirsiniz:

    • Cihazlarınızda PowerShell yürütme yapılandırmasını gözden geçirin. Yönergeler için bkz. PowerShell yürütme ilkesi .

    • Intune yönetim uzantısını kullanarak örnek bir betik çalıştırın. Örneğin, dizini oluşturun C:\Scripts ve herkese tam denetim verin. Aşağıdaki komut dosyasını çalıştırın:

      write-output "Script worked" | out-file c:\Scripts\output.txt
      

      Başarılı olursa, output.txt oluşturulmalıdır ve "Betik çalıştı" metnini içermelidir.

    • Intune olmadan betik yürütmeyi test etmek için psexec aracını yerel olarak kullanarak Betikleri Sistem hesabında çalıştırın:

      psexec -i -s

    • Betik başarılı olduğunu bildirirse ancak gerçekten başarılı olmadıysa virüsten koruma hizmetiniz AgentExecutor korumalı alanı olabilir. Aşağıdaki betik her zaman Intune bir hata bildirir. Test olarak şu betiği kullanabilirsiniz:

      Write-Error -Message "Forced Fail" -Category OperationStopped
      mkdir "c:\temp" 
      echo "Forced Fail" | out-file c:\temp\Fail.txt
      

      Betik başarılı olduğunu bildirirse hata çıkışını AgentExecutor.log onaylamak için dosyasına bakın. Betik yürütülürse uzunluk 2 olmalıdır >.

    • ve .output dosyalarını yakalamak .error için aşağıdaki kod parçacığı, betiği AgentExecutor aracılığıyla PowerShell x86 ()C:\Windows\SysWOW64\WindowsPowerShell\v1.0 ile yürütür. Gözden geçirmeniz için günlükleri tutar. Intune Yönetim Uzantısı'nın betik yürütülürken günlükleri temizleytiğini unutmayın:

      $scriptPath = read-host "Enter the path to the script file to execute"
      $logFolder = read-host "Enter the path to a folder to output the logs to"
      $outputPath = $logFolder+"\output.output"
      $errorPath =  $logFolder+"\error.error"
      $timeoutPath =  $logFolder+"\timeout.timeout"
      $timeoutVal = 60000 
      $PSFolder = "C:\Windows\SysWOW64\WindowsPowerShell\v1.0"
      $AgentExec = "C:\Program Files (x86)\Microsoft Intune Management Extension\agentexecutor.exe"
      &$AgentExec -powershell  $scriptPath $outputPath $errorPath $timeoutPath $timeoutVal $PSFolder 0 0
      

Sonraki adımlar

Profillerinizi izleyin ve sorun giderin.