Yapılandırma Yöneticisi konsolundan PowerShell betikleri oluşturma ve çalıştırma

Uygulama: Yapılandırma Yöneticisi (geçerli dal)

Yapılandırma Yöneticisi PowerShell betiklerini çalıştırmak için tümleşik bir yeteneği vardır. PowerShell, daha büyük bir toplulukla anlaşılmış ve paylaşılmış gelişmiş, otomatik betikler oluşturma avantajına sahip olur. Betikler, yazılımları yönetmek için özel araçlar oluşturmanızı basitleştirir ve büyük işleri daha kolay ve tutarlı bir şekilde gerçekleştirmenizi sağlayarak sıradan görevleri hızlı bir şekilde gerçekleştirmenizi sağlar.

Not

Sürüm 2006 ve önceki Yapılandırma Yöneticisi, bu isteğe bağlı özelliği varsayılan olarak etkinleştirmez. Bu özelliği kullanmadan önce etkinleştirmeniz gerekir. Daha fazla bilgi için, bkz. Enable optional features from updates.

Bu tümleştirme Yapılandırma Yöneticisi betikleri çalıştır işlevini kullanarak aşağıdaki işleri yapabilirsiniz:

  • Uygulamayla kullanmak üzere betikler oluşturma ve Yapılandırma Yöneticisi.
  • Roller ve güvenlik kapsamları aracılığıyla betik kullanımını yönetin.
  • Koleksiyonlarda veya tek tek şirket içi yönetilen bilgisayarlarda betikleri Windows çalıştırın.
  • İstemci cihazlarından hızlı toplu betik sonuçları elde edin.
  • Betik yürütmeyi izleme ve betik çıkışından raporlama sonuçlarını görüntüleme.

Uyarı

  • Betiklerin gücüne bağlı olarak, bunların kullanımı konusunda bilinçli ve dikkatli olunması gerekir. Size yardımcı olmak için ek korumalar yaptık; ayrı roller ve kapsamlar. Betikleri çalıştırmadan önce doğruluklarını doğrulamayı ve betik yürütmeyi önlemek için güvenilir bir kaynaktan olduklarını onaylayın. Genişletilmiş karakterlere veya diğer karartmalara dikkat edin ve betiklerin güvenliğini sağlama konusunda kendinizi eğitin. PowerShell betik güvenliği hakkında daha fazla bilgi
  • Bazı kötü amaçlı yazılımdan koruma yazılımı, Betikleri veya CMPivot özelliklerini Yapılandırma Yöneticisi yanlışlıkla olayları tetikler. Kötü amaçlı yazılımdan koruma yazılımının bu özelliklerin girişim olmadan çalışmasına izin vermesi için %windir%\CCM\ScriptStore'ı dışlamanız önerilir.

Önkoşullar

  • PowerShell betiklerini çalıştırmak için istemcinin PowerShell sürüm 3.0 veya sonraki bir sürümünü çalıştırması gerekir. Ancak, çalıştırdınız bir betik PowerShell'in sonraki bir sürümünden işlevsellik içeriyorsa, betiği üzerinde çalıştıracak istemcinin bu PowerShell sürümünü çalıştırması gerekir.
  • Yapılandırma Yöneticisi betikleri çalıştırmak için istemciyi 1706 veya sonraki bir sürümden çalıştırması gerekir.
  • Betikleri kullanmak için uygun güvenlik rolünün Yapılandırma Yöneticisi gerekir.
  • Betikleri içeri aktarma ve yazma - Hesabınız SMS Betikleri için Oluşturma izinlerine sahip olması gerekir.
  • Betikleri onaylamak veya reddetmek için - Hesabınız SMS Betikleri için Onayla izinlerine sahip olmalı.
  • Betikleri çalıştırmak için - Hesabınız Koleksiyonlar için Betik Çalıştırma izinlerine sahip olmalı.

