Configuration Manager konsolundan PowerShell betikleri oluşturun ve çalıştırınCreate and run PowerShell scripts from the Configuration Manager console

Uygulama hedefi: Configuration Manager (geçerli dal)Applies to: Configuration Manager (current branch)

Configuration Manager, PowerShell betikleri çalıştırmak için tümleşik bir becerisine sahiptir.Configuration Manager has an integrated ability to run PowerShell scripts. PowerShell, daha büyük bir topluluk ile anlamış ve paylaşılan, gelişmiş ve otomatikleştirilmiş betikler oluşturma avantajına sahiptir.PowerShell has the benefit of creating sophisticated, automated scripts that are understood and shared with a larger community. Betikler, yazılımı yönetmek için özel araçlar oluşturmayı basitleştirir ve sıradan görevlerini hızlıca gerçekleştirmenize olanak tanıyarak büyük işleri daha kolay ve tutarlı bir şekilde almanızı sağlar.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.

Not

Configuration Manager varsayılan olarak bu isteğe bağlı özelliği etkinleştirmez.Configuration Manager doesn't enable this optional feature by default. Bu özelliği kullanmadan önce etkinleştirmeniz gerekir.You must enable this feature before using it. Daha fazla bilgi için, bkz. Enable optional features from updates.For more information, see Enable optional features from updates.

Configuration Manager ' de bu tümleştirmeyle, komut dosyalarını çalıştır işlevini kullanarak aşağıdaki işlemleri yapabilirsiniz:With this integration in Configuration Manager, you can use the Run Scripts functionality to do the following things:

  • Configuration Manager ile kullanmak için betikleri oluşturun ve düzenleyin.Create and edit scripts for use with Configuration Manager.
  • Roller ve güvenlik kapsamları aracılığıyla betik kullanımını yönetin.Manage script usage through roles and security scopes.
  • Komut dosyalarını koleksiyonlarda veya şirket içi yönetilen Windows bilgisayarlarda çalıştırın.Run scripts on collections or individual on-premises managed Windows PCs.
  • İstemci aygıtlarından hızlı toplu betik sonuçları alın.Get rapid aggregated script results from client devices.
  • Betik yürütmeyi izleyin ve betik çıktısından bildirim sonuçlarını görüntüleyin.Monitor script execution and view reporting results from script output.

Uyarı

  • Betiklerin gücü verildiğinde, kasıtlı olarak ve kullanımlarıyla ilgili bir sorun olduğunu hatırladık.Given the power of scripts, we remind you to be intentional and careful with their usage. Size yardımcı olmaya yönelik ek korumalar sunuyoruz; ayrılmış roller ve kapsamlar.We have built in additional safeguards to assist you; segregated roles and scopes. Betikleri çalıştırmadan önce betiklerin doğruluğunu doğruladığınızdan emin olun ve istenmeyen betik yürütmeyi engellemek için güvenilir bir kaynaktan olduklarını doğrulayın.Be sure to validate the accuracy of scripts before running them and confirm they are from a trusted source, to prevent unintended script execution. Genişletilmiş karakterler veya başka bir gizleme olun ve betikleri güvenli hale getirme hakkında kendinizi eğitin.Be mindful of extended characters or other obfuscation and educate yourself about securing scripts. PowerShell betiği güvenliği hakkında daha fazla bilgi edininLearn more about PowerShell script security
  • Bazı kötü amaçlı yazılımdan koruma yazılımları yanlışlıkla Configuration Manager çalıştırmak betiklerine veya CMPivot özelliklerine karşı olayları tetikleyemeyebilir.Certain anti-malware software may inadvertently trigger events against the Configuration Manager Run Scripts or CMPivot features. 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 hariç tutulması önerilir.It is recommended to exclude %windir%\CCM\ScriptStore so that the anti-malware software permits those features to run without interference.

