Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Genel bakış
DSC Kaynakları, bir sistemin ayarlarını yönetmek için standartlaştırılmış bir arabirim sağlar. DSC Kaynağı, yönetebileceğiniz özellikleri tanımlar ve "bunu yapmak" çağrısı Invoke-DscResource PowerShell kodunu içerir.
DSC Kaynağı bir öğeyi dosya olarak genel veya IIS sunucu ayarı olarak özel olarak modelleyebilir. İlgili DSC Kaynakları grupları PowerShell modüllerinde birleştirilir. Modüller DSC Kaynakları için taşınabilir, sürümlü bir paket sağlar ve bunlar hakkındaki meta verileri ve belgeleri içerir.
Her DSC Kaynağının Invoke-DscResource veya Yapılandırmaile DSC Kaynağını kullanmak için gereken söz dizimini belirleyen bir şeması vardır. DSC Kaynağının şeması aşağıdaki yollarla tanımlanır:
-
<Resource Name>.psm1dosyası: Sınıf tabanlı DSC Kaynakları, sınıf tanımında şemalarını tanımlar. Söz dizimi öğeleri sınıf özellikleri olarak belirtilir. Daha fazla bilgi için bkz. about_Classes. -
Schema.Mofdosyası: MOF tabanlı DSC Kaynakları,schema.mofkullanarak şemalarını bir dosyasında tanımlar.
DSC Kaynağının söz dizimini almak için, Sözdizimi parametresiyle get-DSCResource cmdlet'ini kullanın. Bu, cmdlet söz dizimini almak için Sözdizimi parametresiyle Get-Command kullanmak gibidir. Çıkış, DSC Yapılandırmasındaki bir DSC Kaynak bloğu için kullanılan şablonu gösterir.
Get-DscResource -Syntax Service
Service [String] #ResourceName
{
Name = [string]
[BuiltInAccount = [string]{ LocalService | LocalSystem | NetworkService }]
[Credential = [PSCredential]]
[Dependencies = [string[]]]
[DependsOn = [string[]]]
[Description = [string]]
[DesktopInteract = [bool]]
[DisplayName = [string]]
[Ensure = [string]{ Absent | Present }]
[Path = [string]]
[PsDscRunAsCredential = [PSCredential]]
[StartupTimeout = [UInt32]]
[StartupType = [string]{ Automatic | Disabled | Manual }]
[State = [string]{ Ignore | Running | Stopped }]
[TerminateTimeout = [UInt32]]
}
Cmdlet söz dizimi gibi köşeli ayraçlar içinde tuşları isteğe bağlıdır. Türler, her anahtarın beklediği veri türünü belirtir.
Spooler hizmetinin çalıştığından emin olmak için:
$SharedDscParameters = @{
Name = 'Service'
ModuleName = 'PSDscResources'
Property = @{
Name = 'Spooler'
State = 'Running'
}
}
$TestResult = Invoke-DscResource -Method Test @SharedDscParameters
if ($TestResult.InDesiredState) {
Write-Host -ForegroundColor Cyan -Object 'Already in desired state.'
} else {
Write-Host -ForegroundColor Magenta -Object 'Enforcing desired state.'
Invoke-DscResource -Method Set @SharedDscParameters
}
$SharedDscParameters değişkeni, Test çağrılırken kullanılan parametreleri içeren bir karma tablodur ve kaynağın ile Invoke-DscResource. İlk Invoke-DscResource çağrısı, hizmetinin çalışıp çalışmadığını doğrulamak ve sonucu Spooler değişkeninde depolamak için $TestResult yöntemini kullanır.
Sonraki adım, hizmetin zaten istenen durumda olup olmadığına bağlıdır. Zorlamadan önce istenen durumu her zaman doğrulamak ve gerektiğinde yalnızca Set yöntemini çağırmak en iyi yöntemdir. Örnekte betik, konsola DSC Kaynağının istenen durumda olup olmadığına ilişkin bir ileti yazar. Ardından hizmet çalışmıyorsa, istenen durumu zorlamak için Invoke-DscResource yöntemiyle çağırır.