Güvenlik rollerini daha Yapılandırma Yöneticisi için:
Çalıştırma betikleri için güvenlik kapsamları
Çalıştırma betikleri için güvenlik rolleri
Rol tabanlı yönetimin temelleri.

Sınırlamalar

Betikleri Çalıştırma şu anda şunları destekler:

  • Betik dilleri: PowerShell
  • Parametre türleri: tamsayı, dize ve liste.

Uyarı

Parametreleri kullanırken, bunun olası PowerShell ekleme saldırısı riski için bir yüzey alanı açtığını da farkında olmak gerekir. Parametre girişini doğrulamak için normal ifadeler kullanma veya önceden tanımlanmış parametreleri kullanma gibi çeşitli hafifletebilir ve üzerinde çalışma yapabilirsiniz. PowerShell betiklerinize gizli dizileri dahil etmek (parola yok vb.) yaygın olarak en iyi yöntemdir. PowerShell betik güvenliği hakkında daha fazla bilgi

Betik yazarlarını ve onaylayanları çalıştırma

Betikleri Çalıştır, betik yazarları ve betik onaylayanları kavramını bir betiğin uygulanması ve yürütülmesi için ayrı roller olarak kullanır. Yazar ve onaylayan rollerinin ayrılması, BetikLeri Çalıştır'ın güçlü aracı için önemli bir işlem denetimi sağlar. Betiklerin yürütülmesine izin veren, ancak betik oluşturma veya onaylamaya izin veren ek bir betik çalıştırıcı rolü vardır. Bkz. Betikler için güvenlik rolleri oluşturma.

Betik rolleri denetimi

Varsayılan olarak, kullanıcılar kendi yazdıkları bir betiği onaylar. Betikler güçlü, çok yönlü ve potansiyel olarak birçok cihaza dağıtıldığından, betiği yazan kişi ile betiği onaylayan kişi arasındaki rolleri ayırabilirsiniz. Bu roller, gözetim olmadan betik çalıştırmaya karşı ek bir güvenlik düzeyi sağlar. Test kolaylığı için ikincil onayı kapatabilirsiniz.

Betiği onaylama veya reddetme

Betiklerin çalıştırılamadan önce betik onaylayan rolü tarafından onaylanması gerekir. Bir betiği onaylamak için:

  1. Configuration Manager konsolunda Yazılım Kitaplığı'nı tıklatın.
  2. Yazılım Kitaplığı çalışma alanında Betikler'e tıklayın.
  3. Betik listesinde, onaylamak veya reddetmek istediğiniz betiği seçin ve giriş sekmesindeki Betik grubunda Onayla/Reddet'e tıklayın.
  4. Betiği onayla veya reddet iletişim kutusunda, betik için Onayla veya Reddet'i seçin. İsteğe bağlı olarak, kararınız hakkında bir yorum girin. Bir betiği reddedersiniz, istemci cihazlarda çalıştırılamayabilirsiniz.
    Betik - Onay
  5. Sihirbazı tamamlayın. Betik listesinde, eyleme bağlı olarak Onay Durumu sütununu değiştirirsiniz.

Kullanıcıların kendi betiklerini onaylamasına izin ver

Bu onay öncelikli olarak betik geliştirmenin test aşamasında kullanılır.

  1. Configuration Manager konsolunda, Yönetim’e tıklayın.
  2. Yönetim çalışma alanında, Site Yapılandırması'nı genişletin ve Siteler'e tıklayın.
  3. Site listesinde, sitenizi seçin ve ardından Giriş sekmesinde, Siteler grubunda Hiyerarşi'ye tıklayın ve Ayarlar.
  4. Hiyerarşi Özellikleri iletişim kutusunun Genel sekmesinde, Ayarlar Betik yazarları için ek betik onaylayanı gerektir onay kutusunu temizleyin.

Önemli

En iyi uygulama olarak, bir betik yazarının kendi betiklerini onaylamasına izin vermemelisiniz. Yalnızca bir laboratuvar ayarında buna izin verilmiyor. Bu ayarın üretim ortamında değiştirilmesinin olası etkisini dikkatle düşünün.

