forked from dsccommunity/xPSDesiredStateConfiguration
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathxWindowsProcess_StopProcessUnderUserConfig.ps1
88 lines (72 loc) · 2.64 KB
/
xWindowsProcess_StopProcessUnderUserConfig.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<#PSScriptInfo
.VERSION 1.0.1
.GUID 73eb39e7-fdc0-4dae-af0e-0c1458d3c8c8
.AUTHOR Microsoft Corporation
.COMPANYNAME Microsoft Corporation
.COPYRIGHT
.TAGS DSCConfiguration
.LICENSEURI https://github.com/dsccommunity/xPSDesiredStateConfiguration/blob/main/LICENSE
.PROJECTURI https://github.com/dsccommunity/xPSDesiredStateConfiguration
.ICONURI
.EXTERNALMODULEDEPENDENCIES
.REQUIREDSCRIPTS
.EXTERNALSCRIPTDEPENDENCIES
.RELEASENOTES First version.
.PRIVATEDATA 2016-Datacenter,2016-Datacenter-Server-Core
#>
#Requires -module 'xPSDesiredStateConfiguration'
<#
.SYNOPSIS
Configuration that stops a process under the given credential.
.DESCRIPTION
Configuration that stops the process under the given credential, that is
provided in the given file path, where the argument matches, and if the
process is running.
.PARAMETER FilePath
The path to the executable file to (process) to stop.
.PARAMETER Argument
The arguments for the process to stop. Defaults to no argument.
.PARAMETER Credential
Credential that the process is running under.
.NOTES
The FilePath could be set to just the process name only if the number of
returned processed is less than or equal to 8. If more than 8 processes
are returned, another filter is used to optimize performance, and that
filter needs the full path to the executable file.
To use the sample(s) with credentials, see blog at:
http://blogs.msdn.com/b/powershell/archive/2014/01/31/want-to-secure-credentials-in-windows-powershell-desired-state-configuration.aspx
.EXAMPLE
xWindowsProcess_StopProcessUnderUserConfig -FilePath 'C:\WINDOWS\system32\PING.EXE' -Argument '-t localhost' -Credential (Get-Credential)
Compiles a configuration that stops a 'ping' process under the given
credential, if the process exist.
#>
Configuration xWindowsProcess_StopProcessUnderUserConfig
{
[CmdletBinding()]
param
(
[Parameter(Mandatory = $true)]
[ValidateNotNullOrEmpty()]
[System.String]
$FilePath,
[Parameter()]
[ValidateNotNullOrEmpty()]
[System.String]
$Argument,
[Parameter(Mandatory = $true)]
[System.Management.Automation.PSCredential]
[System.Management.Automation.Credential()]
$Credential
)
Import-DSCResource -ModuleName 'xPSDesiredStateConfiguration'
Node localhost
{
xWindowsProcess 'StopProcess'
{
Path = $FilePath
Arguments = $Argument
Credential = $Credential
Ensure = 'Absent'
}
}
}