Dela via


dsc-resurs hämta

Sammanfattning

Hämtar det faktiska tillståndet för en resursinstans.

Syntax

Utan instansegenskaper

dsc resource get [Options] --resource <RESOURCE>

Instansegenskaper från indataalternativet

dsc resource get --input <INPUT> --resource <RESOURCE>

Instansegenskaper från fil

dsc resource get --file <FILE> --resource <RESOURCE>

Instansegenskaper från stdin

cat <FILE> | dsc resource get [Options] --resource <RESOURCE> --file -

Beskrivning

Underkommandot get returnerar det aktuella tillståndet för en resursinstans.

Som standard returnerar det här underkommandot en instans från en specifik DSC-resurs. Om du vill returnera flera resurser använder du parametern --all , en resursgrupp eller kommandot dsc config get .

Alla egenskaper som resursen kräver för att hämta tillståndet för en instans måste skickas till det här kommandot som ett JSON- eller YAML-objekt med --input alternativet or --file .

Exempel

Exempel 1 – Hämta resursinstans utan indata

För resurser med en instans som inte kräver några egenskapsvärden för att returnera det faktiska tillståndet för resursinstansen krävs inte instansegenskaperna.

dsc resource get --resource Microsoft/OSInfo
actualState:
  $id: https://developer.microsoft.com/json-schemas/dsc/os_info/20230303/Microsoft.Dsc.OS_Info.schema.json
  family: Windows
  version: 10.0.22621
  edition: Windows 11 Enterprise
  bitness: '64'

Exempel 2 – Hämta resursinstans med indataalternativ

Om en resurs kräver ett eller flera egenskapsvärden för att returnera instansens faktiska tillstånd kan instansegenskaperna skickas med --input alternativet som antingen JSON eller YAML.

dsc resource get --resource Microsoft.Windows/Registry --input '{
    "keyPath": "HKLM\\Software\\Microsoft\\Windows NT\\CurrentVersion",
    "valueName": "SystemRoot"
}'
actualState:
  $id: https://developer.microsoft.com/json-schemas/windows/registry/20230303/Microsoft.Windows.Registry.schema.json
  keyPath: HKLM\Software\Microsoft\Windows NT\CurrentVersion
  valueName: SystemRoot
  valueData:
    String: C:\WINDOWS

Exempel 3 – Hämta resursinstans med indata från stdin

Om en resurs kräver ett eller flera egenskapsvärden för att returnera instansens faktiska tillstånd kan instansegenskaperna skickas över stdin som antingen JSON eller YAML med --file alternativet.

'{
    "keyPath": "HKLM\\Software\\Microsoft\\Windows NT\\CurrentVersion",
    "valueName": "SystemRoot"
}' | dsc resource get --resource Microsoft.Windows/Registry --file -
actualState:
  $id: https://developer.microsoft.com/json-schemas/windows/registry/20230303/Microsoft.Windows.Registry.schema.json
  keyPath: HKLM\Software\Microsoft\Windows NT\CurrentVersion
  valueName: SystemRoot
  valueData:
    String: C:\WINDOWS

Exempel 4 – Hämta resursinstans med indata från en YAML-fil

Om en resurs kräver ett eller flera egenskapsvärden för att returnera instansens faktiska tillstånd kan instansegenskaperna hämtas från en sparad JSON- eller YAML-fil.

# ./example.yaml
keyPath:   HKLM\\Software\\Microsoft\\Windows NT\\CurrentVersion
valueName: SystemRoot
dsc resource get --resource Microsoft.Windows/Registry --path ./example.yaml
actualState:
  $id: https://developer.microsoft.com/json-schemas/windows/registry/20230303/Microsoft.Windows.Registry.schema.json
  keyPath: HKLM\Software\Microsoft\Windows NT\CurrentVersion
  valueName: SystemRoot
  valueData:
    String: C:\WINDOWS

Alternativ

-a, --all

Anger att kommandot ska returnera varje instans av den angivna DSC-resursen i stället för en specifik instans.

Det här alternativet är endast giltigt när resursen är en exporterbar resurs som definierar exportavsnittet i indatakonfigurationen. Om resurstypen inte kan exporteras genererar DSC ett fel.

När det här alternativet anges ignorerar --input DSC alternativen och --path .