Güvenlik kapsamları

Betikleri Çalıştırma, kullanıcı gruplarını temsil eden etiketler ata Yapılandırma Yöneticisi betik yazma ve yürütmeyi denetlemeye için mevcut bir Yapılandırma Yöneticisi özelliği olan güvenlik kapsamlarını kullanır. Güvenlik kapsamlarını kullanma hakkında daha fazla bilgi için, bkz. Configure role-based administration for Yapılandırma Yöneticisi.

Betikler için güvenlik rolleri oluşturma

Betikleri çalıştırmada kullanılan üç güvenlik rolü varsayılan olarak Yapılandırma Yöneticisi. Betik çalıştırıcıları, betik yazarları ve betik onaylayan rolleri oluşturmak için özetlenen adımları izleyin.

  1. Yapılandırma Yöneticisi konsolunda Yönetim Güvenlik Güvenlik > Rolleri'ne > gidin
  2. Bir role sağ tıklayın ve Kopyala'ya tıklayın. Kopyalayıp kopyalayıp atanmış izinlere sahip olur. Yalnızca istediğiniz izinleri alasınız.
  3. Özel role bir Ad ve Açıklama girin.
  4. Aşağıda özetlenen izinleri güvenlik rolüne attayın.

Güvenlik Rolü İzinleri

Rol Adı: Betik Çalıştırıcıları

  • Açıklama: Bu izinler, bu rolün yalnızca diğer roller tarafından önceden oluşturulmuş ve onaylanmış betikleri çalıştırmalarını sağlar.
  • İzinler: Aşağıdakilerin Evet olarak ayarlanmış olduğundan emin olur.
Kategori İzin Durum
Koleksiyon Betiği Çalıştırma Yes
Site Okuma Yes
SMS Betikleri Okuma Yes

Rol Adı: Betik Yazarları

  • Açıklama: Bu izinler, bu rolün betik yazmalarına olanak sağlar, ancak bunları onaylamıyor veya çalıştıramaz.
  • İzinler: Aşağıdaki izinlerin ayarlanmış olduğundan emin olun.
Kategori İzin Durum
Koleksiyon Betiği Çalıştırma No
Site Okuma Yes
SMS Betikleri Oluştur Yes
SMS Betikleri Okuma Yes
SMS Betikleri Sil Yes
SMS Betikleri Değiştir Yes

Rol Adı: Betik Onaylayanları

  • Açıklama: Bu izinler, bu rolün betikleri onaylamalarına olanak sağlar, ancak bunları oluşturamaz veya çalıştıramaz.
  • İzinler: Aşağıdaki izinlerin ayarlanmış olduğundan emin olun.
Kategori İzin Durum
Koleksiyon Betiği Çalıştırma No
Site Okuma Yes
SMS Betikleri Okuma Yes
SMS Betikleri Onaylama Yes
SMS Betikleri Değiştir Yes

Betik yazarları rolü için SMS Betikleri izinleri örneği

Betik yazarları rolü için SMS Betikleri izinleri örneği

Betik oluşturma

  1. Configuration Manager konsolunda Yazılım Kitaplığı'nı tıklatın.
  2. Yazılım Kitaplığı çalışma alanında Betikler'e tıklayın.
  3. Giriş sekmesinde, Oluştur grubunda Betik Oluştur'a tıklayın.
  4. Betik Oluşturma sihirbazının Betik sayfasında aşağıdaki ayarları yapılandırabilirsiniz:
    • Betik Adı - Betik için bir ad girin. Aynı adla birden çok betik oluşturabilirsiniz ancak yinelenen adlar kullanmak, ihtiyacınız olan betiği Yapılandırma Yöneticisi zorlaştırır.
    • Betik dili - Şu anda yalnızca PowerShell betikleri de desteklene.
    • İçeri Aktar - Konsola bir PowerShell betiği aktarın. Betik, Betik alanında görüntülenir.
    • Clear - Geçerli betiği Betik alanından kaldırır.
    • Betik - Şu anda içe aktarılan betiği görüntüler. Bu alanda betiği gereken şekilde düzenleyebilirsiniz.
  5. Sihirbazı tamamlayın. Yeni betik, Betik listesinde Onay bekleniyor durumuyla görüntülenir. Bu betiği istemci cihazlarda çalıştıramadan önce onaylamanız gerekir.