ÖnkoşullarPrerequisites

  • PowerShell betikleri çalıştırmak için, istemcinin PowerShell sürüm 3,0 veya üzerini çalıştırıyor olması gerekir.To run PowerShell scripts, the client must be running PowerShell version 3.0 or later. Ancak, çalıştırdığınız bir betik bir PowerShell 'in daha sonraki bir sürümünden işlevsellik içeriyorsa, betiği çalıştırdığınız istemcinin bu PowerShell sürümünü çalıştırması gerekir.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.
  • Configuration Manager istemcileri, betikleri çalıştırmak için istemciyi 1706 sürümünden veya daha sonra çalıştırıyor olmalıdır.Configuration Manager clients must be running the client from the 1706 release, or later in order to run scripts.
  • Betikleri kullanmak için uygun Configuration Manager güvenlik rolünün bir üyesi olmanız gerekir.To use scripts, you must be a member of the appropriate Configuration Manager security role.
  • Betikleri içeri ve dışarı yazmak için-hesabınız SMS betikleriiçin oluşturma izinlerine sahip olmalıdır.To import and author scripts - Your account must have Create permissions for SMS Scripts.
  • Betikleri onaylamak veya reddetmek için-hesabınız SMS betikleriiçin onay izinlerine sahip olmalıdır.To approve or deny scripts - Your account must have Approve permissions for SMS Scripts.
  • Betikleri çalıştırmak için-hesabınızın koleksiyonlarIçin komut dosyası çalıştırma izinlerine sahip olması gerekir.To run scripts - Your account must have Run Script permissions for Collections.

Configuration Manager Güvenlik rolleri hakkında daha fazla bilgi için:For more information about Configuration Manager security roles:
Çalıştırma betikleri için güvenlik kapsamlarıSecurity scopes for run scripts
Çalıştırma betikleri için güvenlik rolleriSecurity roles for run scripts
Rol tabanlı yönetimin temelleri.Fundamentals of role-based administration.

SınırlamalarLimitations

Çalıştırma betikleri Şu anda şunları destekler:Run Scripts currently supports:

  • Komut dosyası dilleri: PowerShellScripting languages: PowerShell
  • Parametre türleri: Integer, String ve List.Parameter types: integer, string, and list.

Uyarı

Parametreleri kullanırken, olası PowerShell ekleme saldırısı riski için bir yüzey alanı açıldığını unutmayın.Be aware that when using parameters, it opens a surface area for potential PowerShell injection attack risk. Parametre girişini doğrulamak veya önceden tanımlanmış parametreleri kullanmak gibi normal ifadeleri kullanma gibi, etkilerini azaltmak ve çözmek için çeşitli yollar vardır.There are various ways to mitigate and work around, such as using regular expressions to validate parameter input or using predefined parameters. En iyi genel uygulama, PowerShell betiklerinizde gizli dizileri (parola, vb.) içermemelidir.Common best practice is not to include secrets in your PowerShell scripts (no passwords, etc.). PowerShell betiği güvenliği hakkında daha fazla bilgi edininLearn more about PowerShell script security

Betik yazarlarını ve onaylayanları ÇalıştırRun Script authors and approvers

Çalıştırma betikleri, komut dosyasının uygulanması ve yürütülmesi için ayrı roller olarak betik yazarları ve betik onaylayanları kavramını kullanır.Run Scripts uses the concept of script authors and script approvers as separate roles for implementation and execution of a script. Yazar ve onaylayan rollerinin ayrı olması, betikleri çalıştıran güçlü araç için önemli bir işlem denetimi sağlar.Having the author and approver roles separated allows an important process check for the powerful tool that Run Scripts is. Betiklerin yürütülmesine izin veren ancak betikleri oluşturma veya onaylama gibi ek bir betik çalıştırma rolü vardır.There's an additional script runners role that allows execution of scripts, but not creation or approval of scripts. Bkz. betikler için güvenlik rolleri oluşturma.See Create security roles for scripts.

Betikler rol denetimiScripts roles control

Varsayılan olarak, kullanıcılar yazdığı bir betiği onaylayamaz.By default, users can't approve a script they've authored. Betikler güçlü, çok yönlü ve büyük olasılıkla birçok cihaza dağıtıldığı için, bir betiği yazar ve betiği onaylayan kişi arasında rolleri ayırabilirsiniz.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. Bu roller, daha fazla bakış olmadan bir betiği çalıştırmaya karşı ek bir güvenlik düzeyi sağlar.These roles give an additional level of security against running a script without oversight. Sınama kolaylığı için ikincil onayı devre dışı bırakabilirsiniz.You're able to turn off secondary approval, for ease of testing.

Betiği onaylama veya reddetmeApprove or Deny a script

