Instalowanie dodatkowych zasobów DSCInstall Additional DSC Resources

Program PowerShell zawiera kilka wstępnie dostępnych zasobów dla konfiguracji żądanego stanu (DSC).PowerShell includes several Out-of-the-box resources for Desired State Configuration (DSC). Moduł PSDesiredStateConfiguration zawiera wszystkie zasoby OOB DSC dostępne w określonym wystąpieniu programu PowerShell.The PSDesiredStateConfiguration module contains all of the OOB DSC resources available on your specific instance of PowerShell.

Jest to lista zasobów OOB uwzględnionych w programie PowerShell 4,0 i opis możliwości zasobu.This is a list of the OOB resources included in PowerShell 4.0 and a description of the resource's capabilities.

Uwaga

Jest to Niekompletna lista, ponieważ liczba zasobów OOB wzrosła z każdą wersją programu PowerShell.This is an incomplete list, as the number of OOB resources has grown with each version of PowerShell.

ZasóbResource OpisDescription
PlikFile Steruje stanem plików i katalogów.Controls the state of files and directories. Kopiuje pliki ze źródła do miejsca docelowego i aktualizuje je, gdy Źródło zmienia się przez porównanie dat, sum kontrolnych i wartości skrótów.Copies files from a Source to a Destination and updates them when the Source changes by comparing dates, checksums, and hashes.
ArchiwumArchive Rozpakuje archiwa i określoną lokalizację.Unpacks archives and a specified location. Sprawdza poprawność archiwów z określoną sumą kontrolną.Validates the archives with a specified Checksum.
ŚrodowiskoEnvironment Zarządza zmiennymi środowiskowymi.Manages environment variables.
GrupaGroup Zarządza grupami lokalnymi i formantami członkostwa w grupie.Manages local groups and controls group membership.
RejestrowaneLog Zapisuje komunikaty w dzienniku Microsoft-Windows-Desired State Configuration/Analytic zdarzeń.Writes messages to the Microsoft-Windows-Desired State Configuration/Analytic event log.
PakietPackage Instaluje lub Odinstalowuje pakiety przy użyciu argumentów, LogPath, ReturnCode, innych ustawień.Installs or uninstalls packages using Arguments, LogPath, ReturnCode, other settings.
SecretRegistry Zarządza kluczami i wartościami rejestru.Manages registry keys and values.
SkryptScript Umożliwia zaprojektowanie własnych bloków skryptu zestawu Get-test .Allows you to design your own get-test-set script blocks.
UsługaService Konfiguruje usługi systemu Windows.Configures Windows services.
UżytkownikUser Zarządza lokalnymi użytkownikami i atrybutami.Manages local users and attributes.
WindowsFeatureWindowsFeature Zarządza rolami i funkcjami.Manages roles and features.
WindowsProcessWindowsProcess Konfiguruje procesy systemu Windows.Configures Windows processes.

Zasoby OOB umożliwiają dobry punkt wyjścia dla typowych operacji.The OOB resources allow a good starting point for common operations. Jeśli zasoby OOB nie spełniają Twoich potrzeb, można napisać własny zasób niestandardowy.If the OOB resources do not meet your needs, you can write your own Custom Resource. Przed zapisaniem niestandardowego zasobu w celu rozwiązania problemu należy zapoznać się z ogromną liczbą zasobów DSC, które zostały już utworzone przez firmę Microsoft i społeczność programu PowerShell.Before you write a custom resource to solve your problem, you should look through the vast number of DSC resources that have already been created by both Microsoft and the PowerShell community.

Zasoby DSC można znaleźć zarówno w Galeria programu PowerShell , jak i w witrynie GitHub.You can find DSC resources in both the PowerShell Gallery and GitHub. Zasoby DSC można także instalować bezpośrednio z poziomu konsoli programu PowerShell przy użyciu programu PowerShellGet.You can also install DSC resources directly from the PowerShell console using PowerShellGet.

Instalowanie menedżera pakietów PowerShellGetInstalling PowerShellGet

