Arrêter un processus sous un utilisateur
Description
Cet exemple montre comment utiliser la WindowsProcess
ressource pour vous assurer qu’un processus n’est pas en cours d’exécution, en utilisant un compte spécifié pour l’arrêter si nécessaire.
Vous êtes invité à entrer des informations d’identification si vous n’en transmettez pas explicitement un avec le paramètre Credential . La propriété Credential de la ressource est définie sur cette valeur.
Avec l’optionAbsent
Garantir définie sur , Chemin d’accèsC:\Windows\System32\gpresult.exe
défini sur et Arguments définis sur une chaîne vide, la ressource arrête tout processus en cours d’exécution gpresult.exe
. Étant donné que la propriété Credential est définie, la ressource arrête le processus en tant que compte.
Avec Invoke-DscResource
Ce script montre comment utiliser la WindowsProcess
ressource avec l’applet Invoke-DscResource
de commande pour vous assurer qu’elle gpresult.exe
n’est pas en cours d’exécution, l’arrêtant en tant que compte spécifié par l’utilisateur.
[CmdletBinding()]
param(
[ValidateNotNullOrEmpty()]
[System.Management.Automation.PSCredential]
[System.Management.Automation.Credential()]
$Credential = (Get-Credential)
)
begin {
$SharedParameters = @{
Name = 'WindowsFeatureSet'
ModuleName = 'PSDscResource'
Properties = @{
Path = 'C:\Windows\System32\gpresult.exe'
Arguments = ''
Credential = $Credential
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
}
}
Avec une configuration
Cet extrait de code montre comment définir un Configuration
WindowsProcess
bloc de ressources pour vous assurer gpresult.exe
qu’il n’est pas en cours d’exécution, l’arrêtant en tant que compte spécifié par l’utilisateur.
Configuration StopUnderUser {
[CmdletBinding()]
param(
[ValidateNotNullOrEmpty()]
[System.Management.Automation.PSCredential]
[System.Management.Automation.Credential()]
$Credential = (Get-Credential)
)
Import-DSCResource -ModuleName 'PSDscResources'
Node localhost {
WindowsProcess ExampleWindowsProcess {
Path = 'C:\Windows\System32\gpresult.exe'
Arguments = ''
Credential = $Credential
Ensure = 'Absent'
}
}
}