Betikler, çalıştırılmadan önce, komut dosyası onaylayan rolü tarafından onaylanmalıdır.Scripts must be approved, by the script approver role, before they can be run. Bir betiği onaylamak için:To approve a script:

  1. Configuration Manager konsolunda Yazılım Kitaplığı'nı tıklatın.In the Configuration Manager console, click Software Library.
  2. Yazılım kitaplığı çalışma alanında betikler' e tıklayın.In the Software Library workspace, click Scripts.
  3. Betik listesinde, onaylamak veya reddetmek istediğiniz betiği seçin ve ardından giriş sekmesinde, komut dosyası grubunda, onayla/reddet' e tıklayın.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. Betiği onayla veya Reddet iletişim kutusunda, komut dosyası için Onaylaveya Reddet ' i seçin.In the Approve or deny script dialog box, select Approve, or Deny for the script. İsteğe bağlı olarak kararınız hakkında bir yorum girin.Optionally, enter a comment about your decision. Bir komut dosyasını reddederseniz, istemci cihazlarda çalıştırılamaz.If you deny a script, it can't be run on client devices.
    Betiği onaylamaScript - Approval
  5. Sihirbazı tamamlayın.Complete the wizard. Komut dosyası listesinde, yaptığınız eyleme göre onay durumu sütununun değiştirilmesini görürsünüz.In the Script list, you see the Approval State column change depending on the action you took.

Kullanıcıların kendi betiklerini onaylamasını sağlarAllow users to approve their own scripts

Bu onay öncelikle betik geliştirmenin test aşaması için kullanılır.This approval is primarily used for the testing phase of script development.

  1. Configuration Manager konsolunda, Yönetim’e tıklayın.In the Configuration Manager console, click Administration.
  2. Yönetim çalışma alanında, Site Yapılandırması'nı genişletin ve Siteler'e tıklayın.In the Administration workspace, expand Site Configuration, and then click Sites.
  3. Site listesinde, sitenizi seçin ve ardından giriş sekmesinde, siteler grubunda, Hiyerarşi ayarları' na tıklayın.In the list of sites, choose your site and then, on the Home tab, in the Sites group, click Hierarchy Settings.
  4. Hiyerarşi ayarları özellikleri Iletişim kutusunun genel sekmesinde, komut dosyası yazarlarına ek betik onaylayanı gerektironay kutusunu temizleyin.On the General tab of the Hierarchy Settings Properties dialog box, clear the checkbox Script authors require additional script approver.

Önemli

En iyi uygulama olarak, betik yazarının kendi betiklerini onaylamasını izin vermemelisiniz.As a best practice, you shouldn't allow a script author to approve their own scripts. Yalnızca bir laboratuvar ayarında izin verilmelidir.It should only be allowed in a lab setting. Bu ayarı bir üretim ortamında değiştirmenin olası etkisini dikkatlice göz önünde bulundurun.Carefully consider the potential impact of changing this setting in a production environment.

Güvenlik kapsamlarıSecurity scopes

Çalıştırma betikleri, Kullanıcı gruplarını temsil eden Etiketler atayarak yazma ve yürütmeyi denetlemek için, Configuration Manager mevcut bir özelliği olan güvenlik kapsamlarını kullanır.Run Scripts uses security scopes, an existing feature of Configuration Manager, to control scripts authoring and execution through assigning tags that represent user groups. Güvenlik kapsamlarını kullanma hakkında daha fazla bilgi için bkz. Configuration Manager için rol tabanlı yönetimi yapılandırma.For more information on using security scopes, see Configure role-based administration for Configuration Manager.

Betikler için güvenlik rolleri oluşturmaCreate security roles for scripts

Komut dosyalarını çalıştırmak için kullanılan üç güvenlik rolü Configuration Manager ' de varsayılan olarak oluşturulmaz.The three security roles used for running scripts aren't created by default in Configuration Manager. Komut dosyası çalıştıranlar, komut dosyası yazarları ve betik onaylayanlar rollerini oluşturmak için, özetlenen adımları izleyin.To create the script runners, script authors, and script approvers roles, follow the outlined steps.

  1. Configuration Manager konsolunda, Yönetim >güvenlik >güvenliği rolleri ' ne gidinIn the Configuration Manager console, go to Administration >Security >Security Roles
  2. Rol üzerinde sağ tıklayın ve Kopyala' ya tıklayın.Right-click on a role and click Copy. Kopyaladığınız rolün izinleri zaten atanmış.The role you copy has permissions already assigned. Yalnızca istediğiniz izinleri aldığınızdan emin olun.Make sure you take only the permissions that you want.
  3. Özel role bir ad ve Açıklamasağlayın.Give the custom role a Name and a Description.
  4. Güvenlik rolünü aşağıda özetlenen izinler atayın.Assign the security role the permissions outlined below.