Aby ustalić, czy masz już program PowerShell Get, lub aby uzyskać pomoc w instalacji, zobacz następujący Przewodnik: Instalowanie PowerShellGet.To determine if you already have PowerShell get, or to get help installing it, see the following guide: Installing PowerShellGet.

Znajdowanie zasobów DSC przy użyciu PowerShellGetFinding DSC resources using PowerShellGet

Po zainstalowaniu PowerShellGet w systemie można znaleźć i zainstalować zasoby DSC hostowane w Galeria programu PowerShell.Once PowerShellGet is installed on your system, you can find and install DSC resources hosted in the PowerShell Gallery.

Najpierw użyj polecenia cmdlet Find-DSCResource , aby znaleźć zasoby DSC.First, use the Find-DSCResource cmdlet to find DSC resources. Po uruchomieniu Find-DSCResource po raz pierwszy zobaczysz następujący monit w celu zainstalowania "dostawcy NuGet".When you run Find-DSCResource for the first time, you see the following prompt to install the "NuGet provider".

PS> Find-DSCResource

NuGet provider is required to continue
PowerShellGet requires NuGet provider version '2.8.5.201' or newer to interact with NuGet-based repositories. The
NuGet provider must be available in 'C:\Program Files\PackageManagement\ProviderAssemblies' or
'C:\Users\xAdministrator\AppData\Local\PackageManagement\ProviderAssemblies'. You can also install the NuGet provider
 by running 'Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force'. Do you want PowerShellGet to
install and import the NuGet provider now?
[Y] Yes  [N] No  [?] Help (default is "Y"):

Po naciśnięciu przycisku "t" jest instalowany dostawca "NuGet", zostanie wyświetlona lista zasobów DSC, które można zainstalować z Galeria programu PowerShell.After pressing 'y', the "NuGet" provider is installed, you see a list of DSC resources that you can install from the PowerShell Gallery.

Uwaga

Lista nie jest wyświetlana, ponieważ jest bardzo duża.List is not shown because it is very large.

Możesz również określić -Name parametr przy użyciu symboli wieloznacznych lub -Filter parametru bez symboli wieloznacznych, aby zawęzić wyszukiwanie.You can also specify the -Name parameter using wildcards, or -Filter parameter without wildcards to narrow down your search. Ten przykład próbuje znaleźć zasób DSC "TimeZone" przy użyciu symboli wieloznacznych.This example attempts to find a "TimeZone" DSC resource using the wildcards.

Ważne

Obecnie w Find-DSCResource poleceniu cmdlet występuje usterka, która uniemożliwia używanie symboli wieloznacznych -Name w -Filter parametrach i.Currently there is a bug in the Find-DSCResource cmdlet that prevents using wildcards in both the -Name and -Filter parameters. W drugim przykładzie poniżej pokazano obejście przy Where-Objectużyciu.The second example below shows a workaround using Where-Object.

PS> Find-DSCResource -Name *Time*

Name                                Version    ModuleName                          Repository
----                                -------    ----------                          ----------
Carbon_EnvironmentVariable          2.6.0      Carbon                              PSGallery
Carbon_FirewallRule                 2.6.0      Carbon                              PSGallery
Carbon_Group                        2.6.0      Carbon                              PSGallery
Carbon_IniFile                      2.6.0      Carbon                              PSGallery
Carbon_Permission                   2.6.0      Carbon                              PSGallery
Carbon_Privilege                    2.6.0      Carbon                              PSGallery
Carbon_ScheduledTask                2.6.0      Carbon                              PSGallery
Carbon_Service                      2.6.0      Carbon                              PSGallery
TimeZone                            6.0.0.0    ComputerManagementDsc               PSGallery
xTimeZone                           1.8.0.0    xTimeZone                           PSGallery
xSqlServerDefaultDir                1.0.0      mlSqlServerDSC                      PSGallery
xSqlServerMoveDatabaseFiles         1.0.0      mlSqlServerDSC                      PSGallery
xSqlServerSQLDataRoot               1.0.0      mlSqlServerDSC                      PSGallery
xSqlServerStartupParam              1.0.0      mlSqlServerDSC                      PSGallery

