DSC voor Linux nxScript ResourceDSC for Linux nxScript Resource

De nxScript in PowerShell Desired State Configuration (DSC)-bron biedt een mechanisme voor het Linux-scripts uitvoeren op een Linux-knooppunt.The nxScript resource in PowerShell Desired State Configuration (DSC) provides a mechanism to run Linux scripts on a Linux node.

SyntaxisSyntax

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

}

EigenschappenProperties

EigenschapProperty BeschrijvingDescription
GetScriptGetScript Biedt een script dat wordt uitgevoerd wanneer u aanroept de Get-DscConfiguration cmdlet.Provides a script that runs when you invoke the Get-DscConfiguration cmdlet. Het script moet beginnen met een shebang, zoals #! / bin/bash.The script must begin with a shebang, such as #!/bin/bash.
SetScriptSetScript Bevat een script.Provides a script. Wanneer u aanroept de Start DscConfiguration -cmdlet de TestScript als eerste wordt gestart.When you invoke the Start-DscConfiguration cmdlet, the TestScript runs first. Als de TestScript blok retourneert een afsluitcode dan 0 is, de SetScript blok wordt uitgevoerd.If the TestScript block returns an exit code other than 0, the SetScript block will run. Als de TestScript retourneert een afsluitcode 0, de SetScript kan niet worden uitgevoerd.If the TestScript returns an exit code of 0, the SetScript will not run. Het script moet beginnen met een shebang zoals #!/bin/bash.The script must begin with a shebang, such as #!/bin/bash.
TestScriptTestScript Bevat een script.Provides a script. Wanneer u aanroept de Start DscConfiguration cmdlet dit script wordt uitgevoerd.When you invoke the Start-DscConfiguration cmdlet, this script runs. Als deze een afsluitcode die gelijk zijn aan 0 retourneert, wordt de SetScript wordt uitgevoerd.If it returns an exit code other than 0, the SetScript will run. Als deze een afsluitcode 0 retourneert, de SetScript kan niet worden uitgevoerd.If it returns an exit code of 0, the SetScript will not run. De TestScript wordt ook uitgevoerd wanneer u aanroept de Test DscConfiguration cmdlet.The TestScript also runs when you invoke the Test-DscConfiguration cmdlet. Echter, in dit geval de SetScript niet wordt uitgevoerd, ongeacht welke afsluitcode wordt geretourneerd vanaf de TestScript.However, in this case, the SetScript will not run, no matter what exit code is returned from the TestScript. De TestScript moet een afsluitcode 0 retourneren als de configuratie van de werkelijke overeenkomt met de huidige configuratie van de gewenste status en een afsluitcode code andere dan 0 als het niet overeenkomen.The TestScript must return an exit code of 0 if the actual configuration matches the current desired state configuration, and an exit code other than 0 if it does not match. (De huidige configuratie van de gewenste status is de laatste configuratie van kracht op het knooppunt dat van DSC gebruikmaakt).(The current desired state configuration is the last configuration enacted on the node that is using DSC). Het script moet beginnen met een shebang, zoals 1#!/bin/bash.1The script must begin with a shebang, such as 1#!/bin/bash.1
GebruikerUser De gebruiker het script als uitvoeren.The user to run the script as.
GroepGroup De groep het script als uitvoeren.The group to run the script as.
dependsOnDependsOn Hiermee wordt aangegeven dat de configuratie van een andere resource uitvoeren moet voordat deze bron is geconfigureerd.Indicates that the configuration of another resource must run before this resource is configured. Bijvoorbeeld, als de ID van de resource is scriptblok configuratie die u wilt uitvoeren eerst ResourceName en het type ResourceType, de syntaxis voor het gebruik van deze de eigenschap is DependsOn = "[ResourceType]ResourceName".For example, if the ID of the resource configuration script block that you want to run first is ResourceName and its type is ResourceType, the syntax for using this property is DependsOn = "[ResourceType]ResourceName".

VoorbeeldExample

Het volgende voorbeeld toont het gebruik van de nxScript resource toe aan het beheer van aanvullende configuratie uitvoeren.The following example demonstrates the use of the nxScript resource to perform additional configuration management.

Import-DSCResource -Module 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
'@
} 
}