Güvenlik rolü IzinleriSecurity Role Permissions

Rol adı: betik ÖzetiRole Name: Script Runners

  • Açıklama: Bu izinler, yalnızca daha önce diğer roller tarafından oluşturulan ve onaylanan betikleri çalıştırmak için bu rolü etkinleştirir.Description: These permissions enable this role to only run scripts that were previously created and approved by other roles.
  • İzinler: Aşağıdakilerin Evetolarak ayarlandığından emin olun.Permissions: Ensure the following are set to Yes.
KategoriCategory İzinPermission DurumState
KoleksiyonCollection Betiği ÇalıştırRun Script YesYes
SiteSite OkumaRead YesYes
SMS betikleriSMS Scripts OkumaRead YesYes

Rol adı: betik yazarlarıRole Name: Script Authors

  • Açıklama: Bu izinler, bu rolün betikleri yazarmasını sağlar, ancak bunları onaylayabilir veya çalıştıramazlar.Description: These permissions enable this role to author scripts, but they can't approve or run them.
  • İzinler: aşağıdaki izinlerin ayarlandığından emin olun.Permissions: Ensure the following permissions are set.
KategoriCategory İzinPermission DurumState
KoleksiyonCollection Betiği ÇalıştırRun Script HayırNo
SiteSite OkumaRead YesYes
SMS betikleriSMS Scripts OluşturCreate YesYes
SMS betikleriSMS Scripts OkumaRead YesYes
SMS betikleriSMS Scripts SilDelete YesYes
SMS betikleriSMS Scripts DeğiştirModify YesYes

Rol adı: betik onaylayanlarıRole Name: Script Approvers

  • Açıklama: Bu izinler, bu rolün betikleri onaylamasını sağlar, ancak bunları oluşturamaz veya çalıştıramazlar.Description: These permissions enable this role to approve scripts, but they can't create or run them.
  • İzinler: Aşağıdaki izinlerin ayarlandığından emin olun.Permissions: Ensure the following permissions are set.
KategoriCategory İzinPermission DurumState
KoleksiyonCollection Betiği ÇalıştırRun Script HayırNo
SiteSite OkumaRead YesYes
SMS betikleriSMS Scripts OkumaRead YesYes
SMS betikleriSMS Scripts OnaylamaApprove YesYes
SMS betikleriSMS Scripts DeğiştirModify YesYes

Betik yazarları rolü için SMS betikleri izinleri örneğiExample of SMS Scripts permissions for the script authors role

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

Betik oluşturmaCreate a script

  1. Configuration Manager konsolunda Yazılım Kitaplığı'nı tıklatın.In the Configuration Manager console, click Software Library.
  2. Yazılım kitaplığı çalışma alanında betikler' e tıklayın.In the Software Library workspace, click Scripts.
  3. Giriş sekmesinde, Oluştur grubunda, komut dosyası oluştur' a tıklayın.On the Home tab, in the Create group, click Create Script.
  4. Betik oluşturma sihirbazının komut dosyası sayfasında, aşağıdaki ayarları yapılandırın:On the Script page of the Create Script wizard, configure the following settings:
    • Betik adı -betik için bir ad girin.Script Name - Enter a name for the script. Aynı ada sahip birden çok komut dosyası oluşturabilseniz de, yinelenen adları kullanmak Configuration Manager konsolunda ihtiyacınız olan betiği bulmanızı zorlaştırır.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.
    • Betik dili -Şu anda yalnızca PowerShell betikleri desteklenir.Script language - Currently, only PowerShell scripts are supported.
    • Içeri aktarma -bir PowerShell betiğini konsoluna aktarın.Import - Import a PowerShell script into the console. Betik, betik alanında görüntülenir.The script is displayed in the Script field.
    • Temizle -komut dosyası alanından geçerli betiği kaldırır.Clear - Removes the current script from the Script field.
    • Betik -Şu anda alınmış olan betiği görüntüler.Script - Displays the currently imported script. Bu alandaki betiği gereken şekilde düzenleyebilirsiniz.You can edit the script in this field as necessary.
  5. Sihirbazı tamamlayın.Complete the wizard. Yeni komut dosyası, onay bekleniyordurumuyla birlikte betik listesinde görüntülenir.The new script is displayed in the Script list with a status of Waiting for approval. Bu betiği istemci cihazlarda çalıştırmadan önce, bunu onaylamanız gerekir.Before you can run this script on client devices, you must approve it.

