Bezpośrednie wywoływanie metod zasobów DSCCalling DSC resource methods directly

Dotyczy: Windows PowerShell 5,0Applies To: Windows PowerShell 5.0

Można użyć polecenia cmdlet Invoke-DscResource , aby bezpośrednio wywołać funkcje lub metody zasobu DSC ( Get-TargetResource , Set-TargetResource , i Test-TargetResource funkcje zasobów opartych na pliku MOF lub metody Get , Set i test dla zasobu opartego na klasie).You can use the Invoke-DscResource cmdlet to directly call the functions or methods of a DSC resource (The Get-TargetResource, Set-TargetResource, and Test-TargetResource functions of a MOF-based resource, or the Get , Set , and Test methods of a class-based resource). Mogą one być używane przez inne firmy, które chcą korzystać z zasobów DSC lub jako przydatnego narzędzia podczas tworzenia zasobów.This can be used by third-parties that want to use DSC resources, or as a helpful tool while developing resources.

Uwaga

W programie PowerShell 7.0 lub nowsza wersja Invoke-DscResource nie obsługuje już wywoływania zasobów usługi WMI DSC.In PowerShell 7.0+, Invoke-DscResource no longer supports invoking WMI DSC resources. Obejmuje to zasoby plików i dzienników w PSDesiredStateConfiguration .This includes the File and Log resources in PSDesiredStateConfiguration .

To polecenie cmdlet jest zwykle używane w połączeniu z właściwością konfiguracji refreshMode = 'Disabled' , ale może być używane niezależnie od tego, jaki element reodświeżony jest ustawiony na.This cmdlet is typically used in combination with a metaconfiguration property refreshMode = 'Disabled', but it can be used no matter what refreshMode is set to.

Podczas wywoływania Invoke-DscResource polecenia cmdlet należy określić metodę lub funkcję do wywołania przy użyciu parametru metody .When calling the Invoke-DscResource cmdlet, you specify which method or function to call by using the Method parameter. Należy określić właściwości zasobu, przekazując tablicę Hashtable jako wartość parametru Właściwości .You specify the properties of the resource by passing a hashtable as the value of the Property parameter.

Poniżej przedstawiono przykłady bezpośredniego wywoływania metod zasobów:The following are examples of directly calling resource methods:

Upewnij się, że plik jest obecnyEnsure a file is present

$result = Invoke-DscResource -Name File -Method Set -Property @{
              DestinationPath = "$env:SystemDrive\\DirectAccess.txt";
              Contents = 'This file is create by Invoke-DscResource'} -Verbose
$result | fl

Sprawdź, czy plik jest obecnyTest that a file is present

$result = Invoke-DscResource -Name File -Method Test -Property @{
              DestinationPath="$env:SystemDrive\\DirectAccess.txt";
              Contents='This file is create by Invoke-DscResource'} -Verbose
$result | fl

Pobierz zawartość plikuGet the contents of file

$result = Invoke-DscResource -Name File -Method Get -Property @{
              DestinationPath="$env:SystemDrive\\DirectAccess.txt";
              Contents='This file is create by Invoke-DscResource'} -Verbose
$result.ItemValue | fl

Uwaga

Bezpośrednie wywoływanie złożonych metod zasobów nie jest obsługiwane.Directly calling composite resource methods is not supported. Zamiast tego należy wywołać metody zasobów bazowych, które składają się na zasób złożony.Instead, call the methods of the underlying resources that make up the composite resource.

Zobacz teżSee Also