Możesz również użyć Where-Object , aby znaleźć zasoby DSC z bardziej szczegółowym filtrowaniem.You can also use Where-Object to find DSC resources with more granular filtering. To podejście będzie wolniejsze niż użycie wbudowanych parametrów filtrowania.This approach will be slower than using built in filtering parameters.

PS> Find-DSCResource | Where-Object {$_.Name -like "Time*"}

Name                                Version    ModuleName                          Repository
----                                -------    ----------                          ----------
TimeZone                            6.0.0.0    ComputerManagementDsc               PSGallery

Aby uzyskać więcej informacji na temat filtrowania, zobacz WHERE-Object.For more information on filtering, see Where-Object.

Instalowanie zasobów DSC przy użyciu PowerShellGetInstalling DSC Resources using PowerShellGet

Aby zainstalować zasób DSC, należy użyć polecenia cmdlet Install-module , określając nazwę modułu wyświetlanego w obszarze Nazwa modułu w wynikach wyszukiwania.To install a DSC resource, use the Install-Module cmdlet, specifying the name of the module shown under Module name in your search results.

Zasób "TimeZone" istnieje w module "ComputerManagementDSC", więc jest to moduł instalowany w tym przykładzie.The "TimeZone" resource exists in the "ComputerManagementDSC" module, so that is the module this example installs.

Uwaga

Jeśli nie masz zaufanej galerii programu PowerShell, zobaczysz ostrzeżenie poniżej z prośbą o potwierdzenie i poinformujemy, jak uniknąć kolejnych monitów dotyczących instalacji.If you have not trusted the PowerShell gallery, you see the warning below asking for confirmation, and instructing you how to avoid subsequent prompts on installs.

PS> Install-Module -Name ComputerManagementDSC

Untrusted repository
You are installing the modules from an untrusted repository. If you trust this repository, change its
InstallationPolicy value by running the Set-PSRepository cmdlet. Are you sure you want to install the modules from
'PSGallery'?
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "N"):

Naciśnij klawisz "y", aby kontynuować Instalowanie modułu.Press 'y' to continue installing the module. Po instalacji można sprawdzić, czy nowy zasób został zainstalowany przy użyciu polecenia Get-DSCResource.After install, you can verify that your new resource is installed using Get-DSCResource.

PS> Get-DSCResource -Name TimeZone -Syntax

TimeZone [String] #ResourceName
{
    IsSingleInstance = [string]{ Yes }
    TimeZone = [string]
    [DependsOn = [string[]]]
    [PsDscRunAsCredential = [PSCredential]]
}

Możesz również wyświetlić inne zasoby w nowo zainstalowanym module, określając -ModuleName parametr.You can also view other resources in your newly installed module, by specifying the -ModuleName parameter.

PS> Get-DSCResource -Module ComputerManagementDSC

ImplementedAs   Name                      ModuleName                     Version    Properties
-------------   ----                      ----------                     -------    ----------
PowerShell      Computer                  ComputerManagementDsc          6.0.0.0    {Name, Credential, DependsOn, ...
PowerShell      OfflineDomainJoin         ComputerManagementDsc          6.0.0.0    {IsSingleInstance, RequestFile...
PowerShell      PowerPlan                 ComputerManagementDsc          6.0.0.0    {IsSingleInstance, Name, Depen...
PowerShell      PowerShellExecutionPolicy ComputerManagementDsc          6.0.0.0    {ExecutionPolicy, ExecutionPol...
PowerShell      ScheduledTask             ComputerManagementDsc          6.0.0.0    {TaskName, ActionArguments, Ac...
PowerShell      TimeZone                  ComputerManagementDsc          6.0.0.0    {IsSingleInstance, TimeZone, D...
PowerShell      VirtualMemory             ComputerManagementDsc          6.0.0.0    {Drive, Type, DependsOn, Initi...

Zobacz takżeSee also