Önemli

Betikleri Çalıştır özelliğini kullanırken bir cihazın yeniden başlatılmasını veya Configuration Manager aracısının yeniden başlatılmasını önleyin.Avoid scripting a device reboot or a restart of the Configuration Manager agent when using the Run Scripts feature. Bunun yapılması sürekli yeniden başlatma durumuna yol açabilir.Doing so could lead to a continuous rebooting state. Gerekirse, istemci bildirimi özelliğinde cihazların yeniden başlatılmasını sağlayan geliştirmeler vardır.If needed, there are enhancements to the client notification feature that enable restarting devices. Bekleyen yeniden başlatma sütunu , yeniden başlatma gerektiren cihazların belirlenmesine yardımcı olabilir.The pending restart column can help identify devices that need a restart.

Betik parametreleriScript parameters

Bir betiğe parametre eklemek, çalışmanız için daha fazla esneklik sağlar.Adding parameters to a script provides increased flexibility for your work. En fazla 10 parametre ekleyebilirsiniz.You can include up to 10 parameters. Aşağıda komut dosyalarını Çalıştır özelliğinin geçerli özelliği komut dosyası parametreleriyle birlikte özetlenmektedir. String, Integer veri türleri.The following outlines the Run Scripts feature's current capability with script parameters for; String, Integer data types. Önceden ayarlanmış değerlerin listeleri de mevcuttur.Lists of preset values are also available. Betiğinizin desteklenmeyen veri türleri varsa, bir uyarı alırsınız.If your script has unsupported data types, you get a warning.

Betik oluştur iletişim kutusunda betik ' ın altında betik parametreleri ' ne tıklayın.In the Create Script dialog, click Script Parameters under Script.

Betiğinizin parametrelerinin her birinin, daha fazla ayrıntı ve doğrulama eklemek için kendi iletişim kutusu vardır.Each of your script's parameters has its own dialog for adding further details and validation. Betikte varsayılan bir parametre varsa, parametre Kullanıcı arabiriminde numaralandırılır ve onu ayarlayabilirsiniz.If there's a default parameter in the script, it will be enumerated in the parameter UI and you can set it. Komut dosyasını hiçbir şekilde doğrudan değiştirmeyeceği için Configuration Manager varsayılan değerin üzerine yazmaz.Configuration Manager won't overwrite the default value since it will never modify the script directly. Bunun için Kullanıcı arabiriminde "önceden doldurulan önerilen değerler" verilmiştir ancak Configuration Manager çalışma zamanında "varsayılan" değerlere erişim sağlamaz.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. Bu, komut dosyası doğru varsayılan değerlere sahip olacak şekilde düzenlenerek geçici olarak çalışabilir.This can be worked around by editing the script to have the correct defaults.

Önemli

Parametre değerleri tek tırnak içeremez.Parameter values can't contain a single quote.

Tek tırnak içine alınmış veya dahil edilen parametre değerlerinin betiğe doğru şekilde geçirilmediği bilinen bir sorun vardır.There is a known issue where parameter values that include or are enclosed in single quotes don't get passed to the script properly. Bir betik içinde boşluk içeren varsayılan parametre değerlerini belirtirken, bunun yerine çift tırnak kullanın.When specifying default parameter values containing a space within a script, use double quotes instead. Bir betiğinoluşturulması veya yürütülmesi sırasında varsayılan parametre değerlerini belirtirken, değerin bir boşluk içerip içermediğini ne olursa olsun, varsayılan değeri çift ya da tek tırnak içinde çevreleyen gerekli değildir.When specifying default parameter values during creation or execution of a Script, surrounding the default value in either double or single quotes is not necessary regardless of whether the value contains a space or not.

Parametre doğrulamaParameter validation