Type:      Boolean
Mandatory: false

-r, --resurs

Anger det fullständigt kvalificerade typnamnet för den DSC-resurs som ska användas, till exempel Microsoft.Windows/Registry.

Den fullständigt kvalificerade syntaxen för typnamn är: <owner>[.<group>][.<area>]/<name>, där:

  • Det owner är den underhålls författaren eller organisationen för resursen.
  • De group och area är valfria namnkomponenter som aktiverar namnavstånd för en resurs.
  • Identifierar name den komponent som resursen hanterar.
Type        : string
Mandatory   : true
LongSyntax  : --resource <RESOURCE>
ShortSyntax : -r <RESOURCE>

-i, --input

Anger den resursinstans som ska hämtas.

Instansen måste vara en sträng som innehåller ett JSON- eller YAML-objekt. DSC verifierar objektet mot resursens instansschema. Om verifieringen misslyckas genererar DSC ett fel.

Det här alternativet är ömsesidigt uteslutande med alternativet --file .

Type        : string
Mandatory   : false
LongSyntax  : --input <INPUT>
ShortSyntax : -i <INPUT>

-f, --fil

Definierar sökvägen till en fil som definierar den resursinstans som ska hämtas.

Den angivna filen måste innehålla ett JSON- eller YAML-objekt som representerar giltiga egenskaper för resursen. DSC verifierar objektet mot resursens instansschema. Om verifieringen misslyckas, eller om den angivna filen inte finns, genererar DSC ett fel.

Du kan också använda det här alternativet för att skicka en instans från stdin, som du ser i exempel 3.

Det här alternativet är ömsesidigt uteslutande med alternativet --input .

Type        : string
Mandatory   : false
LongSyntax  : --file <FILE>
ShortSyntax : -f <FILE>

-o, --utdata-format

Alternativet --output-format styr vilket format DSC använder för de data som kommandot returnerar. De tillgängliga formaten är:

  • json för att generera data som en JSON-linje. När du använder --all alternativet returneras varje instans som en JSON-rad.
  • pretty-json för att generera data som JSON med nya rader, indrag och mellanslag för läsbarhet.
  • yaml för att generera data som YAML. När du använder alternativet --all returneras varje instans som ett YAML-dokument med dokumentavgränsaren --- mellan varje returnerad instans.
  • json-array för att generera data som en enda milti-line JSON-array som innehåller varje objekt. Det här alternativet är endast giltigt med flaggan --all.
  • pass-through för att returnera data från resursen direkt utan att omsluta dem i ett DSC-resultat. När du använder det här utdataalternativet följer den utgivna JSON-linjen resursens instansschema, inte DSC-resultatschemat.

Standardutdataformatet beror på om DSC upptäcker att utdata omdirigeras eller avbildas som en variabel:

  • Om kommandot inte omdirigeras eller avbildas visar DSC utdata som formatet yaml i konsolen.
  • Om kommandoutdata omdirigeras eller avbildas genererar DSC data som formatet json till stdout.

När du använder det här alternativet använder DSC det angivna formatet oavsett om kommandot omdirigeras eller avbildas.

När kommandot inte omdirigeras eller avbildas formateras utdata i konsolen för bättre läsbarhet. När kommandot inte omdirigeras eller avbildas innehåller utdata terminalsekvenser för formatering.

Type        : string
Mandatory   : false
ValidValues : [json, pretty-json, yaml, json-array, pass-through]
LongSyntax  : --output-format <OUTPUT_FORMAT>
ShortSyntax : -o <OUTPUT_FORMAT>

-h, --hjälp

Visar hjälpen för det aktuella kommandot eller underkommandot. När du anger det här alternativet ignoreras alla andra alternativ och argument.

Type        : boolean
Mandatory   : false
LongSyntax  : --help
ShortSyntax : -h

Utgång

Som standard returnerar det här kommandot ett formaterat dataobjekt som innehåller instansens faktiska tillstånd. När alternativet --all anges returnerar kommandot formaterade data för varje instans. När du anger alternativet för pass-through utdataformat är utskickade data oförändrade utdata från resursen, inte en DSC-resurs som får resultat.

Mer information om strukturen för JSON-utdata finns i schemat för att hämta resultat för dsc-resursen.

Mer information om formateringen av utdata finns i flaggan --output-format.