Önemli

BetikLeri Çalıştır özelliğini kullanırken cihaz yeniden başlatma veya Yapılandırma Yöneticisi yeniden başlatma betiği kullanmaktan kaçının. Bunu yapmak sürekli yeniden başlatma durumuna neden olabilir. Gerekirse, cihazların yeniden başlatılmasını etkinleştiren istemci bildirimi özelliğine yapılan geliştirmeler vardır. Bekleyen yeniden başlatma sütunu, yeniden başlatması gereken cihazların belirlenmesine yardımcı olabilir.

Betik parametreleri

Betiklere parametre eklemek, çalışmanız için daha fazla esneklik sağlar. En fazla 10 parametre dahil olabilir. Aşağıda BetikLeri Çalıştır özelliğinin betik parametreleriyle birlikte geçerli özelliği özetlemektedir; Dize, Tamsayı veri türleri. Önceden ayarlanmış değer listeleri de mevcuttur. Betiğiniz desteklenmeyen veri türlerine sahipse bir uyarıyla karşınıza çıkar.

Betik Oluştur iletişim kutusunda, Betik altında Betik Parametreleri'ne tıklayın.

Betiğinizin parametrelerinin her biri, daha fazla ayrıntı ve doğrulama eklemeye ilişkin kendi iletişim kutusu içerir. Betikte varsayılan bir parametre varsa, parametre kullanıcı arabiriminde numaralanmış olur ve bunu ayarlayın. Yapılandırma Yöneticisi, betiği hiçbir zaman doğrudan değiştirmeytiği için varsayılan değerin üzerine yazmaz. Bunu kullanıcı arabiriminde "önceden doldurulmuş önerilen değerler" olarak düşünebilirsiniz, ancak Yapılandırma Yöneticisi çalışma zamanında "varsayılan" değerlere erişim sağlamaz. Betiği doğru varsayılanlara sahip olacak şekilde düzenleyerek bu sorunu düzeltin.

Önemli

Parametre değerleri tek tırnak içine alınamaz.

Tek tırnak içine alınmış veya içeren parametre değerlerinin betikte düzgün şekilde geçirilemediği bilinen bir sorun vardır. Bir betik içinde boşluk içeren varsayılan parametre değerlerini belirtirken bunun yerine çift tırnak kullanın. Betiğin oluşturulması veya yürütülmesi sırasında varsayılan parametre değerlerini belirtirken, değerin bir boşluk içerdiğine veya içinde yer alamamalarına bakılmaksızın varsayılan değeri çift veya tek tırnak içinde çevrelerken gerekli değildir.

Parametre doğrulama

Betiğinizin her parametresinde, bu parametre için doğrulama eklemeniz için bir Betik Parametre Özellikleri iletişim kutusu vardır. Doğrulama ekledikten sonra, doğrulamasına uygun olmayan bir parametre için değer giriyorsanız hata alasiniz.

Örnek: FirstName

Bu örnekte FirstName dize parametresinin özelliklerini ayarlayabilirsiniz.

Betik parametreleri - dize

Betik Parametresi Özellikleri iletişim kutusunun doğrulama bölümü, kullanımınız için aşağıdaki alanları içerir:

  • Minimum Uzunluk - FirstName alanı için minimum karakter sayısı.
  • En Fazla Uzunluk - FirstName alanına en fazla karakter sayısı
  • RegEx - Normal İfadenin kısası. Normal İfade kullanma hakkında daha fazla bilgi için, Normal İfade doğrulamasını kullanma sonraki bölüme bakın.
  • Özel Hata - tüm sistem doğrulama hata iletilerinin yenilerini alan kendi özel hata iletinizi eklemek için kullanışlıdır.

