Dela via


Stoppa en process

Description

Det här exemplet visar hur du kan använda resursen WindowsProcess för att säkerställa att en process inte körs.

Med Kontrollera inställt på Absent, Sökväg inställd på C:\Windows\System32\gpresult.exeoch Argument inställt på en tom sträng stoppar resursen alla processer som körs gpresult.exe .

Med Invoke-DscResource

Det här skriptet visar hur du kan använda resursen WindowsProcess med cmdleten Invoke-DscResource för att säkerställa gpresult.exe att den inte körs.

[CmdletBinding()]
param()

begin {
    $SharedParameters = @{
        Name       = 'WindowsFeatureSet'
        ModuleName = 'PSDscResource'
        Properties = @{
            Path      = 'C:\Windows\System32\gpresult.exe'
            Arguments = ''
            Ensure    = 'Absent'
        }
    }

    $NonGetProperties = @(
        'Ensure'
    )
}

process {
    $TestResult = Invoke-DscResource -Method Test @SharedParameters

    if ($TestResult.InDesiredState) {
        $QueryParameters = $SharedParameters.Clone()

        foreach ($Property in $NonGetProperties) {
            $QueryParameters.Properties.Remove($Property)
        }

        Invoke-DscResource -Method Get @QueryParameters
    } else {
        Invoke-DscResource -Method Set @SharedParameters
    }
}

Med en konfiguration

Det här kodfragmentet visar hur du kan definiera en Configuration med ett WindowsProcess resursblock för att säkerställa gpresult.exe att den inte körs.

Configuration Stop {
    Import-DSCResource -ModuleName 'PSDscResources'

    Node localhost {
        WindowsProcess ExampleWindowsProcess {
            Path      = 'C:\Windows\System32\gpresult.exe'
            Arguments = ''
            Ensure    = 'Absent'
        }
    }
}