Betiğinizdeki her parametrenin, bu parametre için doğrulama eklemeniz için bir betik parametresi özellikleri iletişim kutusu vardır.Each parameter in your script has a Script Parameter Properties dialog for you to add validation for that parameter. Doğrulama eklendikten sonra, doğrulamasını karşılamayan bir parametre için değer giriyorsanız hata almalısınız.After adding validation, you should get errors if you're entering a value for a parameter that doesn't meet its validation.

Örnek: FirstNameExample: FirstName

Bu örnekte, adıdize parametresinin özelliklerini ayarlayabileceksiniz.In this example, you're able to set the properties of the string parameter, FirstName.

Betik parametreleri-dize

Betik parametresi özellikleri iletişim kutusunun doğrulama bölümü, kullanmanız için aşağıdaki alanları içerir:The validation section of the Script Parameter Properties dialog contains the following fields for your use:

  • Minimum uzunluk - FirstName alanının en az karakter sayısı.Minimum Length - minimum number of characters of the FirstName field.
  • Maksimum uzunluk- FirstName alanının en fazla karakter sayısıMaximum Length- maximum number of characters of the FirstName field
  • Regex - normal ifadeiçin Short.RegEx - short for Regular Expression. Normal Ifadeyi kullanma hakkında daha fazla bilgi için, normal ifade doğrulamasını kullanarakbir sonraki bölüme bakın.For more information on using the Regular Expression, see the next section, Using Regular Expression validation.
  • Özel hata -sistem doğrulama hata iletilerinin yerini alan özel hata iletinizi eklemek için faydalıdır.Custom Error - useful for adding your own custom error message that supersedes any system validation error messages.

Normal Ifade doğrulamasını kullanmaUsing Regular Expression validation

Normal ifade, bir karakter dizesini kodlanmış bir doğrulamaya göre denetlemek için programlama açısından bir düzenleme biçimidir.A regular expression is a compact form of programming for checking a string of characters against an encoded validation. Örneğin, Regex alanına yerleştirerek [^A-Z] FirstName alanındaki büyük alfabetik bir karakterin yokluğunu kontrol edebilirsiniz.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.

Bu iletişim kutusu için normal ifade işleme .NET Framework tarafından desteklenir.The regular expression processing for this dialog is supported by the .NET Framework. Normal ifadeleri kullanma hakkında yönergeler için bkz. .net normal ifade ve normal ifade dili.For guidance on using regular expressions, see .NET Regular Expression and Regular Expression Language.

Betik örnekleriScript examples

Bu özellik ile kullanmak isteyebileceğiniz betikleri gösteren birkaç örnek aşağıda verilmiştir.Here are a couple examples that illustrate scripts you might want to use with this capability.

Yeni bir klasör ve dosya oluşturCreate a new folder and file

Bu betik, adlandırma girişinizi belirtilen klasör içinde yeni bir klasör ve dosya oluşturur.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

İşletim sistemi sürümünü alGet OS Version

Bu betik, makinenin işletim sistemi sürümü için sorgulamak üzere WMI kullanır.This script uses WMI to query the machine for its OS version.

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

PowerShell betikleri düzenleme veya kopyalamaEdit or copy PowerShell scripts

(Sürüm 1902 ile tanıtılan)(Introduced with version 1902)
Betikleri Çalıştır özelliği ile kullanılan mevcut bir PowerShell betiğini düzenleyebilir veya kopyalayabilirsiniz .You can Edit or Copy an existing PowerShell script used with the Run Scripts feature. Değiştirmeniz gereken bir betiği yeniden oluşturmak yerine, şimdi doğrudan düzenleyin.Instead of recreating a script that you need to change, now directly edit it. Her iki eylem de yeni bir komut dosyası oluştururken kullandığınız sihirbaz deneyimini kullanır.Both actions use the same wizard experience as when you create a new script. Bir betiği düzenlerken veya kopyaladığınızda, Configuration Manager onay durumunu kalıcı durumdan tutmaz.When you edit or copy a script, Configuration Manager doesn't persist the approval state.

İpucu

İstemcilerde etkin bir şekilde çalışan bir betiği düzenlemeyin.Don't edit a script that's actively running on clients. Özgün betiği çalıştırmayı tamammayamazlar ve bu istemcilerden amaçlanan sonuçları elde olmayabilirsiniz.They won't finish running the original script, and you may not get the intended results from these clients.

