DSCResources/DSC_xWindowsProcess/en-US/about_xWindowsProcess.help.txt
.NAME
xWindowsProcess .DESCRIPTION Provides a mechanism to start and stop a Windows process. #### Parameters * **[String] Path** _(Key)_: The executable file of the process. This can be defined as either the full path to the file or as the name of the file if it is accessible through the environment path. Relative paths are not supported. * **[String] Arguments** _(Key)_: A single string containing all the arguments to pass to the process. Pass in an empty string if no arguments are needed. * **[PSCredential] Credential** _(Write)_: The credential of the user account to run the process under. If this user is from the local system, the StandardOutputPath, StandardInputPath, and WorkingDirectory parameters cannot be provided at the same time. * **[String] Ensure** _(Write)_: Specifies whether or not the process should be running. To start the process, specify this property as Present. To stop the process, specify this property as Absent. { *Present* | Absent }. * **[String] StandardOutputPath** _(Write)_: The file path to which to write the standard output from the process. Any existing file at this file path will be overwritten. This property cannot be specified at the same time as Credential when running the process as a local user. * **[String] StandardErrorPath** _(Write)_: The file path to which to write the standard error output from the process. Any existing file at this file path will be overwritten. * **[String] StandardInputPath** _(Write)_: The file path from which to receive standard input for the process. This property cannot be specified at the same time as Credential when running the process as a local user. * **[String] WorkingDirectory** _(Write)_: The file path to the working directory under which to run the process. This property cannot be specified at the same time as Credential when running the process as a local user. .PARAMETER Path Key - String The full path or file name to the process executable to start or stop. .PARAMETER Arguments Key - String A string of arguments to pass to the process executable. Pass in an empty string if no arguments are needed. .PARAMETER Credential Write - Instance The credential to run the process under. .PARAMETER Ensure Write - String Allowed values: Present, Absent Indicates whether the process is present (running) or absent (not running). .PARAMETER StandardOutputPath Write - String The path to write the standard output stream to. .PARAMETER StandardErrorPath Write - String The path to write the standard error stream to. .PARAMETER StandardInputPath Write - String The path to receive standard input from. .PARAMETER WorkingDirectory Write - String The directory to run the processes under. .PARAMETER PagedMemorySize Read - UInt64 The amount of paged memory, in bytes, allocated for the process. .PARAMETER NonPagedMemorySize Read - UInt64 The amount of nonpaged memory, in bytes, allocated for the process. .PARAMETER VirtualMemorySize Read - UInt64 The amount of virtual memory, in bytes, allocated for the process. .PARAMETER HandleCount Read - SInt32 The number of handles opened by the process. .PARAMETER ProcessId Read - SInt32 The unique identifier of the process. .PARAMETER ProcessCount Read - SInt32 The number of instances of the given process that are currently running. .EXAMPLE 1 #Requires -Module xPSDesiredStateConfiguration <# .DESCRIPTION Configuration that starts a process that is provided in the given file path with the specified arguments. .PARAMETER FilePath The path to the executable file to start. .PARAMETER Argument The arguments for the process to start. Defaults to no argument. .EXAMPLE xWindowsProcess_StartProcess_Config -FilePath 'C:\WINDOWS\system32\PING.EXE' -Argument '-t localhost' Compiles a configuration that starts a process that continuously ping localhost, and monitors that the process 'ping' is always started. #> Configuration xWindowsProcess_StartProcess_Config { [CmdletBinding()] param ( [Parameter(Mandatory = $true)] [ValidateNotNullOrEmpty()] [System.String] $FilePath, [Parameter()] [ValidateNotNullOrEmpty()] [System.String] $Argument ) Import-DscResource -ModuleName xPSDesiredStateConfiguration Node localhost { xWindowsProcess StartProcess { Path = $FilePath Arguments = $Argument Ensure = 'Present' } } } .EXAMPLE 2 #Requires -Module xPSDesiredStateConfiguration <# .DESCRIPTION Configuration that starts a process under the given credential, that is provided in the given file path with the specified arguments. .PARAMETER FilePath The path to the executable file to start. .PARAMETER Argument The arguments for the process to start. Defaults to no argument. .PARAMETER Credential Credential to start the process under. .NOTES 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_StartProcessUnderUser_Config -FilePath 'C:\WINDOWS\system32\PING.EXE' -Argument '-t localhost' -Credential (Get-Credential) Compiles a configuration that starts a 'ping' process under the given credential, that continuously ping localhost, and monitors that the process 'ping' is always started. #> Configuration xWindowsProcess_StartProcessUnderUser_Config { [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 { xUser CreateUserAccount { Ensure = 'Present' UserName = Split-Path -Path $Credential.UserName -Leaf Password = $Credential } xWindowsProcess StartProcessUnderUser { Path = $FilePath Arguments = $Argument Credential = $Credential Ensure = 'Present' } } } .EXAMPLE 3 #Requires -Module xPSDesiredStateConfiguration <# .DESCRIPTION Configuration that stops the process 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. .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. .EXAMPLE xWindowsProcess_StopProcess_Config -FilePath 'C:\WINDOWS\system32\PING.EXE' -Argument '-t localhost' Compiles a configuration that stops a 'ping' process if the process exist. #> Configuration xWindowsProcess_StopProcess_Config { [CmdletBinding()] param ( [Parameter(Mandatory = $true)] [ValidateNotNullOrEmpty()] [System.String] $FilePath, [Parameter()] [ValidateNotNullOrEmpty()] [System.String] $Argument ) Import-DscResource -ModuleName xPSDesiredStateConfiguration Node localhost { xWindowsProcess StopProcess { Path = $FilePath Arguments = $Argument Ensure = 'Absent' } } } .EXAMPLE 4 #Requires -Module xPSDesiredStateConfiguration <# .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_StopProcessUnderUser_Config -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_StopProcessUnderUser_Config { [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' } } } |