Normal İfade doğrulamasını kullanma

Normal ifade, bir karakter dizesini kodlanmış doğrulamaya karşı denetlemeye yönelik küçük bir programlama biçimidir. Örneğin, RegEx alanına yerleştirerek FirstName alanında büyük alfabetik karakter olup olmadığı [^A-Z] kontrol edin.

Bu iletişim kutusu için normal ifade işleme, .NET Framework. Normal ifadeleri kullanma hakkında rehberlik için bkz. .NET Normal İfade ve Normal İfade Dili.

Betik örnekleri

Bu özellikle kullanmak istediğiniz betikleri gösteren birkaç örnek aşağıda verilmiştir.

Yeni klasör ve dosya oluşturma

Bu betik, adlandırma girişine göre klasör içinde yeni bir klasör ve bir dosya oluşturur.

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

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

Işletim Sistemi Sürümünü Al

Bu betik, makineyi işletim sistemi sürümü için sorgulamak için WMI kullanır.

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

PowerShell betiklerini düzenleme veya kopyalama

BetikLeri Çalıştır özelliğiyle kullanılan mevcut bir PowerShell betiği düzenleyebilir veya kopyaabilirsiniz. Değiştirmeniz gereken bir betiği yeniden oluşturma yerine doğrudan düzenleyin. Her iki eylem de yeni bir betik oluşturma ile aynı sihirbaz deneyimini kullanır. Bir betiği düzenlerken veya kopya Yapılandırma Yöneticisi onay durumu kalıcı olmaz.

İpucu

İstemciler üzerinde etkin olarak çalışan bir betiği düzenleme. Bunlar özgün betiği çalıştırmayı bitirmez ve bu istemcilerden amaçlanan sonuçları alamazsiniz.

Betiği düzenleme

  1. Yazılım Kitaplığı çalışma alanının altındaki Betikler düğümüne gidin.
  2. Düzenlemek istediğiniz betiği seçin ve şeritte Düzenle'ye tıklayın.
  3. Betik Ayrıntıları sayfasındaki betiğinizi değiştirme veya yeniden imtiyaz edin.
  4. Özet'i görüntülemek için Sonraki'ne tıklayın ve düzenlemeyi bitirdikten sonra Kapat'a tıklayın.

Betik kopyalama

  1. Yazılım Kitaplığı çalışma alanının altındaki Betikler düğümüne gidin.
  2. Kopya için betiği seçin ve şeritte Kopyala'ya tıklayın.
  3. Betik adı alanında betiği yeniden adlandırarak ihtiyacınız olan ek düzenlemeleri yapma.
  4. Özet'i görüntülemek için Sonraki'ne tıklayın ve düzenlemeyi bitirdikten sonra Kapat'a tıklayın.

Betik çalıştırma

Betik onaylandıktan sonra tek bir cihaz veya koleksiyonda çalıştırabilirsiniz. Betiğinizin yürütülmesi başladıktan sonra, bir saat içinde zaman zaman alan yüksek öncelikli bir sistem aracılığıyla hızlı bir şekilde başlatabilirsiniz. Betiğin sonuçları daha sonra bir durum iletisi sistemi kullanılarak döndürülür.

Betiğiniz için bir hedef koleksiyonu seçmek için:

  1. Configuration Manager konsolunda, Varlıklar ve Uyum'u tıklatın.
  2. Varlıklar ve Uyum çalışma alanında, Aygıt Koleksiyonları'nı tıklatın.
  3. Cihaz Koleksiyonları listesinde, betiği çalıştırmak istediğiniz cihaz koleksiyonuna tıklayın.
  4. İstediğiniz koleksiyonu seçin ve Betiği Çalıştır'a tıklayın.
  5. Betiği Çalıştır sihirbazının Betik sayfasında, listeden bir betik seçin. Yalnızca onaylanan betikler gösterilir.
  6. Sonraki 'ye tıklayın ve sihirbazı tamamlayın.