Betiği düzenlemeEdit a script

  1. Yazılım kitaplığı çalışma alanının altındaki betikler düğümüne gidin.Go to the Scripts node under the Software Library workspace.
  2. Düzenlenecek betiği seçin, ardından şeritte Düzenle ' ye tıklayın.Select the script to edit, then click Edit in the ribbon.
  3. Betik ayrıntıları sayfasında betiğinizi değiştirin veya yeniden içeri aktarın.Change or reimport your script in the Script Details page.
  4. Özeti görüntülemek için İleri ' ye tıklayın, ardından, Düzenlemeden sonra kapatın .Click Next to view the Summary then Close when you're finished editing.

Betiği KopyalaCopy a script

  1. Yazılım kitaplığı çalışma alanının altındaki betikler düğümüne gidin.Go to the Scripts node under the Software Library workspace.
  2. Kopyalanacak betiği seçin, sonra Şeritteki Kopyala ' ya tıklayın.Select the script to copy, then click Copy in the ribbon.
  3. Betik adı alanındaki betiği yeniden adlandırın ve ihtiyacınız olabilecek ek düzenlemeler yapın.Rename the script in the Script name field and make any additional edits you may need.
  4. Özeti görüntülemek için İleri ' ye tıklayın, ardından, Düzenlemeden sonra kapatın .Click Next to view the Summary then Close when you're finished editing.

Betik çalıştırmaRun a script

Bir komut dosyası onaylandıktan sonra, tek bir cihazda veya koleksiyonda çalıştırılabilir.After a script is approved, it can be run against a single device or a collection. Komut dosyanızın yürütülmesi başladıktan sonra, bir saat içinde zaman aşımına geçen yüksek öncelikli bir sistem aracılığıyla hızlı bir şekilde başlatılır.Once execution of your script begins, it's launched quickly through a high priority system that times-out in one hour. Betik sonuçları daha sonra bir durum iletisi sistemi kullanılarak döndürülür.The results of the script are then returned using a state message system.

Betiğinizin bir hedef koleksiyonunu seçmek için:To select a collection of targets for your script:

  1. Configuration Manager konsolunda, Varlıklar ve Uyum'u tıklatın.In the Configuration Manager console, click Assets and Compliance.
  2. Varlıklar ve Uyum çalışma alanında, Aygıt Koleksiyonları'nı tıklatın.In the Assets and Compliance workspace, click Device Collections.
  3. Cihaz Koleksiyonları listesinde, komut dosyasını çalıştırmak istediğiniz cihaz koleksiyonuna tıklayın.In the Device Collections list, click the collection of devices on which you want to run the script.
  4. Seçtiğiniz bir koleksiyonu seçin, Betiği Çalıştır' a tıklayın.Select a collection of your choice, click Run Script.
  5. Betiği Çalıştır sihirbazının komut dosyası sayfasında listeden bir komut dosyası seçin.On the Script page of the Run Script wizard, choose a script from the list. Yalnızca onaylanan betikler gösterilir.Only approved scripts are shown.
  6. İleri' ye tıklayın ve Sihirbazı doldurun.Click Next, and then complete the wizard.

Önemli

Bir komut dosyası çalıştırılmadığı için örneğin, bir saatlik zaman diliminde bir hedef cihaz kapalı olduğu için, yeniden çalıştırmanız gerekir.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.

Hedef makine yürütmeTarget machine execution

Komut dosyası hedeflenen istemci (ler) de sistem veya bilgisayar hesabı olarak yürütülür.The script is executed as the system or computer account on the targeted client(s). Bu hesabın sınırlı ağ erişimi vardır.This account has limited network access. Komut dosyası tarafından uzak sistemlere ve konumlara erişime uygun şekilde sağlanması gerekir.Any access to remote systems and locations by the script must be provisioned accordingly.

Betik İzlemeScript monitoring

Bir cihaz koleksiyonunda betik çalıştırmayı başlattıktan sonra, işlemi izlemek için aşağıdaki yordamı kullanın.After you have initiated running a script on a collection of devices, use the following procedure to monitor the operation. Bir betiği yürütülürken gerçek zamanlı olarak izleyebilir ve daha sonra belirli bir çalıştırma betiği yürütmesi için durum ve sonuçlara geri döneceksiniz.You are able to monitor a script in real time as it executes, and later return to the status and results for a given Run Script execution. Betik durumu verileri, eski Istemci işlem bakımını silme görevinin bir parçası olarak temizlenir veya betiği silinir.Script status data is cleaned up as part of the Delete Aged Client Operations maintenance task or deletion of the script.

