DSC för Linux nxScript-resurs

NxScript-resursen i PowerShell Desired State Configuration (DSC) tillhandahåller en mekanism för att köra Linux-skript på en Linux-nod.

Syntax

nxScript <string> #ResourceName
{
    GetScript = <string>
    SetScript = <string>
    TestScript = <string>
    [ User = <string> ]
    [ Group = <string> ]
    [ DependsOn = <string[]> ]
}

Egenskaper

Egenskap Beskrivning
GetScript Tillhandahåller ett skript för att returnera datorns aktuella status. Det här skriptet körs när du anropar GetDscConfiguration.py-skriptet . Skriptet måste börja med en shebang, till exempel #!/bin/bash.
SetScript Tillhandahåller ett skript som försätter datorn i rätt tillstånd. När du anropar StartDscConfiguration.py skriptet körs TestScript först. Om TestScript-blocket returnerar en annan slutkod än 0 körs SetScript-blocket . Om TestScript returnerar en slutkod på 0 körs inte SetScript . Skriptet måste börja med en shebang, till exempel #!/bin/bash.
TestScript Innehåller ett skript som utvärderar om noden för närvarande är i rätt tillstånd. När du anropar StartDscConfiguration.py skriptet körs det här skriptet. Om den returnerar en annan slutkod än 0 körs SetScript . Om den returnerar en slutkod på 0 körs inte SetScript . TestScript körs också när du anropar TestDscConfiguration-skriptet. Men i det här fallet körs inte SetScript , oavsett vilken slutkod som returneras från TestScript. TestScript måste innehålla innehåll och måste returnera en slutkod på 0 om den faktiska konfigurationen matchar den aktuella önskade tillståndskonfigurationen och en annan slutkod än 0 om den inte matchar. Den aktuella önskade tillståndskonfigurationen är den senaste konfigurationen som antogs på noden som använder DSC. Skriptet måste börja med en shebang, till exempel #!/bin/bash.
Användare Användaren som ska köra skriptet som.
Group Gruppen som ska köra skriptet som.

Gemensamma egenskaper

Egenskap Beskrivning
DependsOn Anger att konfigurationen av en annan resurs måste köras innan den här resursen har konfigurerats. Om till exempel ID:t för det resurskonfigurationsskriptblock som du vill köra först är ResourceName och dess typ är ResourceType är DependsOn = "[ResourceType]ResourceName"syntaxen för att använda den här egenskapen .

Exempel

I följande exempel visas hur nxScript-resursen används för att utföra ytterligare konfigurationshantering.

Import-DSCResource -ModuleName nx

Node $node
{
    nxScript KeepDirEmpty {

    GetScript = @"
#!/bin/bash
ls /tmp/mydir/ | wc -l
"@

    SetScript = @"
#!/bin/bash
rm -rf /tmp/mydir/*
"@

    TestScript = @'
#!/bin/bash
filecount=`ls /tmp/mydir | wc -l`
if [ $filecount -gt 0 ]
then
    exit 1
else
    exit 0
fi
'@
    }
}