Beenden eines Prozesses unter einem Benutzer
Beschreibung
In diesem Beispiel wird gezeigt, wie Sie die WindowsProcess
Ressource verwenden können, um sicherzustellen, dass ein Prozess nicht ausgeführt wird, indem Sie ein angegebenes Konto verwenden, um es bei Bedarf zu beenden.
Sie werden aufgefordert, eine Anmeldeinformationen zu erstellen, wenn Sie einen nicht explizit mit dem Parameter "Anmeldeinformationen " übergeben. Die Credential-Eigenschaft der Ressource wird auf diesen Wert festgelegt.
Mit "Sicherstellen " auf Absent
" " Pfad " auf C:\Windows\System32\gpresult.exe
" festgelegt" und "Argumente " auf eine leere Zeichenfolge festgelegt, beendet die Ressource den laufenden gpresult.exe
Prozess. Da die Credential-Eigenschaft festgelegt ist, beendet die Ressource den Prozess als dieses Konto.
Mit Invoke-DscResource
In diesem Skript wird gezeigt, wie Sie die WindowsProcess
Ressource mit dem Invoke-DscResource
Cmdlet verwenden können, um sicherzustellen gpresult.exe
, dass sie nicht ausgeführt wird, indem Sie sie als benutzerdefiniertes Konto beenden.
[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
}
}
Mit einer Konfiguration
In diesem Codeausschnitt wird gezeigt, wie Sie einen Configuration
WindowsProcess
Ressourcenblock definieren können, um sicherzustellen gpresult.exe
, dass es nicht ausgeführt wird, indem Sie sie als benutzerspezifisches Konto beenden.
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'
}
}
}
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für