Betik izleyici-betik çalıştırma durumu

  1. Configuration Manager konsolunda, izleme' yi tıklatın.In the Configuration Manager console, click Monitoring.

  2. İzleme çalışma alanında, betik durumu' nu tıklatın.In the Monitoring workspace, click Script Status.

  3. Betik durumu listesinde, istemci cihazlarında çalıştırdığınız her komut dosyası için sonuçları görüntüleyebilirsiniz.In the Script Status list, you view the results for each script you ran on client devices. Bir komut dosyası çıkış kodu 0 genellikle betiğin başarıyla çalıştığını gösterir.A script exit code of 0 generally indicates that the script ran successfully.

    Betik izleyicisinde kesilen betik

Betik çıkışıScript output

İstemcinin betik sonuçlarını ConvertTo-JSON cmdlet 'INE ayırarak JSON biçimlendirmesini kullanarak geri dönüş betiği çıkışı.Client's return script output using JSON formatting by piping the script's results to the ConvertTo-Json cmdlet. JSON biçimi sürekli olarak okunabilir betik çıkışı döndürüyor.The JSON format consistently returns readable script output. Nesneleri çıkış olarak döndürmeyen betikler için, ConvertTo-JSON cmdlet 'i, çıktıyı, istemcinin JSON yerine döndürdüğü basit bir dizeye dönüştürür.For scripts that do not return objects as output, the ConvertTo-Json cmdlet converts the output to a simple string that the client returns instead of JSON.

  • Bilinmeyen bir sonuç elde eden veya istemcinin çevrimdışı olduğu betikler, grafiklerde veya veri kümesinde gösterilmez.Scripts that get an unknown result, or where the client was offline, won't show in the charts or data set.

  • 4 KB 'ye kırpdığından büyük betik çıkışı döndürülmekten kaçının.Avoid returning large script output since it's truncated to 4 KB.

  • JSON biçimlendirmesinde doğru şekilde görüntülenebilmesi için, bir numaralandırma nesnesini betiklerdeki dize değerine dönüştürün.Convert an enum object to a string value in scripts so they're properly displayed in JSON formatting.

    Enum nesnesini bir sabit değere Dönüştür

Ayrıntılı betik çıkışını ham veya yapılandırılmış JSON biçiminde görüntüleyebilirsiniz.You can view detailed script output in raw or structured JSON format. Bu biçimlendirme, çıktının okunmasını ve çözümlenmesini kolaylaştırır.This formatting makes the output easier to read and analyze. Betik geçerli bir JSON biçimli metin döndürürse veya çıkış, ConvertTo-JSON PowerShell cmdlet 'ı kullanılarak JSON 'a dönüştürülebileceğinden, ayrıntılı çıktıyı JSON çıktısı veya Ham çıktıolarak görüntüleyin.If the script returns valid JSON-formatted text or the output can be converted to JSON using the ConvertTo-Json PowerShell cmdlet, then view the detailed output as either JSON Output or Raw Output. Aksi takdirde tek seçenek betik çıktıdır.Otherwise the only option is Script Output.

Örnek: betik çıkışı geçerli JSON 'a dönüştürülebilirExample: Script output is convertible to valid JSON

Komutundaki$PSVersionTable.PSVersionCommand: $PSVersionTable.PSVersion

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

Örnek: betik çıkışı geçerli bir JSON değilExample: Script output isn't valid JSON

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

Microsoft Windows 10 Enterprise

Günlük dosyalarıLog files

  • İstemcide, varsayılan olarak C:\Windows\CCM\logs:On the client, by default in C:\Windows\CCM\logs:

    • Betikler. logScripts.log
    • CcmMessaging.logCcmMessaging.log
  • MP 'de, varsayılan olarak C:\ SMS_CCM \logs ' de:On the MP, by default in C:\SMS_CCM\Logs:

    • MP_RelayMsgMgr. logMP_RelayMsgMgr.log
  • Site sunucusunda, varsayılan olarak 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

Ayrıca Bkz.See Also