Önemli

Örneğin, bir hedef cihaz bir saatlik süre boyunca kapalı olduğundan bir betik çalıştırnmasa, yeniden çalıştırmanız gerekir.

Hedef makine yürütme

Betik, hedeflenen istemcide sistem veya bilgisayar hesabı olarak yürütülür. Bu hesabın ağ erişimi sınırlıdır. Betik tarafından uzak sistemlere ve konumlara tüm erişimler uygun şekilde sağ gerekir.

Betik izleme

Bir cihaz koleksiyonunda betik çalıştırmayı başlattıktan sonra, işlemi izlemek için aşağıdaki yordamı kullanın. Bir betiği yürütülürken gerçek zamanlı olarak izleyebilir ve daha sonra, verilen Bir Betiği Çalıştır yürütmesi için durum ve sonuçlara dönebilirsiniz. Betik durumu verileri, Eski İstemci İşlemlerini Sil bakım görevinin bir parçası olarak veya betiğin silinmesiyle birlikte temizlenir.

Betik izleyicisi - Betik Çalıştırma Durumu

  1. Yapılandırma Yöneticisi konsolunda İzleme'ye tıklayın.

  2. İzleme çalışma alanında Betik Durumu'ne tıklayın.

  3. Betik Durumu listesinde, istemci cihazlarda çalıştırdınız her betiğin sonuçlarını görüntülenir. 0 betik çıkış kodu genellikle betiğin başarıyla çalıştırıldı olduğunu gösterir.

    Betik izleyicisi - Kesilmiş Betik

Betik çıktısı

Betiğin sonuçlarını ConvertTo-Json cmdlet'ine piperek JSON biçimlendirmesini kullanan istemcinin dönüş betiği çıktısı. JSON biçimi tutarlı bir şekilde okunabilir betik çıktısı döndürür. Çıkış olarak nesne döndüren betikler için, ConvertTo-Json cmdlet'i çıkışı istemcinin JSON yerine döndüren basit bir dizeye dönüştürür.

  • Bilinmeyen bir sonuç alan veya istemcinin çevrimdışı olduğu betikler grafiklerde veya veri kümesinde gösterilmez.

  • 4 KB'a kısaltılmış olduğu için büyük betik çıktısı döndürerek kaçının.

  • JSON biçimlendirmesinde düzgün şekilde görüntülenmeleri için bir enum nesnesini betiklerde dize değerine dönüştürebilirsiniz.

    Enum nesnesini bir değerine dönüştürme

Ayrıntılı betik çıkışını ham veya yapılandırılmış JSON biçiminde görüntüebilirsiniz. Bu biçimlendirme, çıkışın okunmasını ve analiz kolaylaştırır. Betik geçerli JSON biçimli metin döndürecekse veya ConvertTo-Json PowerShell cmdlet'i kullanılarak çıkış JSON'a dönüştürmek mümkünse, ayrıntılı çıkışı JSON Çıkışı veya Ham Çıkış olarak görüntüebilirsiniz. Aksi takdirde tek seçenek Betik Çıkışı'dır.

Örnek: Betik çıkışı geçerli JSON'a dönüştürülebilir

Komut: $PSVersionTable.PSVersion

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

Örnek: Betik çıkışı geçerli JSON değil

Komut: Write-Output (Get-WmiObject -Class Win32_OperatingSystem).Caption

Microsoft Windows 10 Enterprise

Günlük dosyaları

  • İstemcide, varsayılan olarak C:\Windows\CCM\logs dizininde:

    • Scripts.log
    • CcmMessaging.log
  • MP'de varsayılan olarak C:\SMS_CCM\Logs:

    • MP_RelayMsgMgr.log
  • Site sunucusunda, varsayılan olarak C:\Program Files\Yapılandırma Yöneticisi\Logs dizininde:

    • SMS_Message_Processing_Engine.log

Ayrıca Bkz.