dsc-resursuppsättning
Synopsis
Anropar uppsättningsåtgärden för en resurs.
Syntax
Instansegenskaper från stdin
<instance-properties> | dsc resource set [Options] --resource <RESOURCE>
Instansegenskaper från indataalternativet
dsc resource set --input '<instance-properties>' --resource <RESOURCE>
Instansegenskaper från fil
dsc resource set --path <instance-properties-filepath> --resource <RESOURCE>
Description
Underkommandot set
framtvingar önskat tillstånd för en resursinstans och returnerar det slutliga tillståndet.
Den här underkommandot anger en instans av en specifik DSC-resurs. Om du vill ange flera resurser använder du en resursgrupp eller kommandot dsc config set .
Det önskade tillståndet för den instans som ska anges måste skickas till det här kommandot som ett JSON- eller YAML-objekt.
Objektegenskaperna måste vara giltiga egenskaper för resursen. Instansegenskaperna kan skickas till det här kommandot från stdin, som en sträng med --input
alternativet eller från en sparad fil med alternativet --path
.
Den här underkommandot kan bara anropas för kommandobaserade DSC-resurser som definierar avsnittet i set
deras resursmanifest. Om den här underkommandot anropas för en resurs som inte definierar en uppsättningsåtgärd genererar DSC ett fel.
Viktigt
Kommandot dsc resource set
anropar set
alltid åtgärden för resursen. Resurser kan, men krävs inte, implementera logik som förtestar en instans för åtgärden set
.
Detta skiljer sig från hur dsc-konfigurationsuppsättningen fungerar, där DSC alltid testar en instans, antingen syntetiskt eller genom att test
anropa åtgärden för resursen, och endast anropar set
för en instans om den inte är i önskat tillstånd.
Kommandobaserade resurser anger om de implementerar förtest för set
åtgärden genom att definiera egenskapen set.implementsPretest i resursmanifestet. Om egenskapen definieras som true
anger den att resursen implementerar förtest. Om set.implementsPretest
är inställt på false
eller är odefinierat anger manifestet att resursen inte implementerar förtest.
Om en resurs anger att den implementerar förtest bör användarna förvänta sig att resursen bara ändrar en instans under en set
åtgärd om förtestet visar att instansen inte är i önskat tillstånd.
Om en resurs inte implementerar förtest bör användarna förvänta sig att resursen alltid ändrar en instans under en set
åtgärd.
För resurser som inte implementerar förtest för åtgärden rekommenderar Microsoft att alltid anropa dsc resource test
mot en instans för set
att se om den är i önskat tillstånd innan den anropar dsc resource set
. Detta kan bidra till att undvika oavsiktliga fel som orsakas av resurser som inte implementerar ett fullständigt idempotent set
kommando.
Exempel
Exempel 1 – Ange en resurs med egenskaper från stdin
Kommandot ser till att Example
nyckeln finns i den aktuella användardatafilen. Den anger egenskaperna för resursinstansen som JSON och skickar dem från stdin.
'{
"keyPath": "HKCU\\Example",
"_exist": true
}' | dsc resource set --resource Microsoft.Windows/Registry
Exempel 2 – Ange en resurs med indataalternativet
Kommandot ser till att Example
nyckeln finns i den aktuella användardatafilen. Den anger egenskaperna för resursinstansen som JSON och skickar dem med indataalternativet .
dsc resource set --resource Microsoft.Windows/Registry --input '{
"keyPath": "HKCU\\Example",
"_exist": true
}'
Exempel 3 – Ange en resurs med egenskaper från en YAML-fil
Kommandot ser till att Example
nyckeln finns i den aktuella användardatafilen. Den anger sökvägen till en yaml-fil som definierar resursinstansegenskaperna med sökvägsalternativet .
cat ./example.yaml
keyPath: HKCU\\Example
_exist: true
dsc resource set --resource Microsoft.Windows/Registry --path ./example.yaml
Alternativ
-r, --resource
Anger det fullständigt kvalificerade typnamnet för DSC-resursen som ska användas, till exempel Microsoft.Windows/Registry
.
Den fullständigt kvalificerade typnamnsyntaxen är: <owner>[.<group>][.<area>]/<name>
, där:
owner
är den underhållna författaren eller organisationen för resursen.group
Ocharea
är valfria namnkomponenter som aktiverar namnavstånd för en resurs.name
Identifierar komponenten som resursen hanterar.
Type: String
Mandatory: true
-i, --input
Anger ett JSON- eller YAML-objekt med egenskaperna som definierar önskat tillstånd för en DSC-resursinstans. DSC validerar objektet mot resursens instansschema. Om verifieringen misslyckas genererar DSC ett fel.
Det här alternativet kan inte användas med instansegenskaper över stdin eller alternativet --path
. Välj om instansegenskaperna ska skickas till kommandot över stdin, från en fil med --path
alternativet eller med --input
alternativet .
Type: String
Mandatory: false
-p, --path
Definierar sökvägen till en textfil som ska läsas som indata för kommandot i stället för att skicka indata från stdin eller skicka den som en sträng med --input
alternativet . Den angivna filen måste innehålla JSON eller YAML som representerar giltiga egenskaper för resursen. DSC validerar objektet mot resursens instansschema. Om verifieringen misslyckas, eller om den angivna filen inte finns, genererar DSC ett fel.
Det här alternativet är ömsesidigt uteslutande med alternativet --input
. När du använder det här alternativet ignorerar DSC alla indata från stdin.
Type: String
Mandatory: false
-f, --format
Alternativet --format
styr konsolens utdataformat för kommandot. Om kommandoutdata omdirigeras eller avbildas som en variabel är utdata alltid JSON.
Type: String
Mandatory: false
DefaultValue: yaml
ValidValues: [json, pretty-json, yaml]
-h, --help
Visar hjälpen för det aktuella kommandot eller underkommandot. När du anger det här alternativet ignorerar programmet alla alternativ och argument efter det här alternativet.
Type: Boolean
Mandatory: false
Utdata
Det här kommandot returnerar JSON-utdata som innehåller instansens faktiska tillstånd före och efter den angivna åtgärden och listan över egenskaper som set-åtgärden ändrade. Mer information finns i resultatschemat för dsc-resursuppsättningen.