HelpCache/System.Management.Automation.dll-help.xml

<?xml version = "1.0" encoding = "utf-8" ?>
 
<helpItems schema="maml">
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>Add-History</command:name><maml:description><maml:para>Appends entries to the session history.</maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>Add</command:verb><command:noun>History</command:noun><dev:version /></command:details><maml:description><maml:para>The Add-History cmdlet adds entries to the end of the session history, that is, the list of commands entered during the current session.</maml:para><maml:para>You can use the Get-History cmdlet to get the commands and pass them to Add-History, or you can export the commands to a CSV or XML file, then import the commands, and pass the imported file to Add-History. You can use this cmdlet to add specific commands to the history or to create a single history file that includes commands from more than one session.</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>Add-History</maml:name><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Adds the specified HistoryInfo object to the session history. You can use this parameter to submit a HistoryInfo object, such as the ones that are returned by the Get-History, Import-Clixml, or Import-Csv cmdlets, to Add-History.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">PSObject[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Passthru</maml:name><maml:description><maml:para>Returns a history object for each history entry. By default, this cmdlet does not generate any output.</maml:para></maml:description></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Adds the specified HistoryInfo object to the session history. You can use this parameter to submit a HistoryInfo object, such as the ones that are returned by the Get-History, Import-Clixml, or Import-Csv cmdlets, to Add-History.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">PSObject[]</command:parameterValue><dev:type><maml:name>PSObject[]</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Passthru</maml:name><maml:description><maml:para>Returns a history object for each history entry. By default, this cmdlet does not generate any output.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name>Microsoft.PowerShell.Commands.HistoryInfo</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You can pipe a HistoryInfo object to Add-History.</maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name>None or Microsoft.PowerShell.Commands.HistoryInfo</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>When you use the PassThru parameter, Add-History returns a HistoryInfo object. Otherwise, this cmdlet does not generate any output.</maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><maml:alertSet><maml:title /><maml:alert><maml:para>The session history is a list of the commands entered during the session along with the ID. The session history represents the order of execution, the status, and the start and end times of the command. As you enter each command, Windows PowerShell adds it to the history so that you can reuse it. For more information about the session history, see about_History.</maml:para><maml:para>To specify the commands to add to the history, use the InputObject parameter. The Add-History command accepts only HistoryInfo objects, such as those returned for each command by the Get-History cmdlet. You cannot pass it a path and file name or a list of commands.</maml:para><maml:para>You can use the InputObject parameter to pass a file of HistoryInfo objects to Add-History. To do so, export the results of a Get-History command to a file by using the Export-Csv or Export-Clixml cmdlet and then import the file by using the Import-Csv or Import-Clixml cmdlets. You can then pass the file of imported HistoryInfo objects to Add-History through a pipeline or in a variable. For more information, see the examples.</maml:para><maml:para>The file of HistoryInfo objects that you pass to the Add-History cmdlet must include the type information, column headings, and all of the properties of the HistoryInfo objects. If you intend to pass the objects back to Add-History, do not use the NoTypeInformation parameter of the Export-Csv cmdlet and do not delete the type information, column headings, or any fields in the file.</maml:para><maml:para>To edit the session history, export the session to a CSV or XML file, edit the file, import the file, and use Add-History to append it to the current session history.</maml:para></maml:alert><maml:alert><maml:para></maml:para></maml:alert></maml:alertSet><command:examples><command:example><maml:title>
  
-------------------------- EXAMPLE 1 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;get-history | export-csv c:\testing\history.csv
PS C:\&gt;import-csv history.csv | add-history
</dev:code><dev:remarks><maml:para>These commands add the commands typed in one Windows PowerShell session to the history of a different Windows PowerShell session. The first command gets objects representing the commands in the history and exports them to the History.csv file. The second command is typed at the command line of a different session. It uses the Import-Csv cmdlet to import the objects in the History.csv file. The pipeline operator passes the objects to the Add-History cmdlet, which adds the objects representing the commands in the History.csv file to the current session history.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 2 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;import-clixml c:\temp\history.xml | add-history -passthru | foreach-object -process {invoke-history}
</dev:code><dev:remarks><maml:para>This command imports commands from the History.xml file, adds them to the current session history, and then executes the commands in the combined history.</maml:para><maml:para>The first command uses the Import-Clixml cmdlet to import a command history that was exported to the History.xml file. The pipeline operator (|) passes the commands to the Add-History parameter, which adds the commands to the current session history. The PassThru parameter passes the objects representing the added commands down the pipeline.</maml:para><maml:para>The command then uses the ForEach-Object cmdlet to apply the Invoke-History command to each of the commands in the combined history. The Invoke-History command is formatted as a script block (enclosed in braces) as required by the Process parameter of the ForEach-Object cmdlet.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 3 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;get-history -id 5 -count 5 | add-history
</dev:code><dev:remarks><maml:para>This command adds the first five commands in the history to the end of the history list. It uses the Get-History cmdlet to get the five commands ending in command 5. The pipeline operator (|) passes them to the Add-History cmdlet, which appends them to the current history. The Add-History command does not include any parameters, but Windows PowerShell associates the objects passed through the pipeline with the InputObject parameter of Add-History.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 4 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;$a = import-csv c:\testing\history.csv
PS C:\&gt;add-history -inputobject $a -passthru
</dev:code><dev:remarks><maml:para>These commands add the commands in the History.csv file to the current session history. The first command uses the Import-Csv cmdlet to import the commands in the History.csv file and store its contents in the variable $a. The second command uses the Add-History cmdlet to add the commands from History.csv to the current session history. It uses the InputObject parameter to specify the $a variable and the PassThru parameter to generate an object to display at the command line. Without the PassThru parameter, the Add-History cmdlet does not generate any output.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 5 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;add-history -inputobject (import-clixml c:\temp\history01.xml)
</dev:code><dev:remarks><maml:para>This command adds the commands in the History01.xml file to the current session history. It uses the InputObject parameter to pass the results of the command in parentheses to the Add-History cmdlet. The command in parentheses, which is executed first, imports the History01.xml file into Windows PowerShell. The Add-History cmdlet then adds the commands in the file to the session history.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=289569</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Clear-History</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Get-History</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Invoke-History</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_History</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>Add-PSSnapin</command:name><maml:description><maml:para>Adds one or more Windows PowerShell snap-ins to the current session.</maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>Add</command:verb><command:noun>PSSnapin</command:noun><dev:version /></command:details><maml:description><maml:para>The Add-PSSnapin cmdlet adds registered Windows PowerShell snap-ins to the current session. After the snap-ins are added, you can use the cmdlets and providers that the snap-ins support in the current session.</maml:para><maml:para>To add the snap-in to all future Windows PowerShell sessions, add an Add-PSSnapin command to your Windows PowerShell profile. For more information, see about_Profiles.</maml:para><maml:para>Beginning in Windows PowerShell 3.0, the core commands that are included in Windows PowerShell are packaged in modules. The exception is Microsoft.PowerShell.Core, which is a snap-in (PSSnapin). By default, only the Microsoft.PowerShell.Core snap-in is added to the session. Modules are imported automatically on first use and you can use the Import-Module cmdlet to import them.</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>Add-PSSnapin</maml:name><command:parameter required="true" variableLength="true" globbing="true" pipelineInput="true (ByPropertyName)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Specifies the name of the snap-in. (This is the Name, not the AssemblyName or ModuleName.) Wildcards are permitted.</maml:para><maml:para>To find the names of the registered snap-ins on your system, type: "get-pssnapin -registered".</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>PassThru</maml:name><maml:description><maml:para>Returns an object representing each added snap-in. By default, this cmdlet does not generate any output.</maml:para></maml:description></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="true" variableLength="true" globbing="true" pipelineInput="true (ByPropertyName)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Specifies the name of the snap-in. (This is the Name, not the AssemblyName or ModuleName.) Wildcards are permitted.</maml:para><maml:para>To find the names of the registered snap-ins on your system, type: "get-pssnapin -registered".</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>PassThru</maml:name><maml:description><maml:para>Returns an object representing each added snap-in. By default, this cmdlet does not generate any output.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name>None</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You cannot pipe objects to Add-PSSnapin.</maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name>None or System.Management.Automation.PSSnapInInfo</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>When you use the PassThru parameter, Add-PSSnapin returns a PSSnapInInfo object that represents the snap-in. Otherwise, this cmdlet does not generate any output.</maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><maml:alertSet><maml:title /><maml:alert><maml:para>Beginning in Windows PowerShell 3.0, the core commands that are installed with Windows PowerShell are packaged in modules. In Windows PowerShell 2.0, and in host programs that create older-style sessions in later versions of Windows PowerShell, the core commands are packaged in snap-ins ("PSSnapins"). The exception is Microsoft.PowerShell.Core, which is always a snap-in. Also, remote sessions, such as those started by the New-PSSession cmdlet, are older-style sessions that include core snap-ins.</maml:para><maml:para>For information about the CreateDefault2 method that creates newer-style sessions with core modules, see "CreateDefault2 Method" in MSDN at <maml:navigationLink><maml:linkText>http://msdn.microsoft.com/en-us/library/windows/desktop/system.management.automation.runspaces.initialsessionstate.createdefault2(v=VS.85).aspx</maml:linkText><maml:uri></maml:uri></maml:navigationLink>.</maml:para></maml:alert><maml:alert><maml:para>For detailed information about snap-ins in Windows PowerShell, see about_Pssnapins. For information about how to create a Windows PowerShell snap-in, see "How to Create a Windows PowerShell Snap-in" in the MSDN (Microsoft Developer Network) library at http://go.microsoft.com/fwlink/?LinkId=144762http://go.microsoft.com/fwlink/?LinkId=144762.</maml:para></maml:alert><maml:alert><maml:para>Add-PSSnapin adds the snap-in only to the current session. To add the snap-in to all Windows PowerShell sessions, add it to your Windows PowerShell profile. For more information, see about_Profiles.</maml:para></maml:alert><maml:alert><maml:para>You can add any Windows PowerShell snap-in that has been registered by using the Microsoft .NET Framework install utility. For more information, see "How to Register Cmdlets, Providers, and Host Applications" in the MSDN library at http://go.microsoft.com/fwlink/?LinkID=143619http://go.microsoft.com/fwlink/?LinkID=143619.</maml:para></maml:alert><maml:alert><maml:para>To get a list of snap-ins that are registered on your computer, type get-pssnapin -registered.</maml:para></maml:alert><maml:alert><maml:para>Before adding a snap-in, Add-PSSnapin checks the version of the snap-in to verify that it is compatible with the current version of Windows PowerShell. If the snap-in fails the version check, Windows PowerShell reports an error.</maml:para></maml:alert></maml:alertSet><command:examples><command:example><maml:title>
        -------------------------- EXAMPLE 1 --------------------------
      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;add-PSSnapIn Microsoft.Exchange, Microsoft.Windows.AD
</dev:code><dev:remarks><maml:para>This command adds the Microsoft Exchange and Active Directory snap-ins to the current session.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
        -------------------------- EXAMPLE 2 --------------------------
      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;get-pssnapin -registered | add-pssnapin -passthru
</dev:code><dev:remarks><maml:para>This command adds all of the registered Windows PowerShell snap-ins to the session. It uses the Get-PSSnapin cmdlet with the Registered parameter to get objects representing each of the registered snap-ins. The pipeline operator (|) passes the result to Add-PSSnapin, which adds them to the session. The PassThru parameter returns objects that represent each of the added snap-ins.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title> -------------------------- EXAMPLE 3 -------------------------- </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>The first command gets snap-ins that have been added to the current session, including the snap-ins that are installed with Windows PowerShell. In this example, ManagementFeatures is not returned. This indicates that it has not been added to the session.
PS C:\&gt;get-pssnapin
 
The second command gets snap-ins that have been registered on your system (including those that have already been added to the session). It does not include the snap-ins that are installed with Windows PowerShell.In this case, the command does not return any snap-ins. This indicates that the ManagementFeatures snapin has not been registered on the system.
PS C:\&gt;get-pssnapin -registered
 
The third command creates an alias, "installutil", for the path to the InstallUtil tool in .NET Framework.
PS C:\&gt;set-alias installutil $env:windir\Microsoft.NET\Framework\v2.0.50727\installutil.exe
 
The fourth command uses the InstallUtil tool to register the snap-in. The command specifies the path to ManagementCmdlets.dll, the file name or "module name" of the snap-in.
PS C:\&gt;installutil C:\Dev\Management\ManagementCmdlets.dll
 
The fifth command is the same as the second command. This time, you use it to verify that the ManagementCmdlets snap-in is registered.
PS C:\&gt;get-pssnapin -registered
 
The sixth command uses the Add-PSSnapin cmdlet to add the ManagementFeatures snap-in to the session. It specifies the name of the snap-in, ManagementFeatures, not the file name.
PS C:\&gt;add-pssnapin ManagementFeatures
 
To verify that the snap-in is added to the session, the seventh command uses the Module parameter of the Get-Command cmdlet. It displays the items that were added to the session by a snap-in or module.
PS C:\&gt;get-command -module ManagementFeatures
 
You can also use the PSSnapin property of the object that the Get-Command cmdlet returns to find the snap-in or module in which a cmdlet originated. The eighth command uses dot notation to find the value of the PSSnapin property of the Set-Alias cmdlet.
PS C:\&gt;(get-command set-alias).pssnapin
</dev:code><dev:remarks><maml:para>This example demonstrates the process of registering a snap-in on your system and then adding it to your session. It uses ManagementFeatures, a fictitious snap-in implemented in a file called ManagementCmdlets.dll.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=289570</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Get-PSSnapin</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Remove-PSSnapin</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Profiles</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_PSSnapins</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>Clear-History</command:name><maml:description><maml:para>Deletes entries from the command history.</maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>Clear</command:verb><command:noun>History</command:noun><dev:version /></command:details><maml:description><maml:para>The Clear-History cmdlet deletes commands from the command history, that is, the list of commands entered during the current session.</maml:para><maml:para>Without parameters, Clear-History deletes all commands from the session history, but you can use the parameters of Clear-History to delete selected commands.</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>Clear-History</maml:name><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="1" aliases=""><maml:name>Id</maml:name><maml:description><maml:para>Deletes commands with the specified history IDs.</maml:para><maml:para>To find the history ID of a command, use Get-History.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Int32[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="2" aliases=""><maml:name>Count</maml:name><maml:description><maml:para>Clears the specified number of history entries, beginning with the oldest entry in the history.</maml:para><maml:para>If you use the Count and Id parameters in the same command, the cmdlet clears the number of entries specified by the Count parameter, beginning with the entry specified by the Id parameter. For example, if Count is 10 and Id is 30, Clear-History clears items 21 through 30 inclusive.</maml:para><maml:para>If you use the Count and CommandLine parameters in the same command, Clear-History clears the number of entries specified by the Count parameter, beginning with the entry specified by the CommandLine parameter.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Newest</maml:name><maml:description><maml:para>Deletes the newest entries in the history. By default, Clear-History deletes the oldest entries in the history.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Clear-History</maml:name><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="2" aliases=""><maml:name>Count</maml:name><maml:description><maml:para>Clears the specified number of history entries, beginning with the oldest entry in the history.</maml:para><maml:para>If you use the Count and Id parameters in the same command, the cmdlet clears the number of entries specified by the Count parameter, beginning with the entry specified by the Id parameter. For example, if Count is 10 and Id is 30, Clear-History clears items 21 through 30 inclusive.</maml:para><maml:para>If you use the Count and CommandLine parameters in the same command, Clear-History clears the number of entries specified by the Count parameter, beginning with the entry specified by the CommandLine parameter.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>CommandLine</maml:name><maml:description><maml:para>Deletes commands with the specified text strings. If you enter more than one string, Clear-History deletes commands with any of the strings.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Newest</maml:name><maml:description><maml:para>Deletes the newest entries in the history. By default, Clear-History deletes the oldest entries in the history.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>CommandLine</maml:name><maml:description><maml:para>Deletes commands with the specified text strings. If you enter more than one string, Clear-History deletes commands with any of the strings.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="2" aliases=""><maml:name>Count</maml:name><maml:description><maml:para>Clears the specified number of history entries, beginning with the oldest entry in the history.</maml:para><maml:para>If you use the Count and Id parameters in the same command, the cmdlet clears the number of entries specified by the Count parameter, beginning with the entry specified by the Id parameter. For example, if Count is 10 and Id is 30, Clear-History clears items 21 through 30 inclusive.</maml:para><maml:para>If you use the Count and CommandLine parameters in the same command, Clear-History clears the number of entries specified by the Count parameter, beginning with the entry specified by the CommandLine parameter.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue><dev:type><maml:name>Int32</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="1" aliases=""><maml:name>Id</maml:name><maml:description><maml:para>Deletes commands with the specified history IDs.</maml:para><maml:para>To find the history ID of a command, use Get-History.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Int32[]</command:parameterValue><dev:type><maml:name>Int32[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Newest</maml:name><maml:description><maml:para>Deletes the newest entries in the history. By default, Clear-History deletes the oldest entries in the history.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>false</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>false</dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name>None</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You cannot pipe objects to Clear-History.</maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name>None</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>This cmdlet does not generate any output.</maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><maml:alertSet><maml:title /><maml:alert><maml:para>The session history is a list of the commands entered during the session. You can view the history, add and delete commands, and run commands from the history. For more information, see about_History.</maml:para><maml:para>Deleting a command from the history does not change the history IDs of the remaining items in the command history.</maml:para></maml:alert><maml:alert><maml:para></maml:para></maml:alert></maml:alertSet><command:examples><command:example><maml:title>
  
-------------------------- EXAMPLE 1 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;clear-history
</dev:code><dev:remarks><maml:para>Deletes all commands from the session history.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 2 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;clear-history -id 23, 25
</dev:code><dev:remarks><maml:para>Deletes the commands with history IDs 23 and 25.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 3 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;clear-history -command *help*, *command
</dev:code><dev:remarks><maml:para>Deletes commands that include "help" or end in "command".</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 4 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;clear-history -count 10 -newest
</dev:code><dev:remarks><maml:para>Deletes the 10 newest commands from the history.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 5 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;clear-history -id 10 -count 3
</dev:code><dev:remarks><maml:para>Deletes the three oldest commands, beginning with the entry with ID 10.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=289571</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Add-History</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Get-History</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Invoke-History</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_History</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>Connect-PSSession</command:name><maml:description><maml:para>Reconnects to disconnected sessions</maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>Connect</command:verb><command:noun>PSSession</command:noun><dev:version /></command:details><maml:description><maml:para>The Connect-PSSession cmdlet reconnects to user-managed Windows PowerShell sessions ("PSSessions") that were disconnected. It works on sessions that are disconnected intentionally, such as by using the Disconnect-PSSession cmdlet or the InDisconnectedSession parameter of the Invoke-Command cmdlet, and those that were disconnected unintentionally, such as by a temporary network outage.</maml:para><maml:para>Connect-PSSession can connect to any disconnected session that was started by the same user, including those that were started by or disconnected from other sessions on other computers.</maml:para><maml:para>However, Connect-PSSession cannot connect to broken or closed sessions, or interactive sessions started by using the Enter-PSSession cmdlet. Also you cannot connect sessions to sessions started by other users, unless you can provide the credentials of the user who created the session.</maml:para><maml:para>For more information about the Disconnected Sessions feature, see about_Remote_Disconnected_Sessions.</maml:para><maml:para>This cmdlet is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>Connect-PSSession</maml:name><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ThrottleLimit</maml:name><maml:description><maml:para>Specifies the maximum number of concurrent connections that can be established to run this command. If you omit this parameter or enter a value of 0, the default value, 32, is used.</maml:para><maml:para>The throttle limit applies only to the current command, not to the session or to the computer.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Specifies the friendly names of the disconnected sessions.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Connect-PSSession</maml:name><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="URI,CU"><maml:name>ConnectionUri</maml:name><maml:description><maml:para>Specifies the Uniform Resource Identifiers (URIs) of the connection endpoints for the disconnected sessions.</maml:para><maml:para>The URI must be fully qualified. The format of this string is as follows:
 
&lt;Transport&gt;://&lt;ComputerName&gt;:&lt;Port&gt;/&lt;ApplicationName&gt;
 
The default value is as follows:
 
http://localhost:5985/WSMAN</maml:para><maml:para>If you do not specify a connection URI, you can use the UseSSL and Port parameters to specify the connection URI values.</maml:para><maml:para>Valid values for the Transport segment of the URI are HTTP and HTTPS. If you specify a connection URI with a Transport segment, but do not specify a port, the session is created with standards ports: 80 for HTTP and 443 for HTTPS. To use the default ports for Windows PowerShell remoting, specify port 5985 for HTTP or 5986 for HTTPS.</maml:para><maml:para>If the destination computer redirects the connection to a different URI, Windows PowerShell prevents the redirection unless you use the AllowRedirection parameter in the command.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Uri[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>AllowRedirection</maml:name><maml:description><maml:para>Allows redirection of this connection to an alternate Uniform Resource Identifier (URI).</maml:para><maml:para>When you use the ConnectionURI parameter, the remote destination can return an instruction to redirect to a different URI. By default, Windows PowerShell does not redirect connections, but you can use this parameter to allow it to redirect the connection.</maml:para><maml:para>You can also limit the number of times the connection is redirected by changing the MaximumConnectionRedirectionCount session option value. Use the MaximumRedirection parameter of the New-PSSessionOption cmdlet or set the MaximumConnectionRedirectionCount property of the $PSSessionOption preference variable. The default value is 5.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Authentication</maml:name><maml:description><maml:para>Specifies the mechanism that is used to authenticate the user's credentials in the command to reconnect to the disconnected session. Valid values are Default, Basic, Credssp, Digest, Kerberos, Negotiate, and NegotiateWithImplicitCredential. The default value is Default.</maml:para><maml:para>For information about the values of this parameter, see "AuthenticationMechanism enumeration" in MSDN.</maml:para><maml:para>CAUTION: Credential Security Support Provider (CredSSP) authentication, in which the user's credentials are passed to a remote computer to be authenticated, is designed for commands that require authentication on more than one resource, such as accessing a remote network share. This mechanism increases the security risk of the remote operation. If the remote computer is compromised, the credentials that are passed to it can be used to control the network session.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">AuthenticationMechanism</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CertificateThumbprint</maml:name><maml:description><maml:para>Specifies the digital public key certificate (X509) of a user account that has permission to connect to the disconnected session. Enter the certificate thumbprint of the certificate.</maml:para><maml:para>Certificates are used in client certificate-based authentication. They can be mapped only to local user accounts; they do not work with domain accounts.</maml:para><maml:para>To get a certificate thumbprint, use a Get-Item or Get-ChildItem command in the Windows PowerShell Cert: drive.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>ConfigurationName</maml:name><maml:description><maml:para>Connects only to sessions that use the specified session configuration.</maml:para><maml:para>Enter a configuration name or the fully qualified resource URI for a session configuration. If you specify only the configuration name, the following schema URI is prepended: http://schemas.microsoft.com/powershell. The configuration name of a session is stored in the ConfigurationName property of the session.</maml:para><maml:para>The value of this parameter is used to select and filter sessions. It does not change the session configuration that the session uses.</maml:para><maml:para>For more information about session configurations, see about_Session_Configurations .</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Credential</maml:name><maml:description><maml:para>Specifies a user account that has permission to connect to the disconnected session. The default is the current user.</maml:para><maml:para>Type a user name, such as "User01" or "Domain01\User01". Or, enter a PSCredential object, such as one generated by the Get-Credential cmdlet. If you type a user name, you will be prompted for a password.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SessionOption</maml:name><maml:description><maml:para>Sets advanced options for the session. Enter a SessionOption object, such as one that you create by using the New-PSSessionOption cmdlet, or a hash table in which the keys are session option names and the values are session option values.</maml:para><maml:para>The default values for the options are determined by the value of the $PSSessionOption preference variable, if it is set. Otherwise, the default values are established by options set in the session configuration.</maml:para><maml:para>The session option values take precedence over default values for sessions set in the $PSSessionOption preference variable and in the session configuration. However, they do not take precedence over maximum values, quotas or limits set in the session configuration. </maml:para><maml:para>For a description of the session options, including the default values, see New-PSSessionOption. For information about the $PSSessionOption preference variable, see about_Preference_Variables (http://go.microsoft.com/fwlink/?LinkID=113248). For more information about session configurations, see about_Session_Configurations (http://go.microsoft.com/fwlink/?LinkID=145152).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSSessionOption</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ThrottleLimit</maml:name><maml:description><maml:para>Specifies the maximum number of concurrent connections that can be established to run this command. If you omit this parameter or enter a value of 0, the default value, 32, is used.</maml:para><maml:para>The throttle limit applies only to the current command, not to the session or to the computer.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>InstanceId</maml:name><maml:description><maml:para>Specifies the instance IDs of the disconnected sessions.</maml:para><maml:para>The instance ID is a GUID that uniquely identifies a PSSession on a local or remote computer.</maml:para><maml:para>The instance ID is stored in the InstanceID property of the PSSession.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Guid[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Connect-PSSession</maml:name><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="false" position="1" aliases="Cn"><maml:name>ComputerName</maml:name><maml:description><maml:para>Specifies the computers on which the disconnected sessions are stored. Sessions are stored on the computer that is at the "server-side" or receiving end of a connection. The default is the local computer.</maml:para><maml:para>Type the NetBIOS name, an IP address, or a fully qualified domain name of one computer. Wildcards are not permitted. To specify the local computer, type the computer name, "localhost", or a dot (.)</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>ApplicationName</maml:name><maml:description><maml:para>Connects only to sessions that use the specified application.</maml:para><maml:para>Enter the application name segment of the connection URI. For example, in the following connection URI, the application name is WSMan: http://localhost:5985/WSMAN. The application name of a session is stored in the Runspace.ConnectionInfo.AppName property of the session.</maml:para><maml:para>The value of this parameter is used to select and filter sessions. It does not change the application that the session uses.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Authentication</maml:name><maml:description><maml:para>Specifies the mechanism that is used to authenticate the user's credentials in the command to reconnect to the disconnected session. Valid values are Default, Basic, Credssp, Digest, Kerberos, Negotiate, and NegotiateWithImplicitCredential. The default value is Default.</maml:para><maml:para>For information about the values of this parameter, see "AuthenticationMechanism enumeration" in MSDN.</maml:para><maml:para>CAUTION: Credential Security Support Provider (CredSSP) authentication, in which the user's credentials are passed to a remote computer to be authenticated, is designed for commands that require authentication on more than one resource, such as accessing a remote network share. This mechanism increases the security risk of the remote operation. If the remote computer is compromised, the credentials that are passed to it can be used to control the network session.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">AuthenticationMechanism</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CertificateThumbprint</maml:name><maml:description><maml:para>Specifies the digital public key certificate (X509) of a user account that has permission to connect to the disconnected session. Enter the certificate thumbprint of the certificate.</maml:para><maml:para>Certificates are used in client certificate-based authentication. They can be mapped only to local user accounts; they do not work with domain accounts.</maml:para><maml:para>To get a certificate thumbprint, use a Get-Item or Get-ChildItem command in the Windows PowerShell Cert: drive.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>ConfigurationName</maml:name><maml:description><maml:para>Connects only to sessions that use the specified session configuration.</maml:para><maml:para>Enter a configuration name or the fully qualified resource URI for a session configuration. If you specify only the configuration name, the following schema URI is prepended: http://schemas.microsoft.com/powershell. The configuration name of a session is stored in the ConfigurationName property of the session.</maml:para><maml:para>The value of this parameter is used to select and filter sessions. It does not change the session configuration that the session uses.</maml:para><maml:para>For more information about session configurations, see about_Session_Configurations .</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Credential</maml:name><maml:description><maml:para>Specifies a user account that has permission to connect to the disconnected session. The default is the current user.</maml:para><maml:para>Type a user name, such as "User01" or "Domain01\User01". Or, enter a PSCredential object, such as one generated by the Get-Credential cmdlet. If you type a user name, you will be prompted for a password.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Specifies the friendly names of the disconnected sessions.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Port</maml:name><maml:description><maml:para>Specifies the network port on the remote computer that is used to reconnect to the session. To connect to a remote computer, the remote computer must be listening on the port that the connection uses. The default ports are 5985 (the WinRM port for HTTP) and 5986 (the WinRM port for HTTPS).</maml:para><maml:para>Before using an alternate port, you must configure the WinRM listener on the remote computer to listen at that port. To configure the listener, type the following two commands at the Windows PowerShell prompt:</maml:para><maml:para>Remove-Item -Path WSMan:\Localhost\listener\listener* -Recurse</maml:para><maml:para>New-Item -Path WSMan:\Localhost\listener -Transport http -Address * -Port &lt;port-number&gt;</maml:para><maml:para>Do not use the Port parameter unless you must. The port that is set in the command applies to all computers or sessions on which the command runs. An alternate port setting might prevent the command from running on all computers.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SessionOption</maml:name><maml:description><maml:para>Sets advanced options for the session. Enter a SessionOption object, such as one that you create by using the New-PSSessionOption cmdlet, or a hash table in which the keys are session option names and the values are session option values.</maml:para><maml:para>The default values for the options are determined by the value of the $PSSessionOption preference variable, if it is set. Otherwise, the default values are established by options set in the session configuration.</maml:para><maml:para>The session option values take precedence over default values for sessions set in the $PSSessionOption preference variable and in the session configuration. However, they do not take precedence over maximum values, quotas or limits set in the session configuration. </maml:para><maml:para>For a description of the session options, including the default values, see New-PSSessionOption. For information about the $PSSessionOption preference variable, see about_Preference_Variables (http://go.microsoft.com/fwlink/?LinkID=113248). For more information about session configurations, see about_Session_Configurations (http://go.microsoft.com/fwlink/?LinkID=145152).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSSessionOption</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ThrottleLimit</maml:name><maml:description><maml:para>Specifies the maximum number of concurrent connections that can be established to run this command. If you omit this parameter or enter a value of 0, the default value, 32, is used.</maml:para><maml:para>The throttle limit applies only to the current command, not to the session or to the computer.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>UseSSL</maml:name><maml:description><maml:para>Uses the Secure Sockets Layer (SSL) protocol to connect to the disconnected session. By default, SSL is not used.</maml:para><maml:para>WS-Management encrypts all Windows PowerShell content transmitted over the network. UseSSL is an additional protection that sends the data across an HTTPS connection instead of an HTTP connection.</maml:para><maml:para>If you use this parameter, but SSL is not available on the port used for the command, the command fails.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Connect-PSSession</maml:name><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>ApplicationName</maml:name><maml:description><maml:para>Connects only to sessions that use the specified application.</maml:para><maml:para>Enter the application name segment of the connection URI. For example, in the following connection URI, the application name is WSMan: http://localhost:5985/WSMAN. The application name of a session is stored in the Runspace.ConnectionInfo.AppName property of the session.</maml:para><maml:para>The value of this parameter is used to select and filter sessions. It does not change the application that the session uses.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Authentication</maml:name><maml:description><maml:para>Specifies the mechanism that is used to authenticate the user's credentials in the command to reconnect to the disconnected session. Valid values are Default, Basic, Credssp, Digest, Kerberos, Negotiate, and NegotiateWithImplicitCredential. The default value is Default.</maml:para><maml:para>For information about the values of this parameter, see "AuthenticationMechanism enumeration" in MSDN.</maml:para><maml:para>CAUTION: Credential Security Support Provider (CredSSP) authentication, in which the user's credentials are passed to a remote computer to be authenticated, is designed for commands that require authentication on more than one resource, such as accessing a remote network share. This mechanism increases the security risk of the remote operation. If the remote computer is compromised, the credentials that are passed to it can be used to control the network session.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">AuthenticationMechanism</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CertificateThumbprint</maml:name><maml:description><maml:para>Specifies the digital public key certificate (X509) of a user account that has permission to connect to the disconnected session. Enter the certificate thumbprint of the certificate.</maml:para><maml:para>Certificates are used in client certificate-based authentication. They can be mapped only to local user accounts; they do not work with domain accounts.</maml:para><maml:para>To get a certificate thumbprint, use a Get-Item or Get-ChildItem command in the Windows PowerShell Cert: drive.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>ConfigurationName</maml:name><maml:description><maml:para>Connects only to sessions that use the specified session configuration.</maml:para><maml:para>Enter a configuration name or the fully qualified resource URI for a session configuration. If you specify only the configuration name, the following schema URI is prepended: http://schemas.microsoft.com/powershell. The configuration name of a session is stored in the ConfigurationName property of the session.</maml:para><maml:para>The value of this parameter is used to select and filter sessions. It does not change the session configuration that the session uses.</maml:para><maml:para>For more information about session configurations, see about_Session_Configurations .</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Credential</maml:name><maml:description><maml:para>Specifies a user account that has permission to connect to the disconnected session. The default is the current user.</maml:para><maml:para>Type a user name, such as "User01" or "Domain01\User01". Or, enter a PSCredential object, such as one generated by the Get-Credential cmdlet. If you type a user name, you will be prompted for a password.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Port</maml:name><maml:description><maml:para>Specifies the network port on the remote computer that is used to reconnect to the session. To connect to a remote computer, the remote computer must be listening on the port that the connection uses. The default ports are 5985 (the WinRM port for HTTP) and 5986 (the WinRM port for HTTPS).</maml:para><maml:para>Before using an alternate port, you must configure the WinRM listener on the remote computer to listen at that port. To configure the listener, type the following two commands at the Windows PowerShell prompt:</maml:para><maml:para>Remove-Item -Path WSMan:\Localhost\listener\listener* -Recurse</maml:para><maml:para>New-Item -Path WSMan:\Localhost\listener -Transport http -Address * -Port &lt;port-number&gt;</maml:para><maml:para>Do not use the Port parameter unless you must. The port that is set in the command applies to all computers or sessions on which the command runs. An alternate port setting might prevent the command from running on all computers.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SessionOption</maml:name><maml:description><maml:para>Sets advanced options for the session. Enter a SessionOption object, such as one that you create by using the New-PSSessionOption cmdlet, or a hash table in which the keys are session option names and the values are session option values.</maml:para><maml:para>The default values for the options are determined by the value of the $PSSessionOption preference variable, if it is set. Otherwise, the default values are established by options set in the session configuration.</maml:para><maml:para>The session option values take precedence over default values for sessions set in the $PSSessionOption preference variable and in the session configuration. However, they do not take precedence over maximum values, quotas or limits set in the session configuration. </maml:para><maml:para>For a description of the session options, including the default values, see New-PSSessionOption. For information about the $PSSessionOption preference variable, see about_Preference_Variables (http://go.microsoft.com/fwlink/?LinkID=113248). For more information about session configurations, see about_Session_Configurations (http://go.microsoft.com/fwlink/?LinkID=145152).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSSessionOption</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ThrottleLimit</maml:name><maml:description><maml:para>Specifies the maximum number of concurrent connections that can be established to run this command. If you omit this parameter or enter a value of 0, the default value, 32, is used.</maml:para><maml:para>The throttle limit applies only to the current command, not to the session or to the computer.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>UseSSL</maml:name><maml:description><maml:para>Uses the Secure Sockets Layer (SSL) protocol to connect to the disconnected session. By default, SSL is not used.</maml:para><maml:para>WS-Management encrypts all Windows PowerShell content transmitted over the network. UseSSL is an additional protection that sends the data across an HTTPS connection instead of an HTTP connection.</maml:para><maml:para>If you use this parameter, but SSL is not available on the port used for the command, the command fails.</maml:para></maml:description></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="Cn"><maml:name>ComputerName</maml:name><maml:description><maml:para>Specifies the computers on which the disconnected sessions are stored. Sessions are stored on the computer that is at the "server-side" or receiving end of a connection. The default is the local computer.</maml:para><maml:para>Type the NetBIOS name, an IP address, or a fully qualified domain name of one computer. Wildcards are not permitted. To specify the local computer, type the computer name, "localhost", or a dot (.)</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>InstanceId</maml:name><maml:description><maml:para>Specifies the instance IDs of the disconnected sessions.</maml:para><maml:para>The instance ID is a GUID that uniquely identifies a PSSession on a local or remote computer.</maml:para><maml:para>The instance ID is stored in the InstanceID property of the PSSession.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Guid[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Connect-PSSession</maml:name><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="URI,CU"><maml:name>ConnectionUri</maml:name><maml:description><maml:para>Specifies the Uniform Resource Identifiers (URIs) of the connection endpoints for the disconnected sessions.</maml:para><maml:para>The URI must be fully qualified. The format of this string is as follows:
 
&lt;Transport&gt;://&lt;ComputerName&gt;:&lt;Port&gt;/&lt;ApplicationName&gt;
 
The default value is as follows:
 
http://localhost:5985/WSMAN</maml:para><maml:para>If you do not specify a connection URI, you can use the UseSSL and Port parameters to specify the connection URI values.</maml:para><maml:para>Valid values for the Transport segment of the URI are HTTP and HTTPS. If you specify a connection URI with a Transport segment, but do not specify a port, the session is created with standards ports: 80 for HTTP and 443 for HTTPS. To use the default ports for Windows PowerShell remoting, specify port 5985 for HTTP or 5986 for HTTPS.</maml:para><maml:para>If the destination computer redirects the connection to a different URI, Windows PowerShell prevents the redirection unless you use the AllowRedirection parameter in the command.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Uri[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>AllowRedirection</maml:name><maml:description><maml:para>Allows redirection of this connection to an alternate Uniform Resource Identifier (URI).</maml:para><maml:para>When you use the ConnectionURI parameter, the remote destination can return an instruction to redirect to a different URI. By default, Windows PowerShell does not redirect connections, but you can use this parameter to allow it to redirect the connection.</maml:para><maml:para>You can also limit the number of times the connection is redirected by changing the MaximumConnectionRedirectionCount session option value. Use the MaximumRedirection parameter of the New-PSSessionOption cmdlet or set the MaximumConnectionRedirectionCount property of the $PSSessionOption preference variable. The default value is 5.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Authentication</maml:name><maml:description><maml:para>Specifies the mechanism that is used to authenticate the user's credentials in the command to reconnect to the disconnected session. Valid values are Default, Basic, Credssp, Digest, Kerberos, Negotiate, and NegotiateWithImplicitCredential. The default value is Default.</maml:para><maml:para>For information about the values of this parameter, see "AuthenticationMechanism enumeration" in MSDN.</maml:para><maml:para>CAUTION: Credential Security Support Provider (CredSSP) authentication, in which the user's credentials are passed to a remote computer to be authenticated, is designed for commands that require authentication on more than one resource, such as accessing a remote network share. This mechanism increases the security risk of the remote operation. If the remote computer is compromised, the credentials that are passed to it can be used to control the network session.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">AuthenticationMechanism</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CertificateThumbprint</maml:name><maml:description><maml:para>Specifies the digital public key certificate (X509) of a user account that has permission to connect to the disconnected session. Enter the certificate thumbprint of the certificate.</maml:para><maml:para>Certificates are used in client certificate-based authentication. They can be mapped only to local user accounts; they do not work with domain accounts.</maml:para><maml:para>To get a certificate thumbprint, use a Get-Item or Get-ChildItem command in the Windows PowerShell Cert: drive.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>ConfigurationName</maml:name><maml:description><maml:para>Connects only to sessions that use the specified session configuration.</maml:para><maml:para>Enter a configuration name or the fully qualified resource URI for a session configuration. If you specify only the configuration name, the following schema URI is prepended: http://schemas.microsoft.com/powershell. The configuration name of a session is stored in the ConfigurationName property of the session.</maml:para><maml:para>The value of this parameter is used to select and filter sessions. It does not change the session configuration that the session uses.</maml:para><maml:para>For more information about session configurations, see about_Session_Configurations .</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Credential</maml:name><maml:description><maml:para>Specifies a user account that has permission to connect to the disconnected session. The default is the current user.</maml:para><maml:para>Type a user name, such as "User01" or "Domain01\User01". Or, enter a PSCredential object, such as one generated by the Get-Credential cmdlet. If you type a user name, you will be prompted for a password.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Specifies the friendly names of the disconnected sessions.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SessionOption</maml:name><maml:description><maml:para>Sets advanced options for the session. Enter a SessionOption object, such as one that you create by using the New-PSSessionOption cmdlet, or a hash table in which the keys are session option names and the values are session option values.</maml:para><maml:para>The default values for the options are determined by the value of the $PSSessionOption preference variable, if it is set. Otherwise, the default values are established by options set in the session configuration.</maml:para><maml:para>The session option values take precedence over default values for sessions set in the $PSSessionOption preference variable and in the session configuration. However, they do not take precedence over maximum values, quotas or limits set in the session configuration. </maml:para><maml:para>For a description of the session options, including the default values, see New-PSSessionOption. For information about the $PSSessionOption preference variable, see about_Preference_Variables (http://go.microsoft.com/fwlink/?LinkID=113248). For more information about session configurations, see about_Session_Configurations (http://go.microsoft.com/fwlink/?LinkID=145152).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSSessionOption</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ThrottleLimit</maml:name><maml:description><maml:para>Specifies the maximum number of concurrent connections that can be established to run this command. If you omit this parameter or enter a value of 0, the default value, 32, is used.</maml:para><maml:para>The throttle limit applies only to the current command, not to the session or to the computer.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Connect-PSSession</maml:name><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>Id</maml:name><maml:description><maml:para>Specifies the IDs of the disconnected sessions. The ID parameter works only when the disconnected session was previously connected to the current session.</maml:para><maml:para>This parameter is valid, but not effective, when the session is stored on the local computer, but was not connected to the current session.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Int32[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ThrottleLimit</maml:name><maml:description><maml:para>Specifies the maximum number of concurrent connections that can be established to run this command. If you omit this parameter or enter a value of 0, the default value, 32, is used.</maml:para><maml:para>The throttle limit applies only to the current command, not to the session or to the computer.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Connect-PSSession</maml:name><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ThrottleLimit</maml:name><maml:description><maml:para>Specifies the maximum number of concurrent connections that can be established to run this command. If you omit this parameter or enter a value of 0, the default value, 32, is used.</maml:para><maml:para>The throttle limit applies only to the current command, not to the session or to the computer.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>InstanceId</maml:name><maml:description><maml:para>Specifies the instance IDs of the disconnected sessions.</maml:para><maml:para>The instance ID is a GUID that uniquely identifies a PSSession on a local or remote computer.</maml:para><maml:para>The instance ID is stored in the InstanceID property of the PSSession.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Guid[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Connect-PSSession</maml:name><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases=""><maml:name>Session</maml:name><maml:description><maml:para>Specifies the disconnected sessions. Enter a variable that contains the PSSessions or a command that creates or gets the PSSessions, such as a Get-PSSession command.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">PSSession[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ThrottleLimit</maml:name><maml:description><maml:para>Specifies the maximum number of concurrent connections that can be established to run this command. If you omit this parameter or enter a value of 0, the default value, 32, is used.</maml:para><maml:para>The throttle limit applies only to the current command, not to the session or to the computer.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Authentication</maml:name><maml:description><maml:para>Specifies the mechanism that is used to authenticate the user's credentials in the command to reconnect to the disconnected session. Valid values are Default, Basic, Credssp, Digest, Kerberos, Negotiate, and NegotiateWithImplicitCredential. The default value is Default.</maml:para><maml:para>For information about the values of this parameter, see "AuthenticationMechanism enumeration" in MSDN.</maml:para><maml:para>CAUTION: Credential Security Support Provider (CredSSP) authentication, in which the user's credentials are passed to a remote computer to be authenticated, is designed for commands that require authentication on more than one resource, such as accessing a remote network share. This mechanism increases the security risk of the remote operation. If the remote computer is compromised, the credentials that are passed to it can be used to control the network session.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">AuthenticationMechanism</command:parameterValue><dev:type><maml:name>AuthenticationMechanism</maml:name><maml:uri /></dev:type><dev:defaultValue>Default</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CertificateThumbprint</maml:name><maml:description><maml:para>Specifies the digital public key certificate (X509) of a user account that has permission to connect to the disconnected session. Enter the certificate thumbprint of the certificate.</maml:para><maml:para>Certificates are used in client certificate-based authentication. They can be mapped only to local user accounts; they do not work with domain accounts.</maml:para><maml:para>To get a certificate thumbprint, use a Get-Item or Get-ChildItem command in the Windows PowerShell Cert: drive.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="false" position="1" aliases="Cn"><maml:name>ComputerName</maml:name><maml:description><maml:para>Specifies the computers on which the disconnected sessions are stored. Sessions are stored on the computer that is at the "server-side" or receiving end of a connection. The default is the local computer.</maml:para><maml:para>Type the NetBIOS name, an IP address, or a fully qualified domain name of one computer. Wildcards are not permitted. To specify the local computer, type the computer name, "localhost", or a dot (.)</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>Local computer</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Credential</maml:name><maml:description><maml:para>Specifies a user account that has permission to connect to the disconnected session. The default is the current user.</maml:para><maml:para>Type a user name, such as "User01" or "Domain01\User01". Or, enter a PSCredential object, such as one generated by the Get-Credential cmdlet. If you type a user name, you will be prompted for a password.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue><dev:type><maml:name>PSCredential</maml:name><maml:uri /></dev:type><dev:defaultValue>Current user</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>Id</maml:name><maml:description><maml:para>Specifies the IDs of the disconnected sessions. The ID parameter works only when the disconnected session was previously connected to the current session.</maml:para><maml:para>This parameter is valid, but not effective, when the session is stored on the local computer, but was not connected to the current session.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Int32[]</command:parameterValue><dev:type><maml:name>Int32[]</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>InstanceId</maml:name><maml:description><maml:para>Specifies the instance IDs of the disconnected sessions.</maml:para><maml:para>The instance ID is a GUID that uniquely identifies a PSSession on a local or remote computer.</maml:para><maml:para>The instance ID is stored in the InstanceID property of the PSSession.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Guid[]</command:parameterValue><dev:type><maml:name>Guid[]</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Specifies the friendly names of the disconnected sessions.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Port</maml:name><maml:description><maml:para>Specifies the network port on the remote computer that is used to reconnect to the session. To connect to a remote computer, the remote computer must be listening on the port that the connection uses. The default ports are 5985 (the WinRM port for HTTP) and 5986 (the WinRM port for HTTPS).</maml:para><maml:para>Before using an alternate port, you must configure the WinRM listener on the remote computer to listen at that port. To configure the listener, type the following two commands at the Windows PowerShell prompt:</maml:para><maml:para>Remove-Item -Path WSMan:\Localhost\listener\listener* -Recurse</maml:para><maml:para>New-Item -Path WSMan:\Localhost\listener -Transport http -Address * -Port &lt;port-number&gt;</maml:para><maml:para>Do not use the Port parameter unless you must. The port that is set in the command applies to all computers or sessions on which the command runs. An alternate port setting might prevent the command from running on all computers.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue><dev:type><maml:name>Int32</maml:name><maml:uri /></dev:type><dev:defaultValue>5985, 5986</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases=""><maml:name>Session</maml:name><maml:description><maml:para>Specifies the disconnected sessions. Enter a variable that contains the PSSessions or a command that creates or gets the PSSessions, such as a Get-PSSession command.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">PSSession[]</command:parameterValue><dev:type><maml:name>PSSession[]</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SessionOption</maml:name><maml:description><maml:para>Sets advanced options for the session. Enter a SessionOption object, such as one that you create by using the New-PSSessionOption cmdlet, or a hash table in which the keys are session option names and the values are session option values.</maml:para><maml:para>The default values for the options are determined by the value of the $PSSessionOption preference variable, if it is set. Otherwise, the default values are established by options set in the session configuration.</maml:para><maml:para>The session option values take precedence over default values for sessions set in the $PSSessionOption preference variable and in the session configuration. However, they do not take precedence over maximum values, quotas or limits set in the session configuration. </maml:para><maml:para>For a description of the session options, including the default values, see New-PSSessionOption. For information about the $PSSessionOption preference variable, see about_Preference_Variables (http://go.microsoft.com/fwlink/?LinkID=113248). For more information about session configurations, see about_Session_Configurations (http://go.microsoft.com/fwlink/?LinkID=145152).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSSessionOption</command:parameterValue><dev:type><maml:name>PSSessionOption</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ThrottleLimit</maml:name><maml:description><maml:para>Specifies the maximum number of concurrent connections that can be established to run this command. If you omit this parameter or enter a value of 0, the default value, 32, is used.</maml:para><maml:para>The throttle limit applies only to the current command, not to the session or to the computer.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue><dev:type><maml:name>Int32</maml:name><maml:uri /></dev:type><dev:defaultValue>32</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>UseSSL</maml:name><maml:description><maml:para>Uses the Secure Sockets Layer (SSL) protocol to connect to the disconnected session. By default, SSL is not used.</maml:para><maml:para>WS-Management encrypts all Windows PowerShell content transmitted over the network. UseSSL is an additional protection that sends the data across an HTTPS connection instead of an HTTP connection.</maml:para><maml:para>If you use this parameter, but SSL is not available on the port used for the command, the command fails.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>AllowRedirection</maml:name><maml:description><maml:para>Allows redirection of this connection to an alternate Uniform Resource Identifier (URI).</maml:para><maml:para>When you use the ConnectionURI parameter, the remote destination can return an instruction to redirect to a different URI. By default, Windows PowerShell does not redirect connections, but you can use this parameter to allow it to redirect the connection.</maml:para><maml:para>You can also limit the number of times the connection is redirected by changing the MaximumConnectionRedirectionCount session option value. Use the MaximumRedirection parameter of the New-PSSessionOption cmdlet or set the MaximumConnectionRedirectionCount property of the $PSSessionOption preference variable. The default value is 5.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>ApplicationName</maml:name><maml:description><maml:para>Connects only to sessions that use the specified application.</maml:para><maml:para>Enter the application name segment of the connection URI. For example, in the following connection URI, the application name is WSMan: http://localhost:5985/WSMAN. The application name of a session is stored in the Runspace.ConnectionInfo.AppName property of the session.</maml:para><maml:para>The value of this parameter is used to select and filter sessions. It does not change the application that the session uses.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>WSMan</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>ConfigurationName</maml:name><maml:description><maml:para>Connects only to sessions that use the specified session configuration.</maml:para><maml:para>Enter a configuration name or the fully qualified resource URI for a session configuration. If you specify only the configuration name, the following schema URI is prepended: http://schemas.microsoft.com/powershell. The configuration name of a session is stored in the ConfigurationName property of the session.</maml:para><maml:para>The value of this parameter is used to select and filter sessions. It does not change the session configuration that the session uses.</maml:para><maml:para>For more information about session configurations, see about_Session_Configurations .</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="URI,CU"><maml:name>ConnectionUri</maml:name><maml:description><maml:para>Specifies the Uniform Resource Identifiers (URIs) of the connection endpoints for the disconnected sessions.</maml:para><maml:para>The URI must be fully qualified. The format of this string is as follows:
 
&lt;Transport&gt;://&lt;ComputerName&gt;:&lt;Port&gt;/&lt;ApplicationName&gt;
 
The default value is as follows:
 
http://localhost:5985/WSMAN</maml:para><maml:para>If you do not specify a connection URI, you can use the UseSSL and Port parameters to specify the connection URI values.</maml:para><maml:para>Valid values for the Transport segment of the URI are HTTP and HTTPS. If you specify a connection URI with a Transport segment, but do not specify a port, the session is created with standards ports: 80 for HTTP and 443 for HTTPS. To use the default ports for Windows PowerShell remoting, specify port 5985 for HTTP or 5986 for HTTPS.</maml:para><maml:para>If the destination computer redirects the connection to a different URI, Windows PowerShell prevents the redirection unless you use the AllowRedirection parameter in the command.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Uri[]</command:parameterValue><dev:type><maml:name>Uri[]</maml:name><maml:uri /></dev:type><dev:defaultValue>http://localhost:5985/WSMAN</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>false</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>false</dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name>System.Management.Automation.Runspaces.PSSession</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You can pipe a session (PSSession) to the Connect-PSSession cmdlet.</maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name>System.Management.Automation.Runspaces.PSSession</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>Connect-PSSession returns an object that represents the session to which it reconnected.</maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><maml:alertSet><maml:title /><maml:alert><maml:para>Connect-PSSession reconnects only to sessions that are disconnected, that is, sessions that have a value of Disconnected for the State property. Only sessions that are connected to (terminate at) computers running Windows PowerShell 3.0 or later can be disconnected and reconnected.</maml:para></maml:alert><maml:alert><maml:para>If you use the Connect-PSSession cmdlet on a session that is not disconnected, the command has no effect on the session and it does not generate errors.</maml:para></maml:alert><maml:alert><maml:para>Disconnected loopback sessions with interactive tokens (those created with the EnableNetworkAccess parameter) can be reconnected only from the computer on which the session was created. This restriction protects the computer from malicious access.</maml:para></maml:alert><maml:alert><maml:para>The value of the State property of a PSSession is relative to the current session. Therefore, a value of Disconnected means that the PSSession is not connected to the current session. However, it does not mean that the PSSession is disconnected from all sessions. It might be connected to a different session. To determine whether you can connect or reconnect to the session, use the Availability property.</maml:para><maml:para>An Availability value of None indicates that you can connect to the session. A value of Busy indicates that you cannot connect to the PSSession because it is connected to another session.</maml:para><maml:para>For more information about the values of the State property of sessions, see "RunspaceState Enumeration" in MSDN at <maml:navigationLink><maml:linkText>http://msdn.microsoft.com/en-us/library/windows/desktop/system.management.automation.runspaces.runspacestate(v=VS.85).aspx</maml:linkText><maml:uri></maml:uri></maml:navigationLink>.</maml:para><maml:para>For more information about the values of the Availability property of sessions, see RunspaceAvailability Enumeration at <maml:navigationLink><maml:linkText>http://msdn.microsoft.com/en-us/library/windows/desktop/system.management.automation.runspaces.runspaceavailability(v=vs.85).aspx</maml:linkText><maml:uri></maml:uri></maml:navigationLink>.</maml:para></maml:alert><maml:alert><maml:para>You cannot change the idle timeout value of a PSSession when you connect to the PSSession. The SessionOption parameter of Connect-PSSession takes a SessionOption object that has an IdleTimeout value. However, the IdleTimeout value of the SessionOption object and the IdleTimeout value of the $PSSessionOption variable are ignored when connecting to a PSSession.</maml:para><maml:para>You can set and change the idle timeout of a PSSession when you create the PSSession (by using the New-PSSession or Invoke-Command cmdlets) and when you disconnect from the PSSession.</maml:para><maml:para>The IdleTimeout property of a PSSession is critical to disconnected sessions, because it determines how long a disconnected session is maintained on the remote computer. Disconnected sessions are considered to be idle from the moment that they are disconnected, even if commands are running in the disconnected session.</maml:para></maml:alert></maml:alertSet><command:examples><command:example><maml:title>Example 1</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Connect-PSSession -ComputerName Server01 -Name ITTask
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
 4 ITTask Server01 Opened ITTasks Available
</dev:code><dev:remarks><maml:para>This command reconnects to the ITTask session on the Server01 computer.</maml:para><maml:para>The output shows that the command was successful. The State of the session is Opened and the Availability is Available, indicating that you can run commands in the session.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>Example 2</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-PSSession
 
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
 1 Backups Localhost Opened Microsoft.PowerShell Available
 
 
PS C:\&gt; Get-PSSession | Disconnect-PSSession
 
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
 1 Backups Localhost Disconnected Microsoft.PowerShell None
 
 
PS C:\&gt; Get-PSSession | Connect-PSSession
 
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
 1 Backups Localhost Opened Microsoft.PowerShell Available
 
</dev:code><dev:remarks><maml:para>This example shows the effect of disconnecting and then reconnecting to a session.</maml:para><maml:para>The first command uses the Get-PSSession cmdlet. Without the ComputerName parameter, the command gets only sessions that were created in the current session.</maml:para><maml:para>The output shows that the command gets the Backups session on the local computer. The State of the session is Opened and the Availability is Available.</maml:para><maml:para>The second command uses the Get-PSSession cmdlet to get the PSSessions that were created in the current session and the Disconnect-PSSession cmdlet to disconnect the sessions. The output shows that the Backups session was disconnected. The State of the session is Disconnected and the Availability is None.</maml:para><maml:para>The third command uses the Get-PSSession cmdlet to get the PSSessions that were created in the current session and the Connect-PSSession cmdlet to reconnect the sessions. The output shows that the Backups session was reconnected. The State of the session is Opened and the Availability is Available.</maml:para><maml:para>If you use the Connect-PSSession cmdlet on a session that is not disconnected, the command has no effect on the session and it does not generate any errors.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>Example 3</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>The administrator begins by creating a sessions on a remote computer and running a script in the session.The first command uses the New-PSSession cmdlet to create the ITTask session on the Server01 remote computer. The command uses the ConfigurationName parameter to specify the ITTasks session configuration. The command saves the sessions in the $s variable.
PS C:\&gt;$s = New-PSSession -ComputerName Server01 -Name ITTask -ConfigurationName ITTasks
 
 The second command Invoke-Command cmdlet to start a background job in the session in the $s variable. It uses the FilePath parameter to run the script in the background job.
PS C:\&gt;Invoke-Command -Session $s {Start-Job -FilePath \\Server30\Scripts\Backup-SQLDatabase.ps1}
Id Name State HasMoreData Location Command
-- ---- ----- ----------- -------- -------
2 Job2 Running True Server01 \\Server30\Scripts\Backup...
 
The third command uses the Disconnect-PSSession cmdlet to disconnect from the session in the $s variable. The command uses the OutputBufferingMode parameter with a value of Drop to prevent the script from being blocked by having to deliver output to the session. It uses the IdleTimeoutSec parameter to extend the session timeout to 15 hours.When the command completes, the administrator locks her computer and goes home for the evening.
PS C:\&gt;Disconnect-PSSession -Session $s -OutputBufferingMode Drop -IdleTimeoutSec 60*60*15
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
 1 ITTask Server01 Disconnected ITTasks None
 
Later that evening, the administrator starts her home computer, logs on to the corporate network, and starts Windows PowerShell. The fourth command uses the Get-PSSession cmdlet to get the sessions on the Server01 computer. The command finds the ITTask session.The fifth command uses the Connect-PSSession cmdlet to connect to the ITTask session. The command saves the session in the $s variable.
PS C:\&gt;Get-PSSession -ComputerName Server01 -Name ITTask
 
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
 1 ITTask Server01 Disconnected ITTasks None
 
 
PS C:\&gt;$s = Connect-PSSession -ComputerName Server01 -Name ITTask
 
 
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
 1 ITTask Server01 Opened ITTasks Available
 
The sixth command uses the Invoke-Command cmdlet to run a Get-Job command in the session in the $s variable. The output shows that the job completed successfully.The seventh command uses the Invoke-Command cmdlet to run a Receive-Job command in the session in the $s variable in the session. The command saves the results in the $BackupSpecs variable.The eighth command uses the Invoke-Command cmdlet to runs another script in the session. The command uses the value of the $BackupSpecs variable in the session as input to the script.
 
 
PS C:\&gt;Invoke-Command -Session $s {Get-Job}
 
Id Name State HasMoreData Location Command
-- ---- ----- ----------- -------- -------
2 Job2 Completed True Server01 \\Server30\Scripts\Backup...
 
PS C:\&gt;Invoke-Command -Session $s {$BackupSpecs = Receive-Job -JobName Job2}
 
PS C:\&gt;Invoke-Command -Session $s {\\Server30\Scripts\New-SQLDatabase.ps1 -InitData $BackupSpecs.Initialization}
 
The ninth command disconnects from the session in the $s variable.The administrator closes Windows PowerShell and closes the computer. She can reconnect to the session on the next day and check the script status from her work computer.
PS C:\&gt;Disconnect-PSSession -Session $s -OutputBufferingMode Drop -IdleTimeoutSec 60*60*15
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
 1 ITTask Server01 Disconnected ITTasks None
</dev:code><dev:remarks><maml:para>This series of commands shows how the Connect-PSSession cmdlet might be used in an enterprise scenario. In this case, a system administrator starts a long-running job in a session on a remote computer. After starting the job, the administrator disconnects from the session and goes home. Later that evening, the administrator logs on to her home computer and verifies that the job ran to completion.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=289572</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Connect-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Disconnect-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Enter-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Exit-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Get-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Get-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>New-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>New-PSSessionOption</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>New-PSTransportOption</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Receive-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Register-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Remove-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_PSSessions</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Remote</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Remote_Disconnected_Sessions</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Session_Configurations</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>Debug-Job</command:name><maml:description><maml:para>Debugs a running background, remote, or Windows PowerShell Workflow job.</maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>Debug</command:verb><command:noun>Job</command:noun><dev:version /></command:details><maml:description><maml:para>The Debug-Job cmdlet lets you debug scripts that are running within jobs. The cmdlet is designed to debug Windows PowerShell Workflow jobs, background jobs, and jobs running in remote sessions. Debug-Job accepts a running job object, name, ID, or InstanceId as input, and starts a debugging session on the script it is running. The debugger quit command stops the job and running script. Starting in Windows PowerShell 5.0, the exit command detaches the debugger, and allows the job to continue running.</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>Debug-Job</maml:name><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases=""><maml:name>Job</maml:name><maml:description><maml:para>Specifies a running job object. The simplest way to use this parameter is to save the results of a Get-Job command that returns the running job that you want to debug in a variable, and then specify the variable as the value of this parameter.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Job</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Debug-Job</maml:name><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1" aliases=""><maml:name>Id</maml:name><maml:description><maml:para>Specifies the ID number of a running job. To get the ID number of a job, run the Get-Job cmdlet.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Debug-Job</maml:name><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1" aliases=""><maml:name>InstanceId</maml:name><maml:description><maml:para>Specifies the InstanceId GUID of a running job. To get the InstanceId of a job, run the Get-Job cmdlet, piping the results into a Format-* cmdlet, as shown in this example: Get-Job | Format-List –Property Id,Name,InstanceId,State.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Guid</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Debug-Job</maml:name><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Specifies a job by the job’s friendly name. When you start a job, you can specify a job name by adding the JobName parameter, in cmdlets such as Invoke-Command and Start-Job.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1" aliases=""><maml:name>Id</maml:name><maml:description><maml:para>Specifies the ID number of a running job. To get the ID number of a job, run the Get-Job cmdlet.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue><dev:type><maml:name>Int32</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1" aliases=""><maml:name>InstanceId</maml:name><maml:description><maml:para>Specifies the InstanceId GUID of a running job. To get the InstanceId of a job, run the Get-Job cmdlet, piping the results into a Format-* cmdlet, as shown in this example: Get-Job | Format-List –Property Id,Name,InstanceId,State.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Guid</command:parameterValue><dev:type><maml:name>Guid</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases=""><maml:name>Job</maml:name><maml:description><maml:para>Specifies a running job object. The simplest way to use this parameter is to save the results of a Get-Job command that returns the running job that you want to debug in a variable, and then specify the variable as the value of this parameter.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Job</command:parameterValue><dev:type><maml:name>Job</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Specifies a job by the job’s friendly name. When you start a job, you can specify a job name by adding the JobName parameter, in cmdlets such as Invoke-Command and Start-Job.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>false</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>false</dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name>System.Management.Automation.RemotingJob</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para></maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name></maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para></maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><command:examples><command:example><maml:title>Example 1: Debug a job by job ID</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Debug-Job –ID 3
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
3 Job3 RemoteJob Running True PowerShellIx TestWFDemo1.ps1
          Entering debug mode. Use h or ? for help.
 
          Hit Line breakpoint on 'C:\TestWFDemo1.ps1:8'
 
          At C:\TestWFDemo1.ps1:8 char:5
          + Write-Output -InputObject "Now writing output:"
          + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          [DBG:PowerShellIx]: PS C:\&gt;&gt; list
 
              3:
              4: workflow SampleWorkflowTest
              5: {
              6: param ($MyOutput)
              7:
              8:* Write-Output -InputObject "Now writing output:"
              9: Write-Output -Input $MyOutput
             10:
             11: Write-Output -InputObject "Get PowerShell process:"
             12: Get-Process -Name powershell
             13:
             14: Write-Output -InputObject "Workflow function complete."
             15: }
             16:
             17: # Call workflow function
             18: SampleWorkflowTest -MyOutput "Hello"
</dev:code><dev:remarks><maml:para>In this example, the debugger breaks into a running job with an ID of 3.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/?LinkId=512991</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Get-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Receive-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Remove-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Resume-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Start-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Stop-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Suspend-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Wait-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Debuggers</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Jobs</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Job_Details</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Remote_Jobs</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Scheduled_Jobs</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>Disable-PSRemoting</command:name><maml:description><maml:para>Prevents remote users from running commands on the local computer. </maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>Disable</command:verb><command:noun>PSRemoting</command:noun><dev:version /></command:details><maml:description><maml:para>The Disable-PSRemoting cmdlet prevents users on other computers from running commands on the local computer.</maml:para><maml:para>Disable-PSRemoting blocks remote access to all session configurations on the local computer. This prevents remote users from creating temporary or persistent sessions to the local computer. Disable-PSRemoting does not prevent users of the local computer from creating sessions ("PSSessions") on the local computer or remote computers.</maml:para><maml:para>To re-enable remote access to all session configurations, use the Enable-PSRemoting cmdlet. To enable remote access to selected session configurations, use the AccessMode parameter of the Set-PSSessionConfiguration cmdlet. You can also use the Enable-PSSessionConfiguration and Disable-PSSessionConfiguration cmdlets to enable and disable session configurations for all users. For more information about session configurations, see about_Session_Configurations (http://go.microsoft.com/fwlink/?LinkID=145152).</maml:para><maml:para>In Windows PowerShell 2.0, Disable-PSRemoting prevents all users from creating user-managed sessions ("PSSessions") to the local computer. In Windows PowerShell 3.0, Disable-PSRemoting prevents users on other computers from creating user-managed sessions on the local computer, but allows users of the local computer to create user-managed "loopback" sessions.</maml:para><maml:para>To run this cmdlet, start Windows PowerShell with the "Run as administrator" option.</maml:para><maml:para>CAUTION: On systems that have both Windows PowerShell 3.0 and the Windows PowerShell 2.0 engine, do not use Windows PowerShell 2.0 to run the Enable-PSRemoting and Disable-PSRemoting cmdlets. The commands might appear to succeed, but the remoting is not configured correctly. Remote commands, and later attempts to enable and disable remoting, are likely to fail.</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>Disable-PSRemoting</maml:name><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Force</maml:name><maml:description><maml:para>Suppresses all user prompts. By default, you are prompted to confirm each operation.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Force</maml:name><maml:description><maml:para>Suppresses all user prompts. By default, you are prompted to confirm each operation.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>false</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>false</dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name>None</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You cannot pipe input to this cmdlet.</maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name>None</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>This cmdlet does not return any object.</maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><maml:alertSet><maml:title /><maml:alert><maml:para>Disabling the session configurations does not undo all the changes made by the Enable-PSRemoting or Enable-PSSessionConfiguration cmdlets. You might have to undo the following changes manually.</maml:para><maml:para>1. Stop and disable the WinRM service.</maml:para><maml:para>2. Delete the listener that accepts requests on any IP address.</maml:para><maml:para>3. Disable the firewall exceptions for WS-Management communications.</maml:para><maml:para>4. Restore the value of the LocalAccountTokenFilterPolicy to 0, which restricts remote access to members of the Administrators group on the computer.</maml:para><maml:para>A session configuration is a group of settings that define the environment for a session. Every session that connects to the computer must use one of the session configurations that are registered on the computer. By denying remote access to all session configurations, you effectively prevent remote users from establishing sessions that connect to the computer.</maml:para><maml:para>In Windows PowerShell 2.0, Disable-PSRemoting adds a "Deny_All" entry to the security descriptors of all session configurations. This setting prevents all users from creating user-managed sessions ("PSSessions") to the local computer. In Windows PowerShell 3.0, Disable-PSRemoting adds a "Network_Deny_All" entry to the security descriptors of all session configurations. This setting prevents users on other computers from creating user-managed sessions on the local computer, but allows users of the local computer to create user-managed "loopback" sessions.</maml:para><maml:para>In Windows PowerShell 2.0, Disable-PSRemoting is the equivalent of "Disable-PSSessionConfiguration -name *". In Windows PowerShell 3.0 and later releases, Disable-PSRemoting is the equivalent of "Set-PSSessionConfiguration -Name &lt;Configuration name&gt; -AccessMode Local"</maml:para><maml:para>In Windows PowerShell 2.0, Disable-PSRemoting is a function. Beginning in Windows PowerShell 3.0, it is a cmdlet.</maml:para></maml:alert><maml:alert></maml:alert></maml:alertSet><command:examples><command:example><maml:title>
-------------------------- EXAMPLE 1 --------------------------
</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Disable-PSRemoting
</dev:code><dev:remarks><maml:para>This command prevents remote access to all session configurations on the computer.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
-------------------------- EXAMPLE 2 --------------------------
</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Disable-PSRemoting -Force
</dev:code><dev:remarks><maml:para>This command prevents remote access all session configurations on the computer without prompting.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
-------------------------- EXAMPLE 3 --------------------------
</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Disable-PSRemoting -Force
 
 
[ADMIN] PS C:\&gt;New-PSSession -ComputerName localhost
 
 
Id Name ComputerName State Configuration Availability
-- ---- ------------ ----- ------------- ------------
1 Session1 Server02... Opened Microsoft.PowerShell Available
# On Server02 remote computer:
PS C:\&gt;New-PSSession -ComputerName Server01
 
[SERVER01] Connecting to remote server failed with the following error
message : Access is denied. For more information, see the about_Remote_Troubleshooting Help topic.
+ CategoryInfo : OpenError: (System.Manageme....RemoteRunspace:RemoteRunspace) [], PSRemotingTransportException
+ FullyQualifiedErrorId : PSSessionOpenFailed
 
</dev:code><dev:remarks><maml:para>This example shows the effect of using the Disable-PSRemoting cmdlet. To run this command sequence, start Windows PowerShell with the "Run as administrator" option.</maml:para><maml:para>The first command uses the Disable-PSRemoting cmdlet to disable all registered session configurations on the Server01 computer.</maml:para><maml:para>The second command uses the New-PSSession cmdlet to create a remote session to the local computer (also known as a "loopback"). The command succeeds.</maml:para><maml:para>The third command is run on the Server02 remote computer. The command uses the New-PSSession cmdlet to create a session to the Server01 remote computer. Because remote access is disabled, the command fails.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
-------------------------- EXAMPLE 4 --------------------------
</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Disable-PSRemoting -force
 
[ADMIN] PS C:\&gt;Get-PSSessionConfiguration | Format-Table -Property Name, Permission -Auto
 
Name Permission
---- ----------
microsoft.powershell NT AUTHORITY\NETWORK AccessDenied, BUILTIN\Administrators AccessAllowed
microsoft.powershell.workflow NT AUTHORITY\NETWORK AccessDenied, BUILTIN\Administrators AccessAllowed
microsoft.powershell32 NT AUTHORITY\NETWORK AccessDenied, BUILTIN\Administrators AccessAllowed
microsoft.ServerManager NT AUTHORITY\NETWORK AccessDenied, BUILTIN\Administrators AccessAllowed
WithProfile NT AUTHORITY\NETWORK AccessDenied, BUILTIN\Administrators AccessAllowed
 
 
[ADMIN] PS C:\&gt;Enable-PSRemoting -Force
WinRM already is set up to receive requests on this machine.
WinRM already is set up for remote management on this machine.
 
[ADMIN] PS C:\&gt;Get-PSSessionConfiguration | Format-Table -Property Name, Permission -Auto
 
Name Permission
---- ----------
microsoft.powershell BUILTIN\Administrators AccessAllowed
microsoft.powershell.workflow BUILTIN\Administrators AccessAllowed
microsoft.powershell32 BUILTIN\Administrators AccessAllowed
microsoft.ServerManager BUILTIN\Administrators AccessAllowed
WithProfile BUILTIN\Administrators AccessAllowed
</dev:code><dev:remarks><maml:para>This example shows the effect on the session configurations of using the Disable-PSRemoting and Enable-PSRemoting cmdlets.</maml:para><maml:para>The first command uses the Disable-PSRemoting cmdlet to disable remote access to all session configurations. The Force parameter suppresses all user prompts.</maml:para><maml:para>The second command uses the Get-PSSessionConfiguration cmdlet to display the session configurations on the computer. The command uses a pipeline operator to send the results to a Format-Table command, which displays only the Name and Permission properties of the configurations in a table.</maml:para><maml:para>The output shows that only remote users are denied access to the configurations. Members of the Administrators group on the local computer are allowed to use the session configurations. The output also shows that the command affects all session configurations, including the user-created "WithProfile" session configuration.</maml:para><maml:para>The third command uses the Enable-PSRemoting cmdlet to re-enable remote access to all session configurations on the computer. The command uses the Force parameter to suppress all user prompts and to restart the WinRM service without prompting.</maml:para><maml:para>The fourth command uses the Get-PSSessionConfiguration and Format-Table cmdlets to display the names and permissions of the session configurations. The results show that the "AccessDenied" security descriptors have been removed from all session configurations.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
-------------------------- EXAMPLE 5 --------------------------
</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Register-PSSessionConfiguration -Name Test -FilePath .\TestEndpoint.pssc -ShowSecurityDescriptorUI
 
[ADMIN] PS C:\&gt;Get-PSSessionConfiguration | Format-Table -Property Name, Permission -Wrap
 
Name Permission
---- ----------
microsoft.powershell BUILTIN\Administrators AccessAllowed
Test NT AUTHORITY\INTERACTIVE AccessAllowed, BUILTIN\Administrators AccessAllowed,
DOMAIN01\User01 AccessAllowed
 
[ADMIN] PS C:\&gt;Disable-PSRemoting -Force
 
 
[ADMIN] PS C:\&gt;Get-PSSessionConfiguration | Format-Table -Property Name, Permission -Wrap
 
Name Permission
---- ----------
microsoft.powershell NT AUTHORITY\NETWORK AccessDenied, BUILTIN\Administrators AccessAllowed
Test NT AUTHORITY\NETWORK AccessDenied, NTAUTHORITY\INTERACTIVE AccessAllowed,
BUILTIN\Administrators AccessAllowed, DOMAIN01\User01 AccessAllowed
 
# Domain01\User01
 
PS C:\&gt;New-PSSession -ComputerName Server01 -ConfigurationName Test
[Server01] Connecting to remote server failed with the following error message : Access is denied. For more information, see the about_Rem
ote_Troubleshooting Help topic.
+ CategoryInfo : OpenError: (System.Manageme....RemoteRunspace:RemoteRunspace) [], PSRemotingTransportException
+ FullyQualifiedErrorId : PSSessionOpenFailed
</dev:code><dev:remarks><maml:para>This example demonstrates that the Disable-PSRemoting cmdlet disables remote access to all session configurations, including session configurations with custom security descriptors. </maml:para><maml:para>The first command uses the Register-PSSessionConfiguration cmdlet to create the Test session configuration. The command uses the FilePath parameter to specify a session configuration file that customizes the session and the ShowSecurityDescriptorUI parameter to display a dialog box that sets permissions for the session configuration. In the Permissions dialog box, we create custom full-access permissions for the Domain01\User01 user.
</maml:para><maml:para>The second command uses the Get-PSSessionConfiguration and Format-Table cmdlets to display the session configurations and their properties. The output shows that the Test session configuration allows interactive access and special permissions for the Domain01\User01 user.</maml:para><maml:para>The third command uses the Disable-PSRemoting cmdlet to disable remote access to all session configurations.</maml:para><maml:para>The fourth command uses the Get-PSSessionConfiguration and Format-Table cmdlets to display the session configurations and their properties. The output shows that an AccessDenied security descriptor for all network users is added to all session configurations, including the Test session configuration. Although the other security desriptors are not changed, the "network_deny_all" security descriptor takes precedence.</maml:para><maml:para>The fifth command shows that the Disable-PSRemoting command prevents even the Domain01\User01 user with special permissions to the Test session configuration from using the Test session configuration to connect to the computer remotely. </maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
-------------------------- EXAMPLE 6 --------------------------
</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Disable-PSRemoting -Force
 
 
[ADMIN] PS C:\&gt;Get-PSSessionConfiguration | Format-Table -Property Name, Permission -Auto
 
Name Permission
---- ----------
microsoft.powershell NT AUTHORITY\NETWORK AccessDenied, BUILTIN\Administrators AccessAllowed
microsoft.powershell.workflow NT AUTHORITY\NETWORK AccessDenied, BUILTIN\Administrators AccessAllowed
microsoft.powershell32 NT AUTHORITY\NETWORK AccessDenied, BUILTIN\Administrators AccessAllowed
microsoft.ServerManager NT AUTHORITY\NETWORK AccessDenied, BUILTIN\Administrators AccessAllowed
WithProfile NT AUTHORITY\NETWORK AccessDenied, BUILTIN\Administrators AccessAllowed
 
[ADMIN] PS C:\&gt;Set-PSSessionConfiguration -Name Microsoft.ServerManager -AccessMode Remote -Force
 
[ADMIN] PS C:\&gt;Get-PSSessionConfiguration | Format-Table -Property Name, Permission -Auto
 
Name Permission
---- ----------
microsoft.powershell NT AUTHORITY\NETWORK AccessDenied, BUILTIN\Administrators AccessAllowed
microsoft.powershell.workflow NT AUTHORITY\NETWORK AccessDenied, BUILTIN\Administrators AccessAllowed
microsoft.powershell32 NT AUTHORITY\NETWORK AccessDenied, BUILTIN\Administrators AccessAllowed
microsoft.ServerManager BUILTIN\Administrators AccessAllowed
WithProfile NT AUTHORITY\NETWORK AccessDenied, BUILTIN\Administrators AccessAllowed
</dev:code><dev:remarks><maml:para>This example shows how to re-enable remote access only to selected session configurations. </maml:para><maml:para>The first command uses the Disable-PSRemoting cmdlet to disable remote access to all session configurations. </maml:para><maml:para>The second command uses the Get-PSSessionConfiguration and Format-Table cmdlets to display the session configurations and their properties. The output shows that an AccessDenied security descriptor for all network users is added to all session configurations. </maml:para><maml:para>The third command uses the Set-PSSessionConfiguration cmdlet. The command uses the AccessMode parameter with a value of Remote to enable remote access to the Microsoft.ServerManager session configuration. You can also use the AccessMode parameter to enable Local access and to disable session configurations. </maml:para><maml:para>The fourth command uses the Get-PSSessionConfiguration and Format-Table cmdlets to display the session configurations and their properties. The output shows that the AccessDenied security descriptor for all network users is removed, thereby restoring remote access to the Microsoft.ServerManager session configuration. </maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=289573</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Disable-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Enable-PSRemoting</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Get-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Register-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Set-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Unregister-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>WSMan Provider</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>Disable-PSSessionConfiguration</command:name><maml:description><maml:para>Disables session configurations on the local computer.</maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>Disable</command:verb><command:noun>PSSessionConfiguration</command:noun><dev:version /></command:details><maml:description><maml:para>The Disable-PSSessionConfiguration cmdlet disables session configurations on the local computer, thereby preventing all users from using the session configurations to create a user-managed sessions ("PSSessions") on the local computer. This is an advanced cmdlet that is designed to be used by system administrators to manage customized session configurations for their users.</maml:para><maml:para>Beginning in Windows PowerShell 3.0, the Disable-PSSessionConfiguration cmdlet sets the Enabled setting of the session configuration (WSMan:\localhost\Plugins\&lt;SessionConfiguration&gt;\Enabled) to "False".</maml:para><maml:para>In Windows PowerShell 2.0, the Disable-PSSessionConfiguration cmdlet adds a "Deny_All" entry to the security descriptor of one or more registered session configurations.</maml:para><maml:para>Without parameters, Disable-PSSessionConfiguration disables the Microsoft.PowerShell configuration, which is the default configuration that is used for sessions. Unless the user specifies a different configuration, both local and remote users are effectively prevented from creating any sessions that connect to the computer. </maml:para><maml:para>To disable all session configurations on the computer, use Disable-PSRemoting.</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>Disable-PSSessionConfiguration</maml:name><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="true (ByValue, ByPropertyName)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Specifies the names of session configurations to disable. Enter one or more configuration names. Wildcards are permitted. You can also pipe a string that contains a configuration name or a session configuration object to Disable-PSSessionConfiguration.</maml:para><maml:para>If you omit this parameter, Disable-PSSessionConfiguration disables the Microsoft.PowerShell session configuration.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Force</maml:name><maml:description><maml:para>Suppresses all user prompts. By default, you are prompted to confirm each operation.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Force</maml:name><maml:description><maml:para>Suppresses all user prompts. By default, you are prompted to confirm each operation.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="true (ByValue, ByPropertyName)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Specifies the names of session configurations to disable. Enter one or more configuration names. Wildcards are permitted. You can also pipe a string that contains a configuration name or a session configuration object to Disable-PSSessionConfiguration.</maml:para><maml:para>If you omit this parameter, Disable-PSSessionConfiguration disables the Microsoft.PowerShell session configuration.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>Microsoft.PowerShell</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>false</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>false</dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name>Microsoft.PowerShell.Commands.PSSessionConfigurationCommands#PSSessionConfiguration, System.String</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You can pipe a session configuration object or a string that contains the name of a session configuration to Disable-PSSessionConfiguration.</maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name>None</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>This cmdlet does not return any objects.</maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><maml:alertSet><maml:title /><maml:alert><maml:para>To run this cmdlet on Windows Vista, Windows Server 2008, and later versions of Windows, you must start Windows PowerShell with the "Run as administrator" option.</maml:para></maml:alert><maml:alert><maml:para></maml:para></maml:alert></maml:alertSet><command:examples><command:example><maml:title>
  
-------------------------- EXAMPLE 1 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Disable-PSSessionConfiguration
</dev:code><dev:remarks><maml:para>This command disables the Microsoft.PowerShell session configuration.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 2 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Disable-PSSessionConfiguration -Name *
</dev:code><dev:remarks><maml:para>This command disables all registered session configurations on the computer.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 3 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Disable-PSSessionConfiguration -Name Microsoft* -Force
</dev:code><dev:remarks><maml:para>This command disables all session configurations that have names that begin with "Microsoft". The command uses the Force parameter to suppress all user prompts from the command.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 4 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-PSSessionConfiguration -Name MaintenanceShell, AdminShell | Disable-PSSessionConfiguration
</dev:code><dev:remarks><maml:para>This command disables the MaintenanceShell and AdminShell session configurations.</maml:para><maml:para>The command uses a pipeline operator (|) to send the results of a Get-PSSessionConfiguration command to Disable-PSSessionConfiguration.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 5 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>The first command uses the Get-PSSessionConfiguration and Format-Table cmdlets to display only the Name and Permission properties of the session configuration objects. This table format makes it easier to see the values of the objects. The results show that members of the Administrators group are permitted to use the session configurations.
PS C:\&gt;Get-PSSessionConfiguration | format-table -property Name, Permission -auto
 
Name Permission
---- ----------
MaintenanceShell BUILTIN\Administrators AccessAllowed
microsoft.powershell BUILTIN\Administrators AccessAllowed
microsoft.powershell32 BUILTIN\Administrators AccessAllowed
 
 
The second command uses the Disable-PSSessionConfiguration cmdlet to disable the MaintenanceShell session configuration. The command uses the Force parameter to suppress all user prompts.
PS C:\&gt;Disable-PSSessionConfiguration -name MaintenanceShell -force
 
The third command repeats the first command. The results show that you can still get the object that represents the MaintenanceShell session configuration even though everyone is denied access to it. The "AccessDenied" entry takes precedence over all other entries in the security descriptor.
PS C:\&gt;Get-PSSessionConfiguration | format-table -property Name, Permission -auto
 
Name Permission
---- ----------
MaintenanceShell Everyone AccessDenied, BUILTIN\Administrators AccessAllowed
microsoft.powershell BUILTIN\Administrators AccessAllowed
microsoft.powershell32 BUILTIN\Administrators AccessAllowed
 
 
The fourth command uses the Set-PSSessionConfiguration cmdlet to increase the MaximumDataSizePerCommandMB setting on the MaintenanceShell session configuration to 60. The results show that the command was successful even though everyone is denied access to the configuration.
PS C:\&gt;Set-PSSessionConfiguration -name MaintenanceShell -MaximumReceivedDataSizePerCommandMB 60
 
ParamName ParamValue
--------- ----------
psmaximumreceived... 60
"Restart WinRM service"
WinRM service need to be restarted to make the changes effective. Do you want to run the command "restart-service winrm"?
[Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): y
 
 
The fifth command attempts to use the MaintenanceShell session configuration in a session. It uses the New-PSSession cmdlet to create a new session and the ConfigurationName parameter to specify the MaintenanceShell configuration.The results show that the New-PSSession command fails because the user is denied access to the configuration.
PS C:\&gt;new-pssession -computername localhost -configurationName MaintenanceShell
[localhost] Connecting to remote server failed with the following error message : Access is denied. For more information, see the about_Remote_Troubl
eshooting Help topic.
+ CategoryInfo : OpenError: (System.Manageme....RemoteRunspace:RemoteRunspace) [], PSRemotingTransportException
+ FullyQualifiedErrorId : PSSessionOpenFailed
</dev:code><dev:remarks><maml:para>This example shows the effect of disabling a session configuration.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=289574</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Disable-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Enable-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Get-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>New-PSSessionConfigurationFile</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>New-PSSessionConfigurationOption</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Register-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Set-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Test-PSSessionConfigurationFile</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Unregister-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>WSMan Provider</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Session_Configurations</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Session_Configuration_Files</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>Disconnect-PSSession</command:name><maml:description><maml:para>Disconnects from a session.</maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>Disconnect</command:verb><command:noun>PSSession</command:noun><dev:version /></command:details><maml:description><maml:para>The Disconnect-PSSession cmdlet disconnects a Windows PowerShell session ("PSSession"), such as one started by using the New-PSSession cmdlet, from the current session. As a result, the PSSession is in a disconnected state. You can connect to the disconnected PSSession from the current session or from another session on the local computer or a different computer.</maml:para><maml:para>The Disconnect-PSSession cmdlet disconnects only open PSSessions that are connected to the current session. Disconnect-PSSession cannot disconnect broken or closed PSSessions, or interactive PSSessions started by using the Enter-PSSession cmdlet, and it cannot disconnect PSSessions that are connected to other sessions.</maml:para><maml:para>To reconnect to a disconnected PSSession, use the Connect-PSSession or Receive-PSSession cmdlets.</maml:para><maml:para>When a PSSession is disconnected, the commands in the PSSession continue to run until they complete, unless the PSSession times out or the commands in the PSSession are blocked by a full output buffer. To change the idle timeout, use the IdleTimeoutSec parameter. To change the output buffering mode, use the OutputBufferingMode parameter You can also use the InDisconnectedSession parameter of the Invoke-Command cmdlet to run a command in a disconnected session.</maml:para><maml:para>For more information about the Disconnected Sessions feature, see about_Remote_Disconnected_Sessions.</maml:para><maml:para>This cmdlet is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>Disconnect-PSSession</maml:name><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases=""><maml:name>Session</maml:name><maml:description><maml:para>Disconnects from the specified PSSessions. Enter PSSession objects, such as those that the New-PSSession cmdlet returns. You can also pipe a PSSession object to Disconnect-PSSession.</maml:para><maml:para>The Get-PSSession cmdlet can get all PSSessions that terminate at a remote computer, including PSSessions that are disconnected and PSSessions that are connected to other sessions on other computers. Disconnect-PSSession disconnects only PSSession that are connected to the current session. If you pipe other PSSessions to Disconnect-PSSession, the Disconnect-PSSession command fails.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">PSSession[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>IdleTimeoutSec</maml:name><maml:description><maml:para>Changes the idle timeout value of the disconnected PSSession. Enter a value in seconds. The minimum value is 60 (1 minute).</maml:para><maml:para>The idle timeout determines how long the disconnected PSSession is maintained on the remote computer. When the timeout expires, the PSSession is deleted.</maml:para><maml:para>Disconnected PSSessions are considered to be idle from the moment that they are disconnected, even if commands are running in the disconnected session. </maml:para><maml:para>The default value for the idle timeout of a session is set by the value of the IdleTimeoutMs property of the session configuration. The default value is 7200000 milliseconds (2 hours).</maml:para><maml:para>The value of this parameter takes precedence over the value of the IdleTimeout property of the $PSSessionOption preference variable and the default idle timeout value in the session configuration. However, this value cannot exceed the value of the MaxIdleTimeoutMs property of the session configuration. The default value of MaxIdleTimeoutMs is 12 hours (43200000 milliseconds).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>OutputBufferingMode</maml:name><maml:description><maml:para>Determines how command output is managed in the disconnected session when the output buffer is full. The default value is Block.</maml:para><maml:para>If the command in the disconnected session is returning output and the output buffer fills, the value of this parameter effectively determines whether the command continues to run while the session is disconnected. A value of Block suspends the command until the session is reconnected. A value of Drop allows the command to complete, although data might be lost. When using the Drop value, redirect the command output to a file on disk.</maml:para><maml:para>Valid values are:</maml:para><maml:para>-- Block: When the output buffer is full, execution is suspended until the buffer is clear.
-- Drop: When the output buffer is full, execution continues. As new output is saved, the oldest output is discarded.
-- None: No output buffering mode is specified. The value of the OutputBufferingMode property of the session configuration is used for the disconnected session.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">OutputBufferingMode</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ThrottleLimit</maml:name><maml:description><maml:para>Sets the throttle limit for the Disconnect-PSSession command.</maml:para><maml:para>The throttle limit is the maximum number of concurrent connections that can be established to run this command. If you omit this parameter or enter a value of 0, the default value, 32, is used.</maml:para><maml:para>The throttle limit applies only to the current command, not to the session or to the computer.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Disconnect-PSSession</maml:name><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>Id</maml:name><maml:description><maml:para>Disconnects from sessions with the specified session ID. Type one or more IDs (separated by commas), or use the range operator (..) to specify a range of IDs.</maml:para><maml:para>To get the ID of a session, use the Get-PSSession cmdlet. The instance ID is stored in the ID property of the session.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Int32[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>IdleTimeoutSec</maml:name><maml:description><maml:para>Changes the idle timeout value of the disconnected PSSession. Enter a value in seconds. The minimum value is 60 (1 minute).</maml:para><maml:para>The idle timeout determines how long the disconnected PSSession is maintained on the remote computer. When the timeout expires, the PSSession is deleted.</maml:para><maml:para>Disconnected PSSessions are considered to be idle from the moment that they are disconnected, even if commands are running in the disconnected session. </maml:para><maml:para>The default value for the idle timeout of a session is set by the value of the IdleTimeoutMs property of the session configuration. The default value is 7200000 milliseconds (2 hours).</maml:para><maml:para>The value of this parameter takes precedence over the value of the IdleTimeout property of the $PSSessionOption preference variable and the default idle timeout value in the session configuration. However, this value cannot exceed the value of the MaxIdleTimeoutMs property of the session configuration. The default value of MaxIdleTimeoutMs is 12 hours (43200000 milliseconds).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>OutputBufferingMode</maml:name><maml:description><maml:para>Determines how command output is managed in the disconnected session when the output buffer is full. The default value is Block.</maml:para><maml:para>If the command in the disconnected session is returning output and the output buffer fills, the value of this parameter effectively determines whether the command continues to run while the session is disconnected. A value of Block suspends the command until the session is reconnected. A value of Drop allows the command to complete, although data might be lost. When using the Drop value, redirect the command output to a file on disk.</maml:para><maml:para>Valid values are:</maml:para><maml:para>-- Block: When the output buffer is full, execution is suspended until the buffer is clear.
-- Drop: When the output buffer is full, execution continues. As new output is saved, the oldest output is discarded.
-- None: No output buffering mode is specified. The value of the OutputBufferingMode property of the session configuration is used for the disconnected session.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">OutputBufferingMode</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ThrottleLimit</maml:name><maml:description><maml:para>Sets the throttle limit for the Disconnect-PSSession command.</maml:para><maml:para>The throttle limit is the maximum number of concurrent connections that can be established to run this command. If you omit this parameter or enter a value of 0, the default value, 32, is used.</maml:para><maml:para>The throttle limit applies only to the current command, not to the session or to the computer.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Disconnect-PSSession</maml:name><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>IdleTimeoutSec</maml:name><maml:description><maml:para>Changes the idle timeout value of the disconnected PSSession. Enter a value in seconds. The minimum value is 60 (1 minute).</maml:para><maml:para>The idle timeout determines how long the disconnected PSSession is maintained on the remote computer. When the timeout expires, the PSSession is deleted.</maml:para><maml:para>Disconnected PSSessions are considered to be idle from the moment that they are disconnected, even if commands are running in the disconnected session. </maml:para><maml:para>The default value for the idle timeout of a session is set by the value of the IdleTimeoutMs property of the session configuration. The default value is 7200000 milliseconds (2 hours).</maml:para><maml:para>The value of this parameter takes precedence over the value of the IdleTimeout property of the $PSSessionOption preference variable and the default idle timeout value in the session configuration. However, this value cannot exceed the value of the MaxIdleTimeoutMs property of the session configuration. The default value of MaxIdleTimeoutMs is 12 hours (43200000 milliseconds).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>OutputBufferingMode</maml:name><maml:description><maml:para>Determines how command output is managed in the disconnected session when the output buffer is full. The default value is Block.</maml:para><maml:para>If the command in the disconnected session is returning output and the output buffer fills, the value of this parameter effectively determines whether the command continues to run while the session is disconnected. A value of Block suspends the command until the session is reconnected. A value of Drop allows the command to complete, although data might be lost. When using the Drop value, redirect the command output to a file on disk.</maml:para><maml:para>Valid values are:</maml:para><maml:para>-- Block: When the output buffer is full, execution is suspended until the buffer is clear.
-- Drop: When the output buffer is full, execution continues. As new output is saved, the oldest output is discarded.
-- None: No output buffering mode is specified. The value of the OutputBufferingMode property of the session configuration is used for the disconnected session.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">OutputBufferingMode</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ThrottleLimit</maml:name><maml:description><maml:para>Sets the throttle limit for the Disconnect-PSSession command.</maml:para><maml:para>The throttle limit is the maximum number of concurrent connections that can be established to run this command. If you omit this parameter or enter a value of 0, the default value, 32, is used.</maml:para><maml:para>The throttle limit applies only to the current command, not to the session or to the computer.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Disconnects from sessions with the specified friendly names. Wildcards are permitted.</maml:para><maml:para>To get the friendly name of a session, use the Get-PSSession cmdlet. The friendly name is stored in the Name property of the session.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Disconnect-PSSession</maml:name><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>IdleTimeoutSec</maml:name><maml:description><maml:para>Changes the idle timeout value of the disconnected PSSession. Enter a value in seconds. The minimum value is 60 (1 minute).</maml:para><maml:para>The idle timeout determines how long the disconnected PSSession is maintained on the remote computer. When the timeout expires, the PSSession is deleted.</maml:para><maml:para>Disconnected PSSessions are considered to be idle from the moment that they are disconnected, even if commands are running in the disconnected session. </maml:para><maml:para>The default value for the idle timeout of a session is set by the value of the IdleTimeoutMs property of the session configuration. The default value is 7200000 milliseconds (2 hours).</maml:para><maml:para>The value of this parameter takes precedence over the value of the IdleTimeout property of the $PSSessionOption preference variable and the default idle timeout value in the session configuration. However, this value cannot exceed the value of the MaxIdleTimeoutMs property of the session configuration. The default value of MaxIdleTimeoutMs is 12 hours (43200000 milliseconds).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>OutputBufferingMode</maml:name><maml:description><maml:para>Determines how command output is managed in the disconnected session when the output buffer is full. The default value is Block.</maml:para><maml:para>If the command in the disconnected session is returning output and the output buffer fills, the value of this parameter effectively determines whether the command continues to run while the session is disconnected. A value of Block suspends the command until the session is reconnected. A value of Drop allows the command to complete, although data might be lost. When using the Drop value, redirect the command output to a file on disk.</maml:para><maml:para>Valid values are:</maml:para><maml:para>-- Block: When the output buffer is full, execution is suspended until the buffer is clear.
-- Drop: When the output buffer is full, execution continues. As new output is saved, the oldest output is discarded.
-- None: No output buffering mode is specified. The value of the OutputBufferingMode property of the session configuration is used for the disconnected session.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">OutputBufferingMode</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ThrottleLimit</maml:name><maml:description><maml:para>Sets the throttle limit for the Disconnect-PSSession command.</maml:para><maml:para>The throttle limit is the maximum number of concurrent connections that can be established to run this command. If you omit this parameter or enter a value of 0, the default value, 32, is used.</maml:para><maml:para>The throttle limit applies only to the current command, not to the session or to the computer.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>InstanceId</maml:name><maml:description><maml:para>Disconnects from sessions with the specified instance IDs.</maml:para><maml:para>The instance ID is a GUID that uniquely identifies a session on a local or remote computer. The instance ID is unique, even across multiple sessions on multiple computers.</maml:para><maml:para>To get the instance ID of a session, use the Get-PSSession cmdlet. The instance ID is stored in the InstanceID property of the session.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Guid[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>Id</maml:name><maml:description><maml:para>Disconnects from sessions with the specified session ID. Type one or more IDs (separated by commas), or use the range operator (..) to specify a range of IDs.</maml:para><maml:para>To get the ID of a session, use the Get-PSSession cmdlet. The instance ID is stored in the ID property of the session.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Int32[]</command:parameterValue><dev:type><maml:name>Int32[]</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>IdleTimeoutSec</maml:name><maml:description><maml:para>Changes the idle timeout value of the disconnected PSSession. Enter a value in seconds. The minimum value is 60 (1 minute).</maml:para><maml:para>The idle timeout determines how long the disconnected PSSession is maintained on the remote computer. When the timeout expires, the PSSession is deleted.</maml:para><maml:para>Disconnected PSSessions are considered to be idle from the moment that they are disconnected, even if commands are running in the disconnected session. </maml:para><maml:para>The default value for the idle timeout of a session is set by the value of the IdleTimeoutMs property of the session configuration. The default value is 7200000 milliseconds (2 hours).</maml:para><maml:para>The value of this parameter takes precedence over the value of the IdleTimeout property of the $PSSessionOption preference variable and the default idle timeout value in the session configuration. However, this value cannot exceed the value of the MaxIdleTimeoutMs property of the session configuration. The default value of MaxIdleTimeoutMs is 12 hours (43200000 milliseconds).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue><dev:type><maml:name>Int32</maml:name><maml:uri /></dev:type><dev:defaultValue>60</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>InstanceId</maml:name><maml:description><maml:para>Disconnects from sessions with the specified instance IDs.</maml:para><maml:para>The instance ID is a GUID that uniquely identifies a session on a local or remote computer. The instance ID is unique, even across multiple sessions on multiple computers.</maml:para><maml:para>To get the instance ID of a session, use the Get-PSSession cmdlet. The instance ID is stored in the InstanceID property of the session.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Guid[]</command:parameterValue><dev:type><maml:name>Guid[]</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Disconnects from sessions with the specified friendly names. Wildcards are permitted.</maml:para><maml:para>To get the friendly name of a session, use the Get-PSSession cmdlet. The friendly name is stored in the Name property of the session.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases=""><maml:name>Session</maml:name><maml:description><maml:para>Disconnects from the specified PSSessions. Enter PSSession objects, such as those that the New-PSSession cmdlet returns. You can also pipe a PSSession object to Disconnect-PSSession.</maml:para><maml:para>The Get-PSSession cmdlet can get all PSSessions that terminate at a remote computer, including PSSessions that are disconnected and PSSessions that are connected to other sessions on other computers. Disconnect-PSSession disconnects only PSSession that are connected to the current session. If you pipe other PSSessions to Disconnect-PSSession, the Disconnect-PSSession command fails.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">PSSession[]</command:parameterValue><dev:type><maml:name>PSSession[]</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ThrottleLimit</maml:name><maml:description><maml:para>Sets the throttle limit for the Disconnect-PSSession command.</maml:para><maml:para>The throttle limit is the maximum number of concurrent connections that can be established to run this command. If you omit this parameter or enter a value of 0, the default value, 32, is used.</maml:para><maml:para>The throttle limit applies only to the current command, not to the session or to the computer.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue><dev:type><maml:name>Int32</maml:name><maml:uri /></dev:type><dev:defaultValue>32</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>OutputBufferingMode</maml:name><maml:description><maml:para>Determines how command output is managed in the disconnected session when the output buffer is full. The default value is Block.</maml:para><maml:para>If the command in the disconnected session is returning output and the output buffer fills, the value of this parameter effectively determines whether the command continues to run while the session is disconnected. A value of Block suspends the command until the session is reconnected. A value of Drop allows the command to complete, although data might be lost. When using the Drop value, redirect the command output to a file on disk.</maml:para><maml:para>Valid values are:</maml:para><maml:para>-- Block: When the output buffer is full, execution is suspended until the buffer is clear.
-- Drop: When the output buffer is full, execution continues. As new output is saved, the oldest output is discarded.
-- None: No output buffering mode is specified. The value of the OutputBufferingMode property of the session configuration is used for the disconnected session.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">OutputBufferingMode</command:parameterValue><dev:type><maml:name>OutputBufferingMode</maml:name><maml:uri /></dev:type><dev:defaultValue>Block</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>false</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>false</dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name>System.Management.Automation.Runspaces.PSSession</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You can pipe a session to Disconnect-PSSession.</maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name>System.Management.Automation.Runspaces.PSSession</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>Disconnect-PSSession returns an object that represents the session that it disconnected.</maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><maml:alertSet><maml:title /><maml:alert><maml:para>The Disconnect-PSSession cmdlet works only when the local and remote computers are running Windows PowerShell 3.0 or later versions of Windows PowerShell.</maml:para></maml:alert><maml:alert><maml:para>If you use the Disconnect-PSSession cmdlet on a disconnected session, the command has no effect on the session and it does not generate errors.</maml:para></maml:alert><maml:alert><maml:para>Disconnected loopback sessions with interactive security tokens (those created with the EnableNetworkAccess parameter) can be reconnected only from the computer on which the session was created. This restriction protects the computer from malicious access.</maml:para></maml:alert><maml:alert><maml:para>When you disconnect a PSSession, the session state is Disconnected and the availability is None. </maml:para><maml:para>The value of the State property is relative to the current session. Therefore, a value of Disconnected means that the PSSession is not connected to the current session. However, it does not mean that the PSSession is disconnected from all sessions. It might be connected to a different session. To determine whether you can connect or reconnect to the session, use the Availability property.</maml:para><maml:para>An Availability value of None indicates that you can connect to the session. A value of Busy indicates that you cannot connect to the PSSession because it is connected to another session.</maml:para><maml:para>For more information about the values of the State property of sessions, see "RunspaceState Enumeration" in MSDN at <maml:navigationLink><maml:linkText>http://msdn.microsoft.com/en-us/library/windows/desktop/system.management.automation.runspaces.runspacestate(v=VS.85).aspx</maml:linkText><maml:uri></maml:uri></maml:navigationLink>.</maml:para><maml:para>For more information about the values of the Availability property of sessions, see RunspaceAvailability Enumeration at <maml:navigationLink><maml:linkText>http://msdn.microsoft.com/en-us/library/windows/desktop/system.management.automation.runspaces.runspaceavailability(v=vs.85).aspx</maml:linkText><maml:uri></maml:uri></maml:navigationLink>.</maml:para></maml:alert></maml:alertSet><command:examples><command:example><maml:title>Example 1</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Disconnect-PSSession -Name UpdateSession
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
1 UpdateSession Server01 Disconnected Microsoft.PowerShell None
</dev:code><dev:remarks><maml:para>This command disconnects the UpdateSession PSSession on the Server01 computer from the current session. The command uses the Name parameter to identify the PSSession.</maml:para><maml:para>The output shows that the attempt to disconnect was successful. The session state is Disconnected and the Availability is None, which indicates that the session is not busy and can be reconnected.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>Example 2</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-PSSession -ComputerName Server12 -Name ITTask | Disconnect-PSSession -OutputBufferingMode Drop -IdleTimeoutSec 86400
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
1 ITTask Server12 Disconnected ITTasks None
</dev:code><dev:remarks><maml:para>This command disconnects the ITTask PSSession on the Server12 computer from the current session. The ITTask session was created in the current session and connects to the Server12 computer. The command uses the Get-PSSession cmdlet to get the session and the Disconnect-PSSession cmdlet to disconnect it. </maml:para><maml:para>The Disconnect-PSSession command uses the OutputBufferingMode parameter to set the output mode to Drop. This setting ensures that the script that is running in the session can continue to run even if the session output buffer is full. Because the script writes its output to a report on a file share, other output can be lost without consequence. </maml:para><maml:para>The command also uses the IdleTimeoutSec parameter to extend the idle timeout of the session to 24 hours. This setting allows time for this administrator or other administrators to reconnect to the session to verify that the script ran and troubleshoot if needed.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>Example 3</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>The technician begins by creating sessions on several remote computers and running a script in each session.The first command uses the New-PSSession cmdlet to create the ITTask session on three remote computers. The command saves the sessions in the $s variable. The second command uses the FilePath parameter of the Invoke-Command cmdlet to run a script in the sessions in the $s variable.
PS C:\&gt;$s = New-PSSession -ComputerName Srv1, Srv2, Srv30 -Name ITTask
 
PS C:\&gt;Invoke-Command $s -FilePath \\Server01\Scripts\Get-PatchStatus.ps1
 
The script running on the Srv1 computer generates unexpected errors. The technician contacts his manager and asks for assistance. The manager directs the technician to disconnect from the session so he can investigate.The second command uses the Get-PSSession cmdlet to get the ITTask session on the Srv1 computer and the Disconnect-PSSession cmdlet to disconnect it. This command does not affect the ITTask sessions on the other computers.
PS C:\&gt;Get-PSSession -Name ITTask -ComputerName Srv1 | Disconnect-PSSession
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
1 ITTask Srv1 Disconnected Microsoft.PowerShell None
 
The third command uses the Get-PSSession cmdlet to get the ITTask sessions. The output shows that the ITTask sessions on the Srv2 and Srv30 computers were not affected by the command to disconnect.
PS C:\&gt;Get-PSSession -ComputerName Srv1, Srv2, Srv30 -Name ITTask
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
 1 ITTask Srv1 Disconnected Microsoft.PowerShell None
 2 ITTask Srv2 Opened Microsoft.PowerShell Available
 3 ITTask Srv30 Opened Microsoft.PowerShell Available
 
The manager logs on to his home computer, connects to his corporate network, starts Windows PowerShell, and uses the Get-PSSession cmdlet to get the ITTask session on the Srv1 computer. He uses the credentials of the technician to access the session.
PS C:\&gt;Get-PSSession -ComputerName Srv1 -Name ITTask -Credential Domain01\User01
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
 1 ITTask Srv1 Disconnected Microsoft.PowerShell None
 
Next, the manager uses the Connect-PSSession cmdlet to connect to the ITTask session on the Srv1 computer. The command saves the session in the $s variable.
PS C:\&gt;$s = Connect-PSSession -ComputerName Srv1 -Name ITTask -Credential Domain01\User01
 
The manager uses the Invoke-Command cmdlet to run some diagnostic commands in the session in the $s variable. He recognizes that the script failed because it did not find a required directory. The manager uses the MkDir function to create the directory, and then he restarts the Get-PatchStatus.ps1 script and disconnects from the session.The manager reports his findings to the technician, suggests that he reconnect to the session to complete the tasks, and asks him to add a command to the Get-PatchStatus.ps1 script that creates the required directory if it does not exist.
PS C:\&gt;Invoke-Command -Session $s {dir $home\Scripts\PatchStatusOutput.ps1}
 
PS C:\&gt;Invoke-Command -Session $s {mkdir $home\Scripts\PatchStatusOutput}
 
PS C:\&gt;Invoke-Command -Session $s -FilePath \\Server01\Scripts\Get-PatchStatus.ps1
 
PS C:\&gt;Disconnect-PSSession -Session $s
</dev:code><dev:remarks><maml:para>This series of commands shows how the Disconnect-PSSession cmdlet might be used in an enterprise scenario. In this case, a new technician starts a script in a session on a remote computer and runs into a problem. The technician disconnects from the session so that a more experienced manager can connect to the session and resolve the problem.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>Example 4</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>The first command uses the New-PSSessionOption cmdlet to create a session option object. It uses the IdleTimeout parameter to set an idle timeout of 48 hours (172800000 milliseconds). The command saves the session option object in the $Timeout variable.
PS C:\&gt;$Timeout = New-PSSessionOption -IdleTimeout 172800000
 
The second command uses the New-PSSession cmdlet to create the ITTask session on the Server01 computer. The command save the session in the $s variable. The value of the SessionOption parameter is the 48-hour idle timeout in the $Timeout variable.
PS C:\&gt;$s = New-PSSession -Computer Server01 -Name ITTask -SessionOption $Timeout
 
The third command disconnects the ITTask session in the $s variable. The command fails because the idle timeout value of the session exceeds the MaxIdleTimeoutMs quota in the session configuration. Because the idle timeout is not used until the session is disconnected, this violation can go undetected while the session is in use.
PS C:\&gt;Disconnect-PSSession -Session $s
Disconnect-PSSession : The session ITTask cannot be disconnected because the specified
idle timeout value 172800(seconds) is either greater than the server maximum allowed
43200 (seconds) or less that the minimum allowed60(seconds). Choose an idle time out
value that is within the allowed range and try again.
 
The fourth command uses the Invoke-Command cmdlet to run a Get-PSSessionConfiguration command for the Microsoft.PowerShell session configuration on the Server01 computer. The command uses the Format-List cmdlet to display all properties of the session configuration in a list.The output shows that the MaxIdleTimeoutMS property, which establishes the maximum permitted IdleTimeout value for sessions that use the session configuration, is 43200000 milliseconds (12 hours).
PS C:\&gt;Invoke-Command -ComputerName Server01 {Get-PSSessionConfiguration Microsoft.PowerShell} | Format-List -Property *
Architecture : 64
Filename : %windir%\system32\pwrshplugin.dll
ResourceUri : http://schemas.microsoft.com/powershell/microsoft.powershell
MaxConcurrentCommandsPerShell : 1000
UseSharedProcess : false
ProcessIdleTimeoutSec : 0
xmlns : http://schemas.microsoft.com/wbem/wsman/1/config/PluginConfiguration
MaxConcurrentUsers : 5
lang : en-US
SupportsOptions : true
ExactMatch : true
RunAsUser :
IdleTimeoutms : 7200000
PSVersion : 3.0
OutputBufferingMode : Block
AutoRestart : false
SecurityDescriptorSddl : O:NSG:BAD:P(A;;GA;;;BA)S:P(AU;FA;GA;;;WD)(AU;SA;GXGW;;;WD)
MaxMemoryPerShellMB : 1024
MaxIdleTimeoutms : 2147483647
Uri : http://schemas.microsoft.com/powershell/microsoft.powershell
SDKVersion : 2
Name : microsoft.powershell
XmlRenderingType : text
Capability : {Shell}
RunAsPassword :
MaxProcessesPerShell : 15
ParentResourceUri : http://schemas.microsoft.com/powershell/microsoft.powershell
Enabled : true
MaxShells : 25
MaxShellsPerUser : 25
Permission : BUILTIN\Administrators AccessAllowed
PSComputerName : localhost
RunspaceId : aea84310-6dbf-4c21-90ac-13980039925a
PSShowComputerName : True
 
 
The fifth command gets the session option values of the session in the $s variable. The values of many session options are properties of the ConnectionInfo property of the Runspace property of the session.The output shows that the value of the IdleTimeout property of the session is 172800000 milliseconds (48 hours), which violates the MaxIdleTimeoutMs quota of 12 hours in the session configuration.To resolve this conflict, you can use the ConfigurationName parameter to select a different session configuration or use the IdleTimeout parameter to reduce the idle timeout of the session.
PS C:\&gt;$s.Runspace.ConnectionInfo
ConnectionUri : http://Server01/wsman
ComputerName : Server01
Scheme : http
Port : 80
AppName : /wsman
Credential :
ShellUri : http://schemas.microsoft.com/powershell/Microsoft.PowerShell
AuthenticationMechanism : Default
CertificateThumbprint :
MaximumConnectionRedirectionCount : 5
MaximumReceivedDataSizePerCommand :
MaximumReceivedObjectSize : 209715200
UseCompression : True
NoMachineProfile : False
ProxyAccessType : None
ProxyAuthentication : Negotiate
ProxyCredential :
SkipCACheck : False
SkipCNCheck : False
SkipRevocationCheck : False
NoEncryption : False
UseUTF16 : False
OutputBufferingMode : Drop
IncludePortInSPN : False
Culture : en-US
UICulture : en-US
OpenTimeout : 180000
CancelTimeout : 60000
OperationTimeout : 180000
IdleTimeout : 172800000
 
The sixth command disconnects the session. It uses the IdleTimeoutSec parameter to set the idle timeout to the 12-hour maximum.
PS C:\&gt;Disconnect-PSSession $s -IdleTimeoutSec 43200
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
 4 ITTask Server01 Disconnected Microsoft.PowerShell None
 
The seventh command gets the value of the IdleTimeout property of the disconnected session, which is measured in milliseconds. The output confirms that the command was successful.
PS C:\&gt;$s.Runspace.ConnectionInfo.IdleTimeout
43200000
</dev:code><dev:remarks><maml:para>This example shows how to correct the value of the IdleTimeout property of a session so that it can be disconnected.</maml:para><maml:para>The idle timeout property of a session is critical to disconnected sessions, because it determines how long a disconnected session is maintained before it is deleted. You can set the idle timeout option when you create a session and when you disconnect it. The default values for the idle timeout of a session are set in the $PSSessionOption preference variable on the local computer and in the session configuration on the remote computer. Values set for the session take precedence over values set in the session configuration, but session values cannot exceed quotas set in the session configuration, such as the MaxIdleTimeoutMs value.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=289575</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Connect-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Enter-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Exit-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Get-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Get-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>New-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>New-PSSessionOption</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>New-PSTransportOption</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Receive-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Register-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Remove-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_PSSessions</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Remote</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Remote_Disconnected_Sessions</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>Enable-PSRemoting</command:name><maml:description><maml:para>Configures the computer to receive remote commands.</maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>Enable</command:verb><command:noun>PSRemoting</command:noun><dev:version /></command:details><maml:description><maml:para>The Enable-PSRemoting cmdlet configures the computer to receive Windows PowerShell remote commands that are sent by using the WS-Management technology.</maml:para><maml:para>On Windows Server® 2012, Windows PowerShell remoting is enabled by default. You can use Enable-PSRemoting to enable Windows PowerShell remoting on other supported versions of Windows and to re-enable remoting on Windows Server 2012 if it becomes disabled.</maml:para><maml:para>You need to run this command only once on each computer that will receive commands. You do not need to run it on computers that only send commands. Because the configuration activates listeners, it is prudent to run it only where it is needed.</maml:para><maml:para>Beginning in Windows PowerShell 3.0, the Enable-PSRemoting cmdlet can enable Windows PowerShell remoting on client versions of Windows when the computer is on a public network. For more information, see the description of the SkipNetworkProfileCheck parameter.</maml:para><maml:para>The Enable-PSRemoting cmdlet performs the following operations:</maml:para><maml:para>-- Runs the <maml:navigationLink><maml:linkText>Set-WSManQuickConfig</maml:linkText><maml:uri></maml:uri></maml:navigationLink> cmdlet, which performs the following tasks:</maml:para><maml:para>----- Starts the WinRM service.</maml:para><maml:para>----- Sets the startup type on the WinRM service to Automatic.</maml:para><maml:para>----- Creates a listener to accept requests on any IP address.</maml:para><maml:para>----- Enables a firewall exception for WS-Management communications.</maml:para><maml:para>----- Registers the Microsoft.PowerShell and Microsoft.PowerShell.Workflow session configurations, if it they are not already registered.</maml:para><maml:para>----- Registers the Microsoft.PowerShell32 session configuration on 64-bit computers, if it is not already registered.</maml:para><maml:para>----- Enables all session configurations.</maml:para><maml:para>----- Changes the security descriptor of all session configurations to allow remote access.</maml:para><maml:para>----- Restarts the WinRM service to make the preceding changes effective.</maml:para><maml:para>To run this cmdlet, start Windows PowerShell with the "Run as administrator" option.</maml:para><maml:para>CAUTION: On systems that have both Windows PowerShell 3.0 and the Windows PowerShell 2.0 engine, do not use Windows PowerShell 2.0 to run the Enable-PSRemoting and Disable-PSRemoting cmdlets. The commands might appear to succeed, but the remoting is not configured correctly. Remote commands, and later attempts to enable and disable remoting, are likely to fail.</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>Enable-PSRemoting</maml:name><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Force</maml:name><maml:description><maml:para>Suppresses all user prompts. By default, you are prompted to confirm each operation.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SkipNetworkProfileCheck</maml:name><maml:description><maml:para>Enables remoting on client versions of Windows when the computer is on a public network. This parameter enables a firewall rule for public networks that allows remote access only from computers in the same local subnet.</maml:para><maml:para>This parameter has no effect on server versions of Windows, which, by default, have a local subnet firewall rule for public networks. If the local subnet firewall rule is disabled on a server version of Windows, Enable-PSRemoting re-enables it, regardless of the value of this parameter.</maml:para><maml:para>To remove the local subnet restriction and enable remote access from all locations on public networks, use the Set-NetFirewallRule cmdlet in the NetSecurity module. For more information, see Notes and Examples.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Force</maml:name><maml:description><maml:para>Suppresses all user prompts. By default, you are prompted to confirm each operation.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SkipNetworkProfileCheck</maml:name><maml:description><maml:para>Enables remoting on client versions of Windows when the computer is on a public network. This parameter enables a firewall rule for public networks that allows remote access only from computers in the same local subnet.</maml:para><maml:para>This parameter has no effect on server versions of Windows, which, by default, have a local subnet firewall rule for public networks. If the local subnet firewall rule is disabled on a server version of Windows, Enable-PSRemoting re-enables it, regardless of the value of this parameter.</maml:para><maml:para>To remove the local subnet restriction and enable remote access from all locations on public networks, use the Set-NetFirewallRule cmdlet in the NetSecurity module. For more information, see Notes and Examples.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>false</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>false</dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name>None</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You cannot pipe input to this cmdlet.</maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name>System.String</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>Enable-PSRemoting returns strings that describe its results.</maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><maml:alertSet><maml:title /><maml:alert><maml:para>In Windows PowerShell 3.0, Enable-PSRemoting creates the following firewall exceptions for WS-Management communications.</maml:para><maml:para>On server versions of Windows, Enable-PSRemoting creates firewall rules for private and domain networks that allow remote access, and creates a firewall rule for public networks that allows remote access only from computers in the same local subnet.</maml:para><maml:para> On client versions of Windows, Enable-PSRemoting in Windows PowerShell 3.0 creates firewall rules for private and domain networks that allow unrestricted remote access. To create a firewall rule for public networks that allows remote access from the same local subnet, use the SkipNetworkProfileCheck parameter.</maml:para><maml:para>On client or server versions of Windows, to create a firewall rule for public networks that removes the local subnet restriction and allows remote access , use the Set-NetFirewallRule cmdlet in the NetSecurity module to run the following command: Set-NetFirewallRule –Name "WINRM-HTTP-In-TCP-PUBLIC" –RemoteAddress Any</maml:para></maml:alert><maml:alert><maml:para>In Windows PowerShell 2.0, Enable-PSRemoting creates the following firewall exceptions for WS-Management communications. </maml:para><maml:para>On server versions of Windows, it creates firewall rules for all networks that allow remote access.</maml:para><maml:para> On client versions of Windows, Enable-PSRemoting in Windows PowerShell 2.0 creates a firewall exception only for domain and private network locations. To minimize security risks, Enable-PSRemoting does not create a firewall rule for public networks on client versions of Windows. When the current network location is public, Enable-PSRemoting returns the following message: "Unable to check the status of the firewall."</maml:para></maml:alert><maml:alert><maml:para>Beginning in Windows PowerShell 3.0, Enable-PSRemoting enables all session configurations by setting the value of the Enabled property of all session configurations (WSMan:\&lt;ComputerName&gt;\Plugin\&lt;SessionConfigurationName&gt;\Enabled) to True ($true).</maml:para></maml:alert><maml:alert><maml:para>In Windows PowerShell 2.0, Enable-PSRemoting removes the Deny_All setting from the security descriptor of session configurations. In Windows PowerShell 3.0, Enable-PSRemoting removes the Deny_All and Network_Deny_All settings, thereby providing remote access to session configurations that were reserved for local use.</maml:para></maml:alert></maml:alertSet><command:examples><command:example><maml:title>
  
-------------------------- EXAMPLE 1 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Enable-PSRemoting
</dev:code><dev:remarks><maml:para>This command configures the computer to receive remote commands.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 2 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Enable-PSRemoting -Force
</dev:code><dev:remarks><maml:para>This command configures the computer to receive remote commands. It uses the Force parameter to suppress the user prompts.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>Example 3</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Enable-PSRemoting -SkipNetworkProfileCheck -Force
 
PS C:\&gt;Set-NetFirewallRule –Name "WINRM-HTTP-In-TCP-PUBLIC" –RemoteAddress Any
 
</dev:code><dev:remarks><maml:para>This example shows how to allow remote access from public networks on client versions of Windows. Before using these commands, analyze the security setting and verify that the computer network will be safe from harm.</maml:para><maml:para>The first command enables remoting in Windows PowerShell. By default, this creates network rules that allow remote access from private and domain networks. The command uses the SkipNetworkProfileCheck parameter to allow remote access from public networks in the same local subnet. The command uses the Force parameter to suppress confirmation messages.</maml:para><maml:para>The SkipNetworkProfileCheck parameter has no effect on server version of Windows, which allow remote access from public networks in the same local subnet by default.</maml:para><maml:para>The second command eliminates the subnet restriction. The command uses the Set-NetFirewallRule cmdlet in the NetSecurity module to add a firewall rule that allows remote access from public networks from any remote location, including locations in different subnets.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=289576</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Disable-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Enable-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Get-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Register-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Set-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Disable-PSRemoting</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>WSMan Provider</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Remote</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Session_Configurations</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>Enable-PSSessionConfiguration</command:name><maml:description><maml:para>Enables the session configurations on the local computer.</maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>Enable</command:verb><command:noun>PSSessionConfiguration</command:noun><dev:version /></command:details><maml:description><maml:para>The Enable-PSSessionConfiguration cmdlet enables registered session configurations that have been disabled, such as by using the Disable-PSSessionConfiguration or Disable-PSRemoting cmdlets, or the AccessMode parameter of Register-PSSessionConfiguration. This is an advanced cmdlet that is designed to be used by system administrators to manage customized session configurations for their users.</maml:para><maml:para>Without parameters, Enable-PSSessionConfiguration enables the Microsoft.PowerShell configuration, which is the default configuration that is used for sessions.</maml:para><maml:para>Enable-PSSessionConfiguration removes the "Deny_All" setting from the security descriptor of the affected session configurations, turns on the listener that accepts requests on any IP address, and restarts the WinRM service. Beginning in Windows PowerShell 3.0, Enable-PSSessionConfiguration also sets the value of the Enabled property of the session configuration (WSMan:\&lt;computer&gt;\PlugIn\&lt;SessionConfigurationName&gt;\Enabled) to "True". However, Enable-PSSessionConfiguration does not remove or change the "Network_Deny_All" (AccessMode=Local) security descriptor setting that allows only users of the local computer to use to the session configuration.</maml:para><maml:para>The Enable-PSSessionConfiguration cmdlet calls the Set-WSManQuickConfig cmdlet. However, it should not be used to enable remoting on the computer. Instead, use the more comprehensive cmdlet, Enable-PSRemoting. </maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>Enable-PSSessionConfiguration</maml:name><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="true (ByValue, ByPropertyName)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Specifies the names of session configurations to enable. Enter one or more configuration names. Wildcards are permitted.</maml:para><maml:para>You can also pipe a string that contains a configuration name or a session configuration object to Enable-PSSessionConfiguration.</maml:para><maml:para>If you omit this parameter, Enable-PSSessionConfiguration enables the Microsoft.PowerShell session configuration.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Force</maml:name><maml:description><maml:para>Suppresses all user prompts, and restarts the WinRM service without prompting. Restarting the service makes the configuration change effective.</maml:para><maml:para>To prevent a restart and suppress the restart prompt, use the NoServiceRestart parameter.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SecurityDescriptorSddl</maml:name><maml:description><maml:para>Replaces the security descriptor on the session configuration with the specified security descriptor.</maml:para><maml:para>If you omit this parameter, Enable-PSSessionConfiguration just deletes the "deny all" item from the security descriptor.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SkipNetworkProfileCheck</maml:name><maml:description><maml:para>Enables the session configuration when the computer is on a public network. This parameter enables a firewall rule for public networks that allows remote access only from computers in the same local subnet. By default, Enable-PSSessionConfiguration fails on a public network.</maml:para><maml:para>This parameter is designed for client versions of Windows. Server versions of Windows have a local subnet firewall rule for public networks by default. However, if the local subnet firewall rule is disabled on a server version of Windows, this parameter re-enables it.</maml:para><maml:para>To remove the local subnet restriction and enable remote access from all locations on public networks, use the Set-NetFirewallRule cmdlet in the NetSecurity module. For more information, see Enable-PSRemoting.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Force</maml:name><maml:description><maml:para>Suppresses all user prompts, and restarts the WinRM service without prompting. Restarting the service makes the configuration change effective.</maml:para><maml:para>To prevent a restart and suppress the restart prompt, use the NoServiceRestart parameter.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="true (ByValue, ByPropertyName)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Specifies the names of session configurations to enable. Enter one or more configuration names. Wildcards are permitted.</maml:para><maml:para>You can also pipe a string that contains a configuration name or a session configuration object to Enable-PSSessionConfiguration.</maml:para><maml:para>If you omit this parameter, Enable-PSSessionConfiguration enables the Microsoft.PowerShell session configuration.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SecurityDescriptorSddl</maml:name><maml:description><maml:para>Replaces the security descriptor on the session configuration with the specified security descriptor.</maml:para><maml:para>If you omit this parameter, Enable-PSSessionConfiguration just deletes the "deny all" item from the security descriptor.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SkipNetworkProfileCheck</maml:name><maml:description><maml:para>Enables the session configuration when the computer is on a public network. This parameter enables a firewall rule for public networks that allows remote access only from computers in the same local subnet. By default, Enable-PSSessionConfiguration fails on a public network.</maml:para><maml:para>This parameter is designed for client versions of Windows. Server versions of Windows have a local subnet firewall rule for public networks by default. However, if the local subnet firewall rule is disabled on a server version of Windows, this parameter re-enables it.</maml:para><maml:para>To remove the local subnet restriction and enable remote access from all locations on public networks, use the Set-NetFirewallRule cmdlet in the NetSecurity module. For more information, see Enable-PSRemoting.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>false</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>false</dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name>Microsoft.PowerShell.Commands.PSSessionConfigurationCommands#PSSessionConfiguration, System.String</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You can pipe a session configuration object or a string that contains the name of a session configuration to Enable-PSSessionConfiguration.</maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name>None</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>This cmdlet does not return any objects.</maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><maml:alertSet><maml:title /><maml:alert><maml:para>To run this cmdlet on Windows Vista, Windows Server 2008, and later versions of Windows, you must start Windows PowerShell with the "Run as administrator" option.</maml:para></maml:alert><maml:alert><maml:para></maml:para></maml:alert></maml:alertSet><command:examples><command:example><maml:title>
  
-------------------------- EXAMPLE 1 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Enable-PSSessionConfiguration
</dev:code><dev:remarks><maml:para>This command re-enables the Microsoft.PowerShell default session configuration on the computer.</maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 2 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Enable-PSSessionConfiguration -name MaintenanceShell, AdminShell
</dev:code><dev:remarks><maml:para>This command re-enables the MaintenanceShell and AdminShell session configurations on the computer.</maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 3 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Enable-PSSessionConfiguration -name *
PS C:\&gt;Get-PSSessionConfiguration | Enable-PSSessionConfiguration
</dev:code><dev:remarks><maml:para>These commands re-enable all session configurations on the computer. The commands are equivalent, so you can use either one.</maml:para><maml:para>Enable-PSSessionConfiguration does not generate an error if you enable a session configuration that is already enabled.</maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 4 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Enable-PSSessionConfiguration -name MaintenanceShell -securityDescriptorSDDL "O:NSG:BAD:P(A;;GXGWGR;;;BA)(A;;GAGR;;;S-1-5-21-123456789-188441444-3100496)S:P"
</dev:code><dev:remarks><maml:para>This command re-enables the MaintenanceShell session configuration and specifies a new security descriptor for the configuration.</maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=289577</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Disable-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Enable-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Get-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>New-PSSessionConfigurationFile</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>New-PSSessionOption</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Register-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Set-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Test-PSSessionConfigurationFile</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Unregister-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>WSMan Provider</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Session_Configurations</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Session_Configuration_Files</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>Enter-PSHostProcess</command:name><maml:description><maml:para>Connects to and enters into an interactive session with a local process.</maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>Enter</command:verb><command:noun>PSHostProcess</command:noun><dev:version /></command:details><maml:description><maml:para>Enter-PSHostProcess connects to and enters into an interactive session with a local process.</maml:para><maml:para>Instead of creating a new process to host Windows PowerShell and run a remote session, the remote, interactive session is run in an existing process that is already running Windows PowerShell. When you are interacting with a remote session on a specified process, you can enumerate running runspaces, and then select a runspace to debug by running either Debug-Runspace or Enable-RunspaceDebug.</maml:para><maml:para>The process that you want to enter must be hosting Windows PowerShell (System.Management.Automation.dll). You must be either a member of the Administrators group on the computer on which the process is found, or you must be the user who is running the script that started the process.</maml:para><maml:para>After you have selected a runspace to debug, a remote debug session is opened for the runspace if it is either currently running a command or is stopped in the debugger. You can then debug the runspace script in the same way you would debug other remote session scripts. </maml:para><maml:para>Detach from a debugging session, and then the interactive session with the process, by running exit twice, or stop script execution by running the existing debugger quit command.</maml:para><maml:para>If you specify a process by using the Name parameter, and there is only one process found with the specified name, the process is entered. If more than one process with the specified name is found, Windows PowerShell returns an error, and lists all processes found with the specified name.</maml:para><maml:para>To support attaching to processes on remote computers, the Enter-PSHostProcess cmdlet is enabled in a specified remote computer, so that you can attach to a local process within a remote Windows PowerShell session.</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>Enter-PSHostProcess</maml:name><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1" aliases=""><maml:name>Id</maml:name><maml:description><maml:para>Specifies a process by the process ID. To get a process ID, run the Get-Process cmdlet.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Enter-PSHostProcess</maml:name><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Specifies a process by the process name. To get a process name, run the Get-Process cmdlet. You can also get process names from the Properties dialog box of a process in Task Manager.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Enter-PSHostProcess</maml:name><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="True (ByValue)" position="1" aliases=""><maml:name>Process</maml:name><maml:description><maml:para>Specifies a process by the process object. The simplest way to use this parameter is to save the results of a Get-Process command that returns process that you want to enter in a variable, and then specify the variable as the value of this parameter.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Process</command:parameterValue></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1" aliases=""><maml:name>Id</maml:name><maml:description><maml:para>Specifies a process by the process ID. To get a process ID, run the Get-Process cmdlet.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue><dev:type><maml:name>Int32</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Specifies a process by the process name. To get a process name, run the Get-Process cmdlet. You can also get process names from the Properties dialog box of a process in Task Manager.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="True (ByValue)" position="1" aliases=""><maml:name>Process</maml:name><maml:description><maml:para>Specifies a process by the process object. The simplest way to use this parameter is to save the results of a Get-Process command that returns process that you want to enter in a variable, and then specify the variable as the value of this parameter.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Process</command:parameterValue><dev:type><maml:name>Process</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name>System.Diagnostics.Process</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para></maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name></maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para></maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><maml:alertSet><maml:title /><maml:alert><maml:para>Enter-PSHostProcess cannot enter the process of the Windows PowerShell session in which you are running the command. You can, however, enter the process of another Windows PowerShell session, or a Windows PowerShell ISE session that is running at the same time as the session in which you are running Enter-PSHostProcess.</maml:para><maml:para>Enter-PSHostProcess can enter only those processes that are hosting Windows PowerShell; that is, they have loaded the Windows PowerShell engine.</maml:para><maml:para>To exit a process from within the process, type exit, and then press Enter.</maml:para></maml:alert></maml:alertSet><command:examples><command:example><maml:title>Example 1: Start debugging a runspace within the Windows PowerShell ISE process</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>In this example, you run Enter-PSHostProcess from within the Windows PowerShell console to enter the Windows PowerShell ISE process. In the resulting interactive session, you can find a runspace that you want to debug by running Get-Runspace, and then debug the runspace.
PS C:\&gt;Enter-PSHostProcess -Name powershell_ise
[Process:1520]: PS C:\Test\Documents&gt;
 
Next, get available runspaces within the process you have entered.
PS C:\&gt;[Process:1520]: PS C:\&gt; Get-Runspace
Id Name InstanceId State Availability
-- ------- ----------- ------ -------------
1 Runspace1 2d91211d-9cce-42f0-ab0e-71ac258b32b5 Opened Available
2 Runspace2 a3855043-cb16-424a-a616-685360c3763b Opened RemoteDebug
3 MyLocalRS 2236dbd8-2105-4dec-a15a-a27d0bfaacb5 Opened LocalDebug
4 MyRunspace 771356e9-8c44-4b70-9de5-dd17cb41e48e Opened Busy
5 Runspace8 3e517382-a97a-49ba-9c3c-fd21f6664288 Broken None
 
The runspace objects returned by Get-Runspace also have a NoteProperty called ScriptStackTrace of the running command stack, if available.Next, debug runspace ID 4, that is running another user’s long-running script. From the list returned from Get-Runspace, note that the runspace state is Opened, and Availability is Busy, meaning that the runspace is still running the long-running script.
PS C:\&gt;[Process:1520]: PS C:\&gt; (Get-Runspace –Id 4).ScriptStackTrace
Command Arguments Location
------- --------- --------
MyModuleWorkflowF1 {} TestNoFile3.psm1: line 6
WFTest1 {} TestNoFile2.ps1: line 14
TestNoFile2.ps1 {} TestNoFile2.ps1: line 22
&lt;ScriptBlock&gt; {} &lt;No file&gt;
 
Start an interactive debugging session with this runspace by running the Debug-Runspace cmdlet.
PS C:\&gt;[Process: 1520]: PS C:\&gt; Debug-Runspace –Id 4
Hit Line breakpoint on 'C:\TestWFVar1.ps1:83'
 
At C:\TestWFVar1.ps1:83 char:1
+ $scriptVar = "Script Variable"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
[Process: 1520]: [RSDBG: 4]: PS C:\&gt;&gt;
 
After you are finished debugging, allow the script to continue running without the debugger attached by running the exit debugger command. Alternatively, you can quit the debugger with the q or Stop commands.
PS C:\&gt;[Process:346]: [RSDBG: 3]: PS C:\&gt;&gt; exit
[Process:1520]: PS C:\&gt;
 
When you are finished working in the process, exit the process by running the Exit-PSHostProcess cmdlet. This returns you to the PS C:\&gt; prompt.
PS C:\&gt;[Process:1520]: PS C:\&gt; Exit-PSHostProcess
PS C:\&gt;
</dev:code><dev:remarks><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/?LinkID=403736</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Get-Process</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Exit-PSHostProcess</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Debug-Runspace</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Enable-RunspaceDebug</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Debuggers</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>Enter-PSSession</command:name><maml:description><maml:para>Starts an interactive session with a remote computer.</maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>Enter</command:verb><command:noun>PSSession</command:noun><dev:version /></command:details><maml:description><maml:para>The Enter-PSSession cmdlet starts an interactive session with a single remote computer. During the session, the commands that you type run on the remote computer, just as though you were typing directly on the remote computer. You can have only one interactive session at a time.</maml:para><maml:para>Typically, you use the ComputerName parameter to specify the name of the remote computer. However, you can also use a session that you create by using the New-PSSession cmdlet for the interactive session. However, you cannot use the Disconnect-PSSession, Connect-PSSession, or Receive-PSSession cmdlets to disconnect from or re-connect to an interactive session.</maml:para><maml:para>To end the interactive session and disconnect from the remote computer, use the Exit-PSSession cmdlet, or type "exit".</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>Enter-PSSession</maml:name><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="True (ByValue, ByPropertyName)" position="1" aliases="Cn"><maml:name>ComputerName</maml:name><maml:description><maml:para>Starts an interactive session with the specified remote computer. Enter only one computer name. The default is the local computer.</maml:para><maml:para>Type the NetBIOS name, the IP address, or the fully qualified domain name of the computer. You can also pipe a computer name to Enter-PSSession.</maml:para><maml:para>To use an IP address in the value of the ComputerName parameter, the command must include the Credential parameter. Also, the computer must be configured for HTTPS transport or the IP address of the remote computer must be included in the WinRM TrustedHosts list on the local computer. For instructions for adding a computer name to the TrustedHosts list, see "How to Add a Computer to the Trusted Host List" in about_Remote_Troubleshooting.</maml:para><maml:para>Note: In Windows Vista and later versions of Windows, to include the local computer in the value of the ComputerName parameter, you must start Windows PowerShell with the "Run as administrator" option.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>ApplicationName</maml:name><maml:description><maml:para>Specifies the application name segment of the connection URI. Use this parameter to specify the application name when you are not using the ConnectionURI parameter in the command.</maml:para><maml:para>The default value is the value of the $PSSessionApplicationName preference variable on the local computer. If this preference variable is not defined, the default value is WSMAN. This value is appropriate for most uses. For more information, see about_Preference_Variables.</maml:para><maml:para>The WinRM service uses the application name to select a listener to service the connection request. The value of this parameter should match the value of the URLPrefix property of a listener on the remote computer.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Authentication</maml:name><maml:description><maml:para>Specifies the mechanism that is used to authenticate the user's credentials. Valid values are "Default", "Basic", "Credssp", "Digest", "Kerberos", "Negotiate", and "NegotiateWithImplicitCredential". The default value is "Default".</maml:para><maml:para>CredSSP authentication is available only in Windows Vista, Windows Server 2008, and later versions of Windows.</maml:para><maml:para>For information about the values of this parameter, see the description of the System.Management.Automation.Runspaces.AuthenticationMechanism enumeration in the MSDN (Microsoft Developer Network) library at http://go.microsoft.com/fwlink/?LinkId=144382.</maml:para><maml:para>Caution: Credential Security Support Provider (CredSSP) authentication, in which the user's credentials are passed to a remote computer to be authenticated, is designed for commands that require authentication on more than one resource, such as accessing a remote network share. This mechanism increases the security risk of the remote operation. If the remote computer is compromised, the credentials that are passed to it can be used to control the network session.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">AuthenticationMechanism</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CertificateThumbprint</maml:name><maml:description><maml:para>Specifies the digital public key certificate (X509) of a user account that has permission to perform this action. Enter the certificate thumbprint of the certificate.</maml:para><maml:para>Certificates are used in client certificate-based authentication. They can be mapped only to local user accounts; they do not work with domain accounts.</maml:para><maml:para>To get a certificate, use the Get-Item or Get-ChildItem command in the Windows PowerShell Cert: drive.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>ConfigurationName</maml:name><maml:description><maml:para>Specifies the session configuration that is used for the interactive session.</maml:para><maml:para>Enter a configuration name or the fully qualified resource URI for a session configuration. If you specify only the configuration name, the following schema URI is prepended: http://schemas.microsoft.com/powershell.</maml:para><maml:para>The session configuration for a session is located on the remote computer. If the specified session configuration does not exist on the remote computer, the command fails.</maml:para><maml:para>The default value is the value of the $PSSessionConfigurationName preference variable on the local computer. If this preference variable is not set, the default is Microsoft.PowerShell. For more information, see about_Preference_Variables.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>Credential</maml:name><maml:description><maml:para>Specifies a user account that has permission to perform this action. The default is the current user.</maml:para><maml:para>Type a user name, such as "User01", "Domain01\User01", or "User@Domain.com", or enter a PSCredential object, such as one returned by the Get-Credential cmdlet.</maml:para><maml:para>When you type a user name, you will be prompted for a password.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>EnableNetworkAccess</maml:name><maml:description><maml:para>Adds an interactive security token to loopback sessions. The interactive token lets you run commands in the loopback session that get data from other computers. For example, you can run a command in the session that copies XML files from a remote computer to the local computer.</maml:para><maml:para>A "loopback session" is a PSSession that originates and terminates on the same computer. To create a loopback session, omit the ComputerName parameter or set its value to ".", "localhost", or the name of the local computer.</maml:para><maml:para>By default, loopback sessions are created with a network token, which might not provide sufficient permission to authenticate to remote computers.</maml:para><maml:para>The EnableNetworkAccess parameter is effective only in loopback sessions. If you use the EnableNetworkAccess parameter when creating a session on a remote computer, the command succeeds, but the parameter is ignored.</maml:para><maml:para>You can also allow remote access in a loopback session by using the CredSSP value of the Authentication parameter, which delegates the session credentials to other computers.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Port</maml:name><maml:description><maml:para>Specifies the network port on the remote computer used for this command. To connect to a remote computer, the remote computer must be listening on the port that the connection uses. The default ports are 5985 (the WinRM port for HTTP) and 5986 (the WinRM port for HTTPS).</maml:para><maml:para>Before using an alternate port, you must configure the WinRM listener on the remote computer to listen at that port. Use the following commands to configure the listener:</maml:para><maml:para>1. winrm delete winrm/config/listener?Address=*+Transport=HTTP</maml:para><maml:para>2. winrm create winrm/config/listener?Address=*+Transport=HTTP @{Port="&lt;port-number&gt;"}</maml:para><maml:para></maml:para><maml:para>Do not use the Port parameter unless you must. The port setting in the command applies to all computers or sessions on which the command runs. An alternate port setting might prevent the command from running on all computers.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SessionOption</maml:name><maml:description><maml:para>Sets advanced options for the session. Enter a SessionOption object, such as one that you create by using the New-PSSessionOption cmdlet, or a hash table in which the keys are session option names and the values are session option values.</maml:para><maml:para>The default values for the options are determined by the value of the $PSSessionOption preference variable, if it is set. Otherwise, the default values are established by options set in the session configuration.</maml:para><maml:para>The session option values take precedence over default values for sessions set in the $PSSessionOption preference variable and in the session configuration. However, they do not take precedence over maximum values, quotas or limits set in the session configuration. </maml:para><maml:para>For a description of the session options, including the default values, see New-PSSessionOption. For information about the $PSSessionOption preference variable, see about_Preference_Variables (http://go.microsoft.com/fwlink/?LinkID=113248). For more information about session configurations, see about_Session_Configurations (http://go.microsoft.com/fwlink/?LinkID=145152).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSSessionOption</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>UseSSL</maml:name><maml:description><maml:para>Uses the Secure Sockets Layer (SSL) protocol to establish a connection to the remote computer. By default, SSL is not used.</maml:para><maml:para>WS-Management encrypts all Windows PowerShell content transmitted over the network. UseSSL is an additional protection that sends the data across an HTTPS connection instead of an HTTP connection.</maml:para><maml:para>If you use this parameter, but SSL is not available on the port used for the command, the command fails.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Enter-PSSession</maml:name><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="2" aliases="URI,CU"><maml:name>ConnectionUri</maml:name><maml:description><maml:para>Specifies a Uniform Resource Identifier (URI) that defines the connection endpoint for the session. The URI must be fully qualified. The format of this string is as follows:</maml:para><maml:para>&lt;Transport&gt;://&lt;ComputerName&gt;:&lt;Port&gt;/&lt;ApplicationName&gt;</maml:para><maml:para>The default value is as follows:</maml:para><maml:para>http://localhost:5985/WSMAN</maml:para><maml:para>If you do not specify a ConnectionURI, you can use the UseSSL, ComputerName, Port, and ApplicationName parameters to specify the ConnectionURI values.</maml:para><maml:para>Valid values for the Transport segment of the URI are HTTP and HTTPS. If you specify a connection URI with a Transport segment, but do not specify a port, the session is created with standards ports: 80 for HTTP and 443 for HTTPS. To use the default ports for Windows PowerShell remoting, specify port 5985 for HTTP or 5986 for HTTPS.</maml:para><maml:para>If the destination computer redirects the connection to a different URI, Windows PowerShell prevents the redirection unless you use the AllowRedirection parameter in the command.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Uri</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>AllowRedirection</maml:name><maml:description><maml:para>Allows redirection of this connection to an alternate Uniform Resource Identifier (URI). By default, redirection is not allowed.</maml:para><maml:para>When you use the ConnectionURI parameter, the remote destination can return an instruction to redirect to a different URI. By default, Windows PowerShell does not redirect connections, but you can use this parameter to allow it to redirect the connection.</maml:para><maml:para>You can also limit the number of times the connection is redirected by changing the MaximumConnectionRedirectionCount session option value. Use the MaximumRedirection parameter of the New-PSSessionOption cmdlet or set the MaximumConnectionRedirectionCount property of the $PSSessionOption preference variable. The default value is 5.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Authentication</maml:name><maml:description><maml:para>Specifies the mechanism that is used to authenticate the user's credentials. Valid values are "Default", "Basic", "Credssp", "Digest", "Kerberos", "Negotiate", and "NegotiateWithImplicitCredential". The default value is "Default".</maml:para><maml:para>CredSSP authentication is available only in Windows Vista, Windows Server 2008, and later versions of Windows.</maml:para><maml:para>For information about the values of this parameter, see the description of the System.Management.Automation.Runspaces.AuthenticationMechanism enumeration in the MSDN (Microsoft Developer Network) library at http://go.microsoft.com/fwlink/?LinkId=144382.</maml:para><maml:para>Caution: Credential Security Support Provider (CredSSP) authentication, in which the user's credentials are passed to a remote computer to be authenticated, is designed for commands that require authentication on more than one resource, such as accessing a remote network share. This mechanism increases the security risk of the remote operation. If the remote computer is compromised, the credentials that are passed to it can be used to control the network session.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">AuthenticationMechanism</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CertificateThumbprint</maml:name><maml:description><maml:para>Specifies the digital public key certificate (X509) of a user account that has permission to perform this action. Enter the certificate thumbprint of the certificate.</maml:para><maml:para>Certificates are used in client certificate-based authentication. They can be mapped only to local user accounts; they do not work with domain accounts.</maml:para><maml:para>To get a certificate, use the Get-Item or Get-ChildItem command in the Windows PowerShell Cert: drive.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>ConfigurationName</maml:name><maml:description><maml:para>Specifies the session configuration that is used for the interactive session.</maml:para><maml:para>Enter a configuration name or the fully qualified resource URI for a session configuration. If you specify only the configuration name, the following schema URI is prepended: http://schemas.microsoft.com/powershell.</maml:para><maml:para>The session configuration for a session is located on the remote computer. If the specified session configuration does not exist on the remote computer, the command fails.</maml:para><maml:para>The default value is the value of the $PSSessionConfigurationName preference variable on the local computer. If this preference variable is not set, the default is Microsoft.PowerShell. For more information, see about_Preference_Variables.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>Credential</maml:name><maml:description><maml:para>Specifies a user account that has permission to perform this action. The default is the current user.</maml:para><maml:para>Type a user name, such as "User01", "Domain01\User01", or "User@Domain.com", or enter a PSCredential object, such as one returned by the Get-Credential cmdlet.</maml:para><maml:para>When you type a user name, you will be prompted for a password.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>EnableNetworkAccess</maml:name><maml:description><maml:para>Adds an interactive security token to loopback sessions. The interactive token lets you run commands in the loopback session that get data from other computers. For example, you can run a command in the session that copies XML files from a remote computer to the local computer.</maml:para><maml:para>A "loopback session" is a PSSession that originates and terminates on the same computer. To create a loopback session, omit the ComputerName parameter or set its value to ".", "localhost", or the name of the local computer.</maml:para><maml:para>By default, loopback sessions are created with a network token, which might not provide sufficient permission to authenticate to remote computers.</maml:para><maml:para>The EnableNetworkAccess parameter is effective only in loopback sessions. If you use the EnableNetworkAccess parameter when creating a session on a remote computer, the command succeeds, but the parameter is ignored.</maml:para><maml:para>You can also allow remote access in a loopback session by using the CredSSP value of the Authentication parameter, which delegates the session credentials to other computers.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SessionOption</maml:name><maml:description><maml:para>Sets advanced options for the session. Enter a SessionOption object, such as one that you create by using the New-PSSessionOption cmdlet, or a hash table in which the keys are session option names and the values are session option values.</maml:para><maml:para>The default values for the options are determined by the value of the $PSSessionOption preference variable, if it is set. Otherwise, the default values are established by options set in the session configuration.</maml:para><maml:para>The session option values take precedence over default values for sessions set in the $PSSessionOption preference variable and in the session configuration. However, they do not take precedence over maximum values, quotas or limits set in the session configuration. </maml:para><maml:para>For a description of the session options, including the default values, see New-PSSessionOption. For information about the $PSSessionOption preference variable, see about_Preference_Variables (http://go.microsoft.com/fwlink/?LinkID=113248). For more information about session configurations, see about_Session_Configurations (http://go.microsoft.com/fwlink/?LinkID=145152).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSSessionOption</command:parameterValue></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Enter-PSSession</maml:name><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>Id</maml:name><maml:description><maml:para>Specifies the ID of an existing session. Enter-PSSession uses the specified session for the interactive session.</maml:para><maml:para>To find the ID of a session, use the Get-PSSession cmdlet.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Enter-PSSession</maml:name><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>InstanceId</maml:name><maml:description><maml:para>Specifies the instance ID of an existing session. Enter-PSSession uses the specified session for the interactive session.</maml:para><maml:para>The instance ID is a GUID. To find the instance ID of a session, use the Get-PSSession cmdlet. You can also use the Session, Name, or ID parameters to specify an existing session. Or, you can use the ComputerName parameter to start a temporary session.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Guid</command:parameterValue></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Enter-PSSession</maml:name><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Specifies the friendly name of an existing session. Enter-PSSession uses the specified session for the interactive session.</maml:para><maml:para>If the name that you specify matches more than one session, the command fails. You can also use the Session, InstanceID, or ID parameters to specify an existing session. Or, you can use the ComputerName parameter to start a temporary session.</maml:para><maml:para>To establish a friendly name for a session, use the Name parameter of the New-PSSession cmdlet.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Enter-PSSession</maml:name><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases=""><maml:name>Session</maml:name><maml:description><maml:para>Specifies a Windows PowerShell session (PSSession) to use for the interactive session. This parameter takes a session object. You can also use the Name, InstanceID, or ID parameters to specify a PSSession.</maml:para><maml:para>Enter a variable that contains a session object or a command that creates or gets a session object, such as a New-PSSession or Get-PSSession command. You can also pipe a session object to Enter-PSSession. You can submit only one PSSession with this parameter. If you enter a variable that contains more than one PSSession, the command fails.</maml:para><maml:para>When you use Exit-PSSession or the EXIT keyword, the interactive session ends, but the PSSession that you created remains open and available for use.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSSession</command:parameterValue></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>AllowRedirection</maml:name><maml:description><maml:para>Allows redirection of this connection to an alternate Uniform Resource Identifier (URI). By default, redirection is not allowed.</maml:para><maml:para>When you use the ConnectionURI parameter, the remote destination can return an instruction to redirect to a different URI. By default, Windows PowerShell does not redirect connections, but you can use this parameter to allow it to redirect the connection.</maml:para><maml:para>You can also limit the number of times the connection is redirected by changing the MaximumConnectionRedirectionCount session option value. Use the MaximumRedirection parameter of the New-PSSessionOption cmdlet or set the MaximumConnectionRedirectionCount property of the $PSSessionOption preference variable. The default value is 5.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>ApplicationName</maml:name><maml:description><maml:para>Specifies the application name segment of the connection URI. Use this parameter to specify the application name when you are not using the ConnectionURI parameter in the command.</maml:para><maml:para>The default value is the value of the $PSSessionApplicationName preference variable on the local computer. If this preference variable is not defined, the default value is WSMAN. This value is appropriate for most uses. For more information, see about_Preference_Variables.</maml:para><maml:para>The WinRM service uses the application name to select a listener to service the connection request. The value of this parameter should match the value of the URLPrefix property of a listener on the remote computer.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>WSMAN</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Authentication</maml:name><maml:description><maml:para>Specifies the mechanism that is used to authenticate the user's credentials. Valid values are "Default", "Basic", "Credssp", "Digest", "Kerberos", "Negotiate", and "NegotiateWithImplicitCredential". The default value is "Default".</maml:para><maml:para>CredSSP authentication is available only in Windows Vista, Windows Server 2008, and later versions of Windows.</maml:para><maml:para>For information about the values of this parameter, see the description of the System.Management.Automation.Runspaces.AuthenticationMechanism enumeration in the MSDN (Microsoft Developer Network) library at http://go.microsoft.com/fwlink/?LinkId=144382.</maml:para><maml:para>Caution: Credential Security Support Provider (CredSSP) authentication, in which the user's credentials are passed to a remote computer to be authenticated, is designed for commands that require authentication on more than one resource, such as accessing a remote network share. This mechanism increases the security risk of the remote operation. If the remote computer is compromised, the credentials that are passed to it can be used to control the network session.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">AuthenticationMechanism</command:parameterValue><dev:type><maml:name>AuthenticationMechanism</maml:name><maml:uri /></dev:type><dev:defaultValue>Default</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CertificateThumbprint</maml:name><maml:description><maml:para>Specifies the digital public key certificate (X509) of a user account that has permission to perform this action. Enter the certificate thumbprint of the certificate.</maml:para><maml:para>Certificates are used in client certificate-based authentication. They can be mapped only to local user accounts; they do not work with domain accounts.</maml:para><maml:para>To get a certificate, use the Get-Item or Get-ChildItem command in the Windows PowerShell Cert: drive.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="True (ByValue, ByPropertyName)" position="1" aliases="Cn"><maml:name>ComputerName</maml:name><maml:description><maml:para>Starts an interactive session with the specified remote computer. Enter only one computer name. The default is the local computer.</maml:para><maml:para>Type the NetBIOS name, the IP address, or the fully qualified domain name of the computer. You can also pipe a computer name to Enter-PSSession.</maml:para><maml:para>To use an IP address in the value of the ComputerName parameter, the command must include the Credential parameter. Also, the computer must be configured for HTTPS transport or the IP address of the remote computer must be included in the WinRM TrustedHosts list on the local computer. For instructions for adding a computer name to the TrustedHosts list, see "How to Add a Computer to the Trusted Host List" in about_Remote_Troubleshooting.</maml:para><maml:para>Note: In Windows Vista and later versions of Windows, to include the local computer in the value of the ComputerName parameter, you must start Windows PowerShell with the "Run as administrator" option.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>Local computer</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>ConfigurationName</maml:name><maml:description><maml:para>Specifies the session configuration that is used for the interactive session.</maml:para><maml:para>Enter a configuration name or the fully qualified resource URI for a session configuration. If you specify only the configuration name, the following schema URI is prepended: http://schemas.microsoft.com/powershell.</maml:para><maml:para>The session configuration for a session is located on the remote computer. If the specified session configuration does not exist on the remote computer, the command fails.</maml:para><maml:para>The default value is the value of the $PSSessionConfigurationName preference variable on the local computer. If this preference variable is not set, the default is Microsoft.PowerShell. For more information, see about_Preference_Variables.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>Microsoft.PowreShell</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="2" aliases="URI,CU"><maml:name>ConnectionUri</maml:name><maml:description><maml:para>Specifies a Uniform Resource Identifier (URI) that defines the connection endpoint for the session. The URI must be fully qualified. The format of this string is as follows:</maml:para><maml:para>&lt;Transport&gt;://&lt;ComputerName&gt;:&lt;Port&gt;/&lt;ApplicationName&gt;</maml:para><maml:para>The default value is as follows:</maml:para><maml:para>http://localhost:5985/WSMAN</maml:para><maml:para>If you do not specify a ConnectionURI, you can use the UseSSL, ComputerName, Port, and ApplicationName parameters to specify the ConnectionURI values.</maml:para><maml:para>Valid values for the Transport segment of the URI are HTTP and HTTPS. If you specify a connection URI with a Transport segment, but do not specify a port, the session is created with standards ports: 80 for HTTP and 443 for HTTPS. To use the default ports for Windows PowerShell remoting, specify port 5985 for HTTP or 5986 for HTTPS.</maml:para><maml:para>If the destination computer redirects the connection to a different URI, Windows PowerShell prevents the redirection unless you use the AllowRedirection parameter in the command.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Uri</command:parameterValue><dev:type><maml:name>Uri</maml:name><maml:uri /></dev:type><dev:defaultValue>http://localhost:80/WSMAN</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>Credential</maml:name><maml:description><maml:para>Specifies a user account that has permission to perform this action. The default is the current user.</maml:para><maml:para>Type a user name, such as "User01", "Domain01\User01", or "User@Domain.com", or enter a PSCredential object, such as one returned by the Get-Credential cmdlet.</maml:para><maml:para>When you type a user name, you will be prompted for a password.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue><dev:type><maml:name>PSCredential</maml:name><maml:uri /></dev:type><dev:defaultValue>Current user</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>EnableNetworkAccess</maml:name><maml:description><maml:para>Adds an interactive security token to loopback sessions. The interactive token lets you run commands in the loopback session that get data from other computers. For example, you can run a command in the session that copies XML files from a remote computer to the local computer.</maml:para><maml:para>A "loopback session" is a PSSession that originates and terminates on the same computer. To create a loopback session, omit the ComputerName parameter or set its value to ".", "localhost", or the name of the local computer.</maml:para><maml:para>By default, loopback sessions are created with a network token, which might not provide sufficient permission to authenticate to remote computers.</maml:para><maml:para>The EnableNetworkAccess parameter is effective only in loopback sessions. If you use the EnableNetworkAccess parameter when creating a session on a remote computer, the command succeeds, but the parameter is ignored.</maml:para><maml:para>You can also allow remote access in a loopback session by using the CredSSP value of the Authentication parameter, which delegates the session credentials to other computers.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>Id</maml:name><maml:description><maml:para>Specifies the ID of an existing session. Enter-PSSession uses the specified session for the interactive session.</maml:para><maml:para>To find the ID of a session, use the Get-PSSession cmdlet.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue><dev:type><maml:name>Int32</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>InstanceId</maml:name><maml:description><maml:para>Specifies the instance ID of an existing session. Enter-PSSession uses the specified session for the interactive session.</maml:para><maml:para>The instance ID is a GUID. To find the instance ID of a session, use the Get-PSSession cmdlet. You can also use the Session, Name, or ID parameters to specify an existing session. Or, you can use the ComputerName parameter to start a temporary session.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Guid</command:parameterValue><dev:type><maml:name>Guid</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Specifies the friendly name of an existing session. Enter-PSSession uses the specified session for the interactive session.</maml:para><maml:para>If the name that you specify matches more than one session, the command fails. You can also use the Session, InstanceID, or ID parameters to specify an existing session. Or, you can use the ComputerName parameter to start a temporary session.</maml:para><maml:para>To establish a friendly name for a session, use the Name parameter of the New-PSSession cmdlet.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Port</maml:name><maml:description><maml:para>Specifies the network port on the remote computer used for this command. To connect to a remote computer, the remote computer must be listening on the port that the connection uses. The default ports are 5985 (the WinRM port for HTTP) and 5986 (the WinRM port for HTTPS).</maml:para><maml:para>Before using an alternate port, you must configure the WinRM listener on the remote computer to listen at that port. Use the following commands to configure the listener:</maml:para><maml:para>1. winrm delete winrm/config/listener?Address=*+Transport=HTTP</maml:para><maml:para>2. winrm create winrm/config/listener?Address=*+Transport=HTTP @{Port="&lt;port-number&gt;"}</maml:para><maml:para></maml:para><maml:para>Do not use the Port parameter unless you must. The port setting in the command applies to all computers or sessions on which the command runs. An alternate port setting might prevent the command from running on all computers.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue><dev:type><maml:name>Int32</maml:name><maml:uri /></dev:type><dev:defaultValue>5985, 5986</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases=""><maml:name>Session</maml:name><maml:description><maml:para>Specifies a Windows PowerShell session (PSSession) to use for the interactive session. This parameter takes a session object. You can also use the Name, InstanceID, or ID parameters to specify a PSSession.</maml:para><maml:para>Enter a variable that contains a session object or a command that creates or gets a session object, such as a New-PSSession or Get-PSSession command. You can also pipe a session object to Enter-PSSession. You can submit only one PSSession with this parameter. If you enter a variable that contains more than one PSSession, the command fails.</maml:para><maml:para>When you use Exit-PSSession or the EXIT keyword, the interactive session ends, but the PSSession that you created remains open and available for use.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSSession</command:parameterValue><dev:type><maml:name>PSSession</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SessionOption</maml:name><maml:description><maml:para>Sets advanced options for the session. Enter a SessionOption object, such as one that you create by using the New-PSSessionOption cmdlet, or a hash table in which the keys are session option names and the values are session option values.</maml:para><maml:para>The default values for the options are determined by the value of the $PSSessionOption preference variable, if it is set. Otherwise, the default values are established by options set in the session configuration.</maml:para><maml:para>The session option values take precedence over default values for sessions set in the $PSSessionOption preference variable and in the session configuration. However, they do not take precedence over maximum values, quotas or limits set in the session configuration. </maml:para><maml:para>For a description of the session options, including the default values, see New-PSSessionOption. For information about the $PSSessionOption preference variable, see about_Preference_Variables (http://go.microsoft.com/fwlink/?LinkID=113248). For more information about session configurations, see about_Session_Configurations (http://go.microsoft.com/fwlink/?LinkID=145152).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSSessionOption</command:parameterValue><dev:type><maml:name>PSSessionOption</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>UseSSL</maml:name><maml:description><maml:para>Uses the Secure Sockets Layer (SSL) protocol to establish a connection to the remote computer. By default, SSL is not used.</maml:para><maml:para>WS-Management encrypts all Windows PowerShell content transmitted over the network. UseSSL is an additional protection that sends the data across an HTTPS connection instead of an HTTP connection.</maml:para><maml:para>If you use this parameter, but SSL is not available on the port used for the command, the command fails.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name>System.String or System.Management.Automation.Runspaces.PSSession</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You can pipe a computer name (a string) or a session object to Enter-PSSession.</maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name>None</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>The cmdlet does not return any output.</maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><maml:alertSet><maml:title /><maml:alert><maml:para>To connect to a remote computer, you must be a member of the Administrators group on the remote computer.</maml:para></maml:alert><maml:alert><maml:para>In Windows Vista and later versions of Windows, to start an interactive session on the local computer, you must start Windows PowerShell with the "Run as administrator" option.</maml:para></maml:alert><maml:alert><maml:para>When you use Enter-PSSession, your user profile on the remote computer is used for the interactive session. The commands in the remote user profile, including commands to add Windows PowerShell snap-ins and to change the command prompt, run before the remote prompt is displayed.</maml:para></maml:alert><maml:alert><maml:para>Enter-PSSession uses the UI culture setting on the local computer for the interactive session. To find the local UI culture, use the $UICulture automatic variable.</maml:para></maml:alert><maml:alert><maml:para>Enter-PSSession requires the Get-Command, Out-Default, and Exit-PSSession cmdlets. If these cmdlets are not included in the session configuration on the remote computer, the Enter-PSSession commands fails.</maml:para></maml:alert><maml:alert><maml:para>Unlike Invoke-Command, which parses and interprets the commands before sending them to the remote computer, Enter-PSSession sends the commands directly to the remote computer without interpretation.</maml:para></maml:alert><maml:alert><maml:para>If the session that you want to enter is busy processing a command, there might be a delay before Windows PowerShell responds to the Enter-PSSession command. You will be connected as soon as the session is available. To cancel the Enter-PSSession command, press CTRL+C.</maml:para></maml:alert></maml:alertSet><command:examples><command:example><maml:title>
-------------------------- EXAMPLE 1 --------------------------
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Enter-PSSession
[localhost]: PS C:\&gt;
</dev:code><dev:remarks><maml:para>This command starts an interactive session on the local computer. The command prompt changes to indicate that you are now running commands in a different session.</maml:para><maml:para>The commands that you enter run in the new session, and the results are returned to the default session as text.</maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
-------------------------- EXAMPLE 2 --------------------------
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>The first command uses the Enter-PSSession cmdlet to start an interactive session with Server01, a remote computer. When the session starts, the command prompt changes to include the computer name.
PS C:\&gt;Enter-PSSession -Computer Server01
[Server01]: PS C:\&gt;
 
The second command gets the PowerShell process and redirects the output to the Process.txt file. The command is submitted to the remote computer, and the file is saved on the remote computer.
[Server01]: PS C:\&gt;Get-Process Powershell &gt; C:\ps-test\Process.txt
 
The third command uses the Exit keyword to end the interactive session and close the connection.
[Server01]: PS C:\&gt;exit
PS C:\&gt;
 
The fourth command confirms that the Process.txt file is on the remote computer. A Get-ChildItem ("dir") command on the local computer cannot find the file.
PS C:\&gt;dir C:\ps-test\process.txt
Get-ChildItem : Cannot find path 'C:\ps-test\process.txt' because it does not exist.
At line:1 char:4
+ dir &lt;&lt;&lt;&lt; c:\ps-test\process.txt
</dev:code><dev:remarks><maml:para>This command shows how to work in an interactive session with a remote computer.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
-------------------------- EXAMPLE 3 --------------------------
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;$s = New-PSSession -ComputerName Server01
PS C:\&gt;Enter-PSSession -Session $s
[Server01]: PS C:\&gt;
</dev:code><dev:remarks><maml:para>These commands use the Session parameter of Enter-PSSession to run the interactive session in an existing Windows PowerShell session (PSSession).</maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
-------------------------- EXAMPLE 4 --------------------------
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Enter-PSSession -ComputerName Server01 -Port 90 -Credential Domain01\User01
[Server01]: PS C:\&gt;
</dev:code><dev:remarks><maml:para>This command starts an interactive session with the Server01 computer. It uses the Port parameter to specify the port and the Credential parameter to specify the account of a user with permission to connect to the remote computer.</maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
-------------------------- EXAMPLE 5 --------------------------
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Enter-PSSession -ComputerName Server01
[Server01]: PS C:\&gt;Exit-PSSession
PS C:\&gt;
</dev:code><dev:remarks><maml:para>This example shows how to start and stop an interactive session. The first command uses the Enter-PSSession cmdlet to start an interactive session with the Server01 computer.</maml:para><maml:para>The second command uses the Exit-PSSession cmdlet to end the session. You can also use the Exit keyword to end the interactive session. Exit-PSSession and Exit have the same effect.</maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=289578</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Exit-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Get-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Invoke-Command</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>New-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Remove-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Connect-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Disconnect-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Receive-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_PSSessions</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Remote</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>Exit-PSHostProcess</command:name><maml:description><maml:para>Closes an interactive session with a local process.</maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>Exit</command:verb><command:noun>PSHostProcess</command:noun><dev:version /></command:details><maml:description><maml:para>Exit-PSHostProcess closes an interactive session with a local process that you have opened by running the Enter-PSHostProcess cmdlet. You run the Exit-PSHostProcess cmdlet from within the process, when you are finished debugging or troubleshooting a script that is running within a process.</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>Exit-PSHostProcess</maml:name></command:syntaxItem></command:syntax><command:parameters></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name></maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para></maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name></maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para></maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><command:examples><command:example><maml:title>Example 1: Exit a process</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;[Process:1520]: PS C:\&gt; Exit-PSHostProcess
PS C:\&gt;
</dev:code><dev:remarks><maml:para>In this example, you have been working within an active process to debug a script running in a runspace within the process, as described in Enter-PSHostProcess. After you type the exit command to exit the debugger, run the Exit-PSHostProcess cmdlet to close your interactive session with the process. The cmdlet closes your session in the process, and returns you to the PS C:\&gt; prompt.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/?LinkID=403737</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Get-Process</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Enter-PSHostProcess</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Debug-Runspace</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Enable-RunspaceDebug</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Debuggers</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>Exit-PSSession</command:name><maml:description><maml:para>Ends an interactive session with a remote computer.</maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>Exit</command:verb><command:noun>PSSession</command:noun><dev:version /></command:details><maml:description><maml:para>The Exit-PSSession cmdlet ends interactive sessions that you started by using Enter-PSSession.</maml:para><maml:para>You can also use the Exit keyword to end an interactive session. The effect is the same as using Exit-PSSession.</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>Exit-PSSession</maml:name></command:syntaxItem></command:syntax><command:parameters></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name>None</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You cannot pipe objects to Exit-PSSession.</maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name>None</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>This cmdlet does not return any output.</maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><maml:alertSet><maml:title /><maml:alert><maml:para>This cmdlet takes only the common parameters.</maml:para></maml:alert><maml:alert><maml:para></maml:para></maml:alert></maml:alertSet><command:examples><command:example><maml:title>
  
-------------------------- EXAMPLE 1 --------------------------
  
</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Enter-PSSession -computername Server01
Server01\PS&gt; Exit-PSSession
PS C:\&gt;
</dev:code><dev:remarks><maml:para>These commands start and then stop an interactive session with the Server01 remote computer.</maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 2 --------------------------
  
</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;$s = new-pssession -computername Server01
PS C:\&gt;Enter-PSSession -session $s
Server01\PS&gt; Exit-PSSession
PS C:\&gt;$s
Id Name ComputerName State ConfigurationName
-- ---- ------------ ----- -----------------
1 Session1 Server01 Opened Microsoft.PowerShell
</dev:code><dev:remarks><maml:para>These commands start and stop an interactive session with the Server01 computer that uses a Windows PowerShell session (PSSession).</maml:para><maml:para>Because the interactive session was started by using a Windows PowerShell session (PSSession), the PSSession is still available when the interactive session ends. If you use the ComputerName parameter, Enter-PSSession creates a temporary session that it closes when the interactive session ends.</maml:para><maml:para>The first command uses the New-PSSession cmdlet to create a PSSession on the Server01 computer. The command saves the PSSession in the $s variable.</maml:para><maml:para>The second command uses the Enter-PSSession cmdlet to start an interactive session using the PSSession in $s.</maml:para><maml:para>The third command uses the Exit-PSSession cmdlet to stop the interactive session.</maml:para><maml:para>The final command displays the PSSession in the $s variable. The State property shows the PSSession is still open and available for use.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 3 --------------------------
  
</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Enter-PSSession -computername Server01
Server01\PS&gt; exit
PS C:\&gt;
</dev:code><dev:remarks><maml:para>This command uses the Exit keyword to stop an interactive session started by using the Enter-PSSession cmdlet. The Exit keyword has the same effect as using Exit-PSSession.</maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=289579</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Connect-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Disconnect-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Enter-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Get-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Invoke-Command</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>New-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Receive-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Remove-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_PSSessions</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Remote</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>Export-Console</command:name><maml:description><maml:para>Exports the names of snap-ins in the current session to a console file.</maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>Export</command:verb><command:noun>Console</command:noun><dev:version /></command:details><maml:description><maml:para>The Export-Console cmdlet exports the names of the Windows PowerShell snap-ins in the current session to a Windows PowerShell console file (.psc1). You can use this cmdlet to save the snap-ins for use in future sessions.</maml:para><maml:para>To add the snap-ins in the .psc1 console file to a session, start Windows PowerShell (Powershell.exe) at the command line by using Cmd.exe or another Windows PowerShell session, and then use the PSConsoleFile parameter of Powershell.exe to specify the console file.</maml:para><maml:para>For more information about Windows PowerShell snap-ins, see about_PSSnapins.</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>Export-Console</maml:name><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="1" aliases=""><maml:name>Path</maml:name><maml:description><maml:para>Specifies a path and file name for the console file (*.psc1). Enter a path (optional) and name. Wildcards are not permitted.</maml:para><maml:para>If you type only a file name, Export-Console creates a file with that name and the ".psc1" file name extension in the current directory.</maml:para><maml:para>This parameter is required unless you have opened Windows PowerShell with the PSConsoleFile parameter or exported a console file during the current session. It is also required when you use the NoClobber parameter to prevent the current console file from being overwritten.</maml:para><maml:para>If you omit this parameter, Export-Console overwrites (replaces the content of) the console file that was used most recently in this session. The path to the most recently used console file is stored in the value of the $ConsoleFileName automatic variable. For more information, see about_Automatic_Variables.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Force</maml:name><maml:description><maml:para>Overwrites the data in a console file without warning, even if the file has the read-only attribute. The read-only attribute is changed and is not reset when the command completes.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="NoOverwrite"><maml:name>NoClobber</maml:name><maml:description><maml:para>Will not overwrite (replace the contents of) an existing console file. By default, if a file exists in the specified path, Export-Console overwrites the file without warning.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Force</maml:name><maml:description><maml:para>Overwrites the data in a console file without warning, even if the file has the read-only attribute. The read-only attribute is changed and is not reset when the command completes.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="NoOverwrite"><maml:name>NoClobber</maml:name><maml:description><maml:para>Will not overwrite (replace the contents of) an existing console file. By default, if a file exists in the specified path, Export-Console overwrites the file without warning.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="1" aliases=""><maml:name>Path</maml:name><maml:description><maml:para>Specifies a path and file name for the console file (*.psc1). Enter a path (optional) and name. Wildcards are not permitted.</maml:para><maml:para>If you type only a file name, Export-Console creates a file with that name and the ".psc1" file name extension in the current directory.</maml:para><maml:para>This parameter is required unless you have opened Windows PowerShell with the PSConsoleFile parameter or exported a console file during the current session. It is also required when you use the NoClobber parameter to prevent the current console file from being overwritten.</maml:para><maml:para>If you omit this parameter, Export-Console overwrites (replaces the content of) the console file that was used most recently in this session. The path to the most recently used console file is stored in the value of the $ConsoleFileName automatic variable. For more information, see about_Automatic_Variables.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>false</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>false</dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name>System.String</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You can pipe a path string to Export-Console.</maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name>System.IO.FileInfo</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>Export-Console creates a file that contains the exported aliases.</maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><maml:alertSet><maml:title /><maml:alert><maml:para>When a console file (.psc1) is used to start the session, the name of the console file is automatically stored in the $ConsoleFileName automatic variable. The value of $ConsoleFileName is updated when you use the Path parameter of Export-Console to specify a new console file. When no console file is used, $ConsoleFileName has no value ($null).</maml:para><maml:para>To use a Windows PowerShell console file in a new session, use the following syntax to start Windows PowerShell:</maml:para><maml:para>"powershell.exe -PsConsoleFile &lt;ConsoleFile&gt;.psc1".</maml:para><maml:para>You can also save Windows PowerShell snap-ins for future sessions by adding an Add-PSSnapin command to your Windows PowerShell profile. For more information, see about_Profiles.</maml:para></maml:alert><maml:alert><maml:para></maml:para></maml:alert></maml:alertSet><command:examples><command:example><maml:title>
  
-------------------------- EXAMPLE 1 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;export-console -path $pshome\Consoles\ConsoleS1.psc1
</dev:code><dev:remarks><maml:para>This command exports the names of Windows PowerShell snap-ins in the current session to the ConsoleS1.psc1 file in the Consoles subdirectory of the Windows PowerShell installation directory, $pshome.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 2 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;export-console
</dev:code><dev:remarks><maml:para>This command exports the names of Windows PowerShell snap-ins from current session to the Windows PowerShell console file that was most recently used in the current session. It overwrites the previous file contents.</maml:para><maml:para>If you have not exported a console file during the current session, you are prompted for permission to continue and then prompted for a file name.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 3 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;add-pssnapin NewPSSnapin
PS C:\&gt;export-console -path NewPSSnapinConsole.psc1
PS C:\&gt;powershell.exe -PsConsoleFile NewPsSnapinConsole.psc1
</dev:code><dev:remarks><maml:para>These commands add the NewPSSnapin Windows PowerShell snap-in to the current session, export the names of Windows PowerShell snap-ins in the current session to a console file, and then start a Windows PowerShell session with the console file.</maml:para><maml:para>The first command uses the Add-PSSnapin cmdlet to add the NewPSSnapin snap-in to the current session. You can only add Windows PowerShell snap-ins that are registered on your system.</maml:para><maml:para>The second command exports the Windows PowerShell snap-in names to the NewPSSnapinConsole.psc1 file.</maml:para><maml:para>The third command starts Windows PowerShell with the NewPSSnapinConsole.psc1 file. Because the console file includes the Windows PowerShell snap-in name, the cmdlets and providers in the snap-in are available in the current session.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 4 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;export-console -path Console01
PS C:\&gt;notepad console01.psc1
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;PSConsoleFile ConsoleSchemaVersion="1.0"&gt;
  &lt;PSVersion&gt;2.0&lt;/PSVersion&gt;
  &lt;PSSnapIns&gt;
     &lt;PSSnapIn Name="NewPSSnapin" /&gt;
  &lt;/PSSnapIns&gt;
&lt;/PSConsoleFile&gt;
</dev:code><dev:remarks><maml:para>This command exports the names of the Windows PowerShell snap-ins in the current session to the Console01.psc1 file in the current directory.</maml:para><maml:para>The second command displays the contents of the Console01.psc1 file in Notepad.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 5 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;powershell.exe -PSConsoleFile Console01.psc1
PS C:\&gt;add-pssnapin MySnapin
PS C:\&gt;export-console NewConsole.psc1
PS C:\&gt;$consolefilename
PS C:\&gt;add-pssnapin SnapIn03
PS C:\&gt;export-console
</dev:code><dev:remarks><maml:para>This example shows how to use the $ConsoleFileName automatic variable to determine the console file that will be updated if you use Export-Console without a Path parameter value.</maml:para><maml:para>The first command uses the PSConsoleFile parameter of PowerShell.exe to open Windows PowerShell with the Console01.psc1 file.</maml:para><maml:para>The second command uses the Add-PSSnapin cmdlet to add the MySnapin Windows PowerShell snap-in to the current session.</maml:para><maml:para>The third command uses the Export-Console cmdlet to export the names of all the Windows PowerShell snap-ins in the session to the NewConsole.psc1 file.</maml:para><maml:para>The fourth command uses the $ConsoleFileName parameter to display the most recently used console file. The sample output shows that NewConsole.ps1 is the most recently used file.</maml:para><maml:para>The fifth command adds SnapIn03 to the current console.</maml:para><maml:para>The sixth command uses the ExportConsole cmdlet without a Path parameter. This command exports the names of all the Windows PowerShell snap-ins in the current session to the most recently used file, NewConsole.psc1.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=289580</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Add-PSSnapin</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Get-PSSnapin</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Remove-PSSnapin</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>Export-ModuleMember</command:name><maml:description><maml:para>Specifies the module members that are exported.</maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>Export</command:verb><command:noun>ModuleMember</command:noun><dev:version /></command:details><maml:description><maml:para>The Export-ModuleMember cmdlet specifies the module members (such as cmdlets, functions, variables, and aliases) that are exported from a script module (.psm1) file, or from a dynamic module created by using the New-Module cmdlet. This cmdlet can be used only in a script module file or a dynamic module.</maml:para><maml:para>If a script module does not include an Export-ModuleMember command, the functions in the script module are exported, but the variables and aliases are not. When a script module includes Export-ModuleMember commands, only the members specified in the Export-ModuleMember commands are exported. You can also use Export-ModuleMember to suppress or export members that the script module imports from other modules.</maml:para><maml:para>An Export-ModuleMember command is optional, but it is a best practice. Even if the command confirms the default values, it demonstrates the intention of the module author.</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>Export-ModuleMember</maml:name><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="true (ByValue, ByPropertyName)" position="1" aliases=""><maml:name>Function</maml:name><maml:description><maml:para>Specifies the functions that are exported from the script module file. Enter the function names. Wildcards are permitted. You can also pipe function name strings to Export-ModuleMember.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="true (ByPropertyName)" position="named" aliases=""><maml:name>Alias</maml:name><maml:description><maml:para>Specifies the aliases that are exported from the script module file. Enter the alias names. Wildcards are permitted.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="true (ByPropertyName)" position="named" aliases=""><maml:name>Cmdlet</maml:name><maml:description><maml:para>Specifies the cmdlets that are exported from the script module file. Enter the cmdlet names. Wildcards are permitted.</maml:para><maml:para>You cannot create cmdlets in a script module file, but you can import cmdlets from a binary module into a script module and re-export them from the script module.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="true (ByPropertyName)" position="named" aliases=""><maml:name>Variable</maml:name><maml:description><maml:para>Specifies the variables that are exported from the script module file. Enter the variable names (without a dollar sign). Wildcards are permitted.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="true (ByPropertyName)" position="named" aliases=""><maml:name>Alias</maml:name><maml:description><maml:para>Specifies the aliases that are exported from the script module file. Enter the alias names. Wildcards are permitted.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="true (ByPropertyName)" position="named" aliases=""><maml:name>Cmdlet</maml:name><maml:description><maml:para>Specifies the cmdlets that are exported from the script module file. Enter the cmdlet names. Wildcards are permitted.</maml:para><maml:para>You cannot create cmdlets in a script module file, but you can import cmdlets from a binary module into a script module and re-export them from the script module.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="true (ByValue, ByPropertyName)" position="1" aliases=""><maml:name>Function</maml:name><maml:description><maml:para>Specifies the functions that are exported from the script module file. Enter the function names. Wildcards are permitted. You can also pipe function name strings to Export-ModuleMember.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="true (ByPropertyName)" position="named" aliases=""><maml:name>Variable</maml:name><maml:description><maml:para>Specifies the variables that are exported from the script module file. Enter the variable names (without a dollar sign). Wildcards are permitted.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name>System.String</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You can pipe function name strings to Export-ModuleMember.</maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name>None</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>This cmdlet does not generate any output.</maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><maml:alertSet><maml:title /><maml:alert><maml:para>To exclude a member from the list of exported members, add an Export-ModuleMember command that lists all other members but omits the member that you want to exclude.</maml:para></maml:alert><maml:alert><maml:para></maml:para></maml:alert></maml:alertSet><command:examples><command:example><maml:title>
  
-------------------------- EXAMPLE 1 --------------------------
  
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Export-ModuleMember -function * -alias *
</dev:code><dev:remarks><maml:para>This command exports the aliases defined in the script module, along with the functions defined in the script module.</maml:para><maml:para>To export the aliases, which are not exported by default, you must also explicitly specify the functions. Otherwise, only the aliases will be exported.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 2 --------------------------
  
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Export-ModuleMember -function Get-Test, New-Test, Start-Test -alias gtt, ntt, stt
</dev:code><dev:remarks><maml:para>This command exports three aliases and three functions defined in the script module.</maml:para><maml:para>You can use this command format to specify the names of module members.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 3 --------------------------
  
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Export-ModuleMember
</dev:code><dev:remarks><maml:para>This command specifies that no members defined in the script module are exported.</maml:para><maml:para>This command prevents the module members from being exported, but it does not hide the members. Users can read and copy module members or use the call operator (&amp;) to invoke module members that are not exported.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 4 --------------------------
  
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Export-ModuleMember -variable increment
</dev:code><dev:remarks><maml:para>This command exports only the $increment variable from the script module. No other members are exported.</maml:para><maml:para>If you want to export a variable, in addition to exporting the functions in a module, the Export-ModuleMember command must include the names of all of the functions and the name of the variable.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 5 --------------------------
  
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;# From TestModule.psm1
function new-test
   { &lt;function code&gt; }
export-modulemember -function new-test
function validate-test
   { &lt;function code&gt; }
function start-test
   { &lt;function code&gt; }
set-alias stt start-test
export-modulemember -function *-test -alias stt
</dev:code><dev:remarks><maml:para>These commands show how multiple Export-ModuleMember commands are interpreted in a script module (.psm1) file.</maml:para><maml:para>These commands create three functions and one alias, and then they export two of the functions and the alias.</maml:para><maml:para>Without the Export-ModuleMember commands, all three of the functions would be exported, but the alias would not be exported. With the Export-ModuleMember commands, only the Get-Test and Start-Test functions and the STT alias are exported.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 6 --------------------------
  
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;new-module -script {function SayHello {"Hello!"}; set-alias Hi SayHello; Export-ModuleMember -alias Hi -function SayHello}
</dev:code><dev:remarks><maml:para>This command shows how to use Export-ModuleMember in a dynamic module that is created by using the New-Module cmdlet.</maml:para><maml:para>In this example, Export-ModuleMember is used to export both the "Hi" alias and the "SayHello" function in the dynamic module.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 7 --------------------------
  
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;function export
{
  param ([parameter(mandatory=$true)] [validateset("function","variable")] $type,
  [parameter(mandatory=$true)] $name,
  [parameter(mandatory=$true)] $value)
  if ($type -eq "function")
   {
     Set-item "function:script:$name" $value
     Export-ModuleMember $name
   }
else
   {
     Set-Variable -scope Script $name $value
     Export-ModuleMember -variable $name
   }
}
export function New-Test
   {
...
   }
function helper
{
...
}
export variable interval 0
$interval = 2
</dev:code><dev:remarks><maml:para>This example includes a function named Export that declares a function or creates a variable, and then writes an Export-ModuleMember command for the function or variable. This lets you declare and export a function or variable in a single command.</maml:para><maml:para>To use the Export function, include it in your script module. To export a function, type "Export" before the Function keyword.</maml:para><maml:para>To export a variable, use the following format to declare the variable and set its value:</maml:para><maml:para>export variable &lt;variable-name&gt; &lt;value&gt;</maml:para><maml:para>The commands in the example show the correct format. In this example, only the New-Test function and the $Interval variable are exported.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=289581</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Get-Module</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Import-Module</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Remove-Module</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Modules</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>ForEach-Object</command:name><maml:description><maml:para>Performs an operation against each item in a collection of input objects.</maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>ForEach</command:verb><command:noun>Object</command:noun><dev:version /></command:details><maml:description><maml:para>The ForEach-Object cmdlet performs an operation on each item in a collection of input objects. The input objects can be piped to the cmdlet or specified by using the InputObject parameter.</maml:para><maml:para>Beginning in Windows PowerShell 3.0, there are two different ways to construct a ForEach-Object command.</maml:para><maml:para>Script block. You can use a script block to specify the operation. Within the script block, use the $_ variable to represent the current object. The script block is the value of the Process parameter. The script block can contain any Windows PowerShell script.</maml:para><maml:para>For example, the following command gets the value of the ProcessName property of each process on the computer.</maml:para><maml:para>Get-Process | ForEach-Object {$_.ProcessName}</maml:para><maml:para>Operation statement. You can also write a operation statement, which is much more like natural language. You can use the operation statement to specify a property value or call a method. Operation statements were introduced in Windows PowerShell 3.0.</maml:para><maml:para>For example, the following command also gets the value of the ProcessName property of each process on the computer.</maml:para><maml:para>Get-Process | ForEach-Object ProcessName</maml:para><maml:para>When using the script block format, in addition to using the script block that describes the operations that are performed on each input object, you can provide two additional script blocks. The Begin script block, which is the value of the Begin parameter, runs before the first input object is processed. The End script block, which is the value of the End parameter, runs after the last input object is processed.</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>ForEach-Object</maml:name><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="false" position="1" aliases=""><maml:name>Process</maml:name><maml:description><maml:para>Specifies the operation that is performed on each input object. Enter a script block that describes the operation.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">ScriptBlock[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Begin</maml:name><maml:description><maml:para>Specifies a script block that runs before processing any input objects.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">ScriptBlock</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>End</maml:name><maml:description><maml:para>Specifies a script block that runs after processing all input objects.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">ScriptBlock</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Specifies the input objects. ForEach-Object runs the script block or operation statement on each input object. Enter a variable that contains the objects, or type a command or expression that gets the objects. When you use the InputObject parameter with ForEach-Object, instead of piping command results to ForEach-Object, the InputObject value—even if the value is a collection that is the result of a command, such as –InputObject (Get-Process)—is treated as a single object. Because InputObject cannot return individual properties from an array or collection of objects, it is recommended that if you use ForEach-Object to perform operations on a collection of objects for those objects that have specific values in defined properties, you use ForEach-Object in the pipeline, as shown in the examples in this topic.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="" pipelineInput="false" position="named" aliases=""><maml:name>RemainingScripts</maml:name><maml:description><maml:para>Takes all script blocks that are not taken by the Process parameter.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">ScriptBlock[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>ForEach-Object</maml:name><command:parameter required="true" variableLength="false" globbing="true" pipelineInput="false" position="1" aliases=""><maml:name>MemberName</maml:name><maml:description><maml:para>Specifies the property to get or the method to call. Wildcards are permitted.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="Args"><maml:name>ArgumentList</maml:name><maml:description><maml:para>Specifies the arguments to a method call.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Object[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Specifies the input objects. ForEach-Object runs the script block or operation statement on each input object. Enter a variable that contains the objects, or type a command or expression that gets the objects. When you use the InputObject parameter with ForEach-Object, instead of piping command results to ForEach-Object, the InputObject value—even if the value is a collection that is the result of a command, such as –InputObject (Get-Process)—is treated as a single object. Because InputObject cannot return individual properties from an array or collection of objects, it is recommended that if you use ForEach-Object to perform operations on a collection of objects for those objects that have specific values in defined properties, you use ForEach-Object in the pipeline, as shown in the examples in this topic.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Begin</maml:name><maml:description><maml:para>Specifies a script block that runs before processing any input objects.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">ScriptBlock</command:parameterValue><dev:type><maml:name>ScriptBlock</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>End</maml:name><maml:description><maml:para>Specifies a script block that runs after processing all input objects.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">ScriptBlock</command:parameterValue><dev:type><maml:name>ScriptBlock</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Specifies the input objects. ForEach-Object runs the script block or operation statement on each input object. Enter a variable that contains the objects, or type a command or expression that gets the objects. When you use the InputObject parameter with ForEach-Object, instead of piping command results to ForEach-Object, the InputObject value—even if the value is a collection that is the result of a command, such as –InputObject (Get-Process)—is treated as a single object. Because InputObject cannot return individual properties from an array or collection of objects, it is recommended that if you use ForEach-Object to perform operations on a collection of objects for those objects that have specific values in defined properties, you use ForEach-Object in the pipeline, as shown in the examples in this topic.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue><dev:type><maml:name>PSObject</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="false" position="1" aliases=""><maml:name>Process</maml:name><maml:description><maml:para>Specifies the operation that is performed on each input object. Enter a script block that describes the operation.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">ScriptBlock[]</command:parameterValue><dev:type><maml:name>ScriptBlock[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="" pipelineInput="false" position="named" aliases=""><maml:name>RemainingScripts</maml:name><maml:description><maml:para>Takes all script blocks that are not taken by the Process parameter.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">ScriptBlock[]</command:parameterValue><dev:type><maml:name>ScriptBlock[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="Args"><maml:name>ArgumentList</maml:name><maml:description><maml:para>Specifies the arguments to a method call.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Object[]</command:parameterValue><dev:type><maml:name>Object[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="true" pipelineInput="false" position="1" aliases=""><maml:name>MemberName</maml:name><maml:description><maml:para>Specifies the property to get or the method to call. Wildcards are permitted.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>false</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>false</dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name>System.Management.Automation.PSObject</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You can pipe any object to ForEach-Object.</maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name>System.Management.Automation.PSObject</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>The objects that ForEach-Object returns are determined by the input.</maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><maml:alertSet><maml:title /><maml:alert><maml:para>The ForEach-Object cmdlet works much like the Foreach statement, except that you cannot pipe input to a Foreach statement. For more information about the Foreach statement, see about_Foreach (http://go.microsoft.com/fwlink/?LinkID=113229).</maml:para></maml:alert></maml:alertSet><command:examples><command:example><maml:title>
  
-------------------------- EXAMPLE 1 --------------------------
  
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;30000, 56798, 12432 | ForEach-Object -Process {$_/1024}
29.296875
55.466796875
12.140625
</dev:code><dev:remarks><maml:para>This command takes an array of three integers and divides each one of them by 1024.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 2 --------------------------
  
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-ChildItem $pshome | ForEach-Object -Process {if (!$_.PSIsContainer) {$_.Name; $_.Length / 1024; "" }}
Certificate.format.ps1xml26.697265625Diagnostics.Format.ps1xml26.470703125DotNetTypes.format.ps1xml141.1982421875FileSystem.format.ps1xml20.7939453125…
</dev:code><dev:remarks><maml:para>This command gets the files and directories in the Windows PowerShell installation directory ($pshome) and passes them to the ForEach-Object cmdlet. If the object is not a directory (the value of the PSISContainer property is false), the script block gets the name of the file, divides the value of its Length property by 1024, and adds a space ("") to separate it from the next entry. </maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 3 --------------------------
  
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;$Events = Get-EventLog -LogName System -Newest 1000
PS C:\&gt;$events | ForEach-Object -Begin {Get-Date} -Process {Out-File -Filepath Events.txt -Append -InputObject $_.Message} -End {Get-Date}
</dev:code><dev:remarks><maml:para>This command gets the 1000 most recent events from the System event log and stores them in the $Events variable. It then pipes the events to the ForEach-Object cmdlet. </maml:para><maml:para>The Begin parameter displays the current date and time. Next, the Process parameter uses the Out-File cmdlet to create a text file named events.txt and stores the message property of each of the events in that file. Last, the End parameter is used to display the date and time after all of the processing has completed.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 4 --------------------------
  
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-ItemProperty -Path HKCU:\Network\* | ForEach-Object {Set-ItemProperty -Path $_.PSPath -Name RemotePath -Value $_.RemotePath.ToUpper();}
</dev:code><dev:remarks><maml:para>This command changes the value of the RemotePath registry entry in all of the subkeys under the HKCU:\Network key to uppercase text. You can use this format to change the form or content of a registry entry value.</maml:para><maml:para>Each subkey in the Network key represents a mapped network drive that will reconnect at logon. The RemotePath entry contains the UNC path of the connected drive. For example, if you map the E: drive to \\Server\Share, there will be an E subkey of HKCU:\Network and the value of the RemotePath registry entry in the E subkey will be \\Server\Share.</maml:para><maml:para>
The command uses the Get-ItemProperty cmdlet to get all of the subkeys of the Network key and the Set-ItemProperty cmdlet to change the value of the RemotePath registry entry in each key. In the Set-ItemProperty command, the path is the value of the PSPath property of the registry key. (This is a property of the Microsoft .NET Framework object that represents the registry key; it is not a registry entry.) The command uses the ToUpper() method of the RemotePath value, which is a string (REG_SZ).</maml:para><maml:para>Because Set-ItemProperty is changing the property of each key, the ForEach-Object cmdlet is required to access the property.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 5 --------------------------
  
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;1, 2, $null, 4 | ForEach-Object {"Hello"}
Hello
Hello
Hello
Hello
</dev:code><dev:remarks><maml:para>This example shows the effect of piping the $null automatic variable to the ForEach-Object cmdlet.</maml:para><maml:para>Because Windows PowerShell treats null as an explicit placeholder, the ForEach-Object cmdlet generates a value for $null, just as it does for other objects that you pipe to it.</maml:para><maml:para>For more information about the $null automatic variable, see about_Automatic_Variables.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 6 --------------------------
  
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-Module -List | ForEach-Object -MemberName Path
PS C:\&gt;Get-Module -List | Foreach Path
</dev:code><dev:remarks><maml:para>These commands gets the value of the Path property of all installed Windows PowerShell modules. They use the MemberName parameter to specify the Path property of modules.</maml:para><maml:para>The second command is equivalent to the first. It uses the Foreach alias of the Foreach-Object cmdlet and omits the name of the MemberName parameter, which is optional.</maml:para><maml:para>The ForEach-Object cmdlet is very useful for getting property values, because it gets the value without changing the type, unlike the Format cmdlets or the Select-Object cmdlet, which change the property value type.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 7 --------------------------
  
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;"Microsoft.PowerShell.Core", "Microsoft.PowerShell.Host" | ForEach-Object {$_.Split(".")}
PS C:\&gt;"Microsoft.PowerShell.Core", "Microsoft.PowerShell.Host" | ForEach-Object -MemberName Split -ArgumentList "."
PS C:\&gt;"Microsoft.PowerShell.Core", "Microsoft.PowerShell.Host" | Foreach Split "."
Microsoft
PowerShell
Core
Microsoft
PowerShell
Host
</dev:code><dev:remarks><maml:para>These commands split two dot-separated module names into their component names. The commands call the Split method of strings. The three commands use different syntax, but they are equivalent and interchangeable.</maml:para><maml:para>The first command uses the traditional syntax, which includes a script block and the current object operator ($_). It uses the dot syntax to specify the method and parentheses to enclose the delimiter argument.</maml:para><maml:para>The second command uses the MemberName parameter to specify the Split method and the ArgumentName parameter to identify the dot (".") as the split delimiter.</maml:para><maml:para>The third command uses the Foreach alias of the Foreach-Object cmdlet and omits the names of the MemberName and ArgumentList parameters, which are optional.</maml:para><maml:para>The output of these three commands, shown below, is identical.</maml:para><maml:para>Split is just one of many useful methods of strings. To see all of the properties and methods of strings, pipe a string to the Get-Member cmdlet.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=289582</maml:uri></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>Format-Default</command:name><maml:description><maml:para>This cmdlet is for internal system use only.</maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>Format</command:verb><command:noun>Default</command:noun><dev:version /></command:details><maml:description><maml:para></maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>Format-Default</maml:name><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para></maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para></maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue><dev:type><maml:name>PSObject</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name></maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para></maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name></maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para></maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><command:examples><command:example><maml:title></maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;
 
</dev:code><dev:remarks><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title></maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>
PS C:\&gt;
 
</dev:code><dev:remarks><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=309740</maml:uri></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>Get-Command</command:name><maml:description><maml:para>Gets all commands.</maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>Get</command:verb><command:noun>Command</command:noun><dev:version /></command:details><maml:description><maml:para>The Get-Command cmdlet gets all commands that are installed on the computer, including cmdlets, aliases, functions, workflows, filters, scripts, and applications. Get-Command gets the commands from Windows PowerShell modules and snap-ins and commands that were imported from other sessions. To get only commands that have been imported into the current session, use the ListImported parameter.</maml:para><maml:para>Without parameters, a "Get-Command" command gets all of the cmdlets, functions, workflows and aliases installed on the computer. A "Get-Command *" command gets all types of commands, including all of the non-Windows-PowerShell files in the Path environment variable ($env:path), which it lists in the "Application" command type. </maml:para><maml:para>A Get-Command command that uses the exact name of the command (without wildcard characters) automatically imports the module that contains the command so you can use the command immediately. To enable, disable, and configure automatic importing of modules, use the $PSModuleAutoLoadingPreference preference variable. For more information, see about_Preference_Variables (http://go.microsoft.com/fwlink/?LinkID=113248).</maml:para><maml:para>Get-Command gets its data directly from the command code, unlike Get-Help, which gets its information from help topics.</maml:para><maml:para>In Windows PowerShell 2.0, Get-Command gets only commands in current session. It does not get commands from modules that are installed, but not imported. To limit Get-Command in Windows PowerShell 3.0 and later to commands in the current session, use the ListImported parameter.</maml:para><maml:para>Starting in Windows PowerShell 5.0, results of the Get-Command cmdlet display a Version column by default; a new Version property has been added to the CommandInfo class.</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>Get-Command</maml:name><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="2" aliases="Args"><maml:name>ArgumentList</maml:name><maml:description><maml:para></maml:para><maml:para>Gets information about a cmdlet or function when it is used with the specified parameters ("arguments"). The alias for ArgumentList is Args.</maml:para><maml:para>To detect dynamic parameters that are available only when certain other parameters are used, set the value of ArgumentList to the parameters that trigger the dynamic parameters.</maml:para><maml:para>To detect the dynamic parameters that a provider adds to a cmdlet, set the value of the ArgumentList parameter to a path in the provider drive, such as "WSMan:", "HKLM:" or "Cert:". When the command is a Windows PowerShell provider cmdlet, enter only one path in each command; the provider cmdlets return only the dynamic parameters for the first path the value of ArgumentList. For information about the provider cmdlets, see about_Providers (http://go.microsoft.com/fwlink/?LinkID=113250).</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Object[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>All</maml:name><maml:description><maml:para>Gets all commands, including commands of the same type that have the same name. By default, Get-Command gets only the commands that run when you type the command name.</maml:para><maml:para>For more information about the method that Windows PowerShell uses to select the command to run when multiple commands have the same name, see about_Command_Precedence (http://go.microsoft.com/fwlink/?LinkID=113214). For information about module-qualified command names and running commands that do not run by default because of a name conflict, see about_Modules (http://go.microsoft.com/fwlink/?LinkID=144311).</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para><maml:para>In Windows PowerShell 2.0, Get-Command gets all commands by default.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"><maml:name>FullyQualifiedModule</maml:name><maml:description><maml:para>Specifies modules with names that are specified in the form of ModuleSpecification objects (described by the Remarks section of <maml:navigationLink><maml:linkText>Module Specification Constructor (Hashtable)</maml:linkText><maml:uri></maml:uri></maml:navigationLink> on MSDN). For example, the FullyQualifiedModule parameter accepts a module name that is specified in the format @{ModuleName = "modulename"; ModuleVersion = "version_number"} or @{ModuleName = "modulename"; ModuleVersion = "version_number"; Guid = "GUID"}. ModuleName and ModuleVersion are required, but Guid is optional.</maml:para><maml:para>You cannot specify the FullyQualifiedModule parameter in the same command as a Module parameter; the two parameters are mutually exclusive.</maml:para></maml:description><command:parameterValue required="false" variableLength="true">ModuleSpecification[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>ListImported</maml:name><maml:description><maml:para>Gets only commands in the current session.</maml:para><maml:para>Beginning in Windows PowerShell 3.0, by default, Get-Command gets all installed commands, including, but not limited to, the commands in the current session. In Windows PowerShell 2.0, it gets only commands in the current session.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="PSSnapin"><maml:name>Module</maml:name><maml:description><maml:para>Gets the commands that came from the specified modules or snap-ins. Enter the names of modules or snap-ins, or enter snap-in or module objects.</maml:para><maml:para>This parameter takes string values, but the value of this parameter can also be a PSModuleInfo or PSSnapinInfo object, such as the objects that the Get-Module, Get-PSSnapin, and Import-PSSession cmdlets return.</maml:para><maml:para>You can refer to this parameter by its name, Module, or by its alias, PSSnapin. The parameter name that you choose has no effect on the command output.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>Noun</maml:name><maml:description><maml:para>Gets commands (cmdlets, functions, workflows, and aliases) that have names that include the specified noun. Enter one or more nouns or noun patterns. Wildcards are permitted.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ParameterName</maml:name><maml:description><maml:para>Gets commands in the session that have the specified parameters. Enter parameter names and/or parameter aliases. Wildcard are supported.</maml:para><maml:para>The ParameterName and ParameterType parameters search only commands in the current session.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ParameterType</maml:name><maml:description><maml:para>Gets commands in the session that have parameters of the specified type. Enter the full name or partial name of a parameter type. Wildcards are supported.</maml:para><maml:para>The ParameterName and ParameterType parameters search only commands in the current session.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">PSTypeName[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>Syntax</maml:name><maml:description><maml:para>Gets only specified data about the command.</maml:para><maml:para>* For aliases, gets the standard name.</maml:para><maml:para>* For cmdlets, gets the syntax.</maml:para><maml:para>* For functions and filters, gets the function definition.</maml:para><maml:para>* For scripts and applications (files), gets the path and filename.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>TotalCount</maml:name><maml:description><maml:para>Gets the specified number of commands. You can use this parameter to limit the output of a command.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>Verb</maml:name><maml:description><maml:para>Gets commands (cmdlets, functions, workflows, and aliases) that have names that include the specified verb. Enter one or more verbs or verb patterns. Wildcards are permitted.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Get-Command</maml:name><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByValue, ByPropertyName)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Gets only commands with the specified name. Enter a name or name pattern. Wildcards are permitted.</maml:para><maml:para>To get commands that have the same name, use the All parameter. When two commands have the same name, by default, Get-Command gets the command that runs when you type the command name.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="2" aliases="Args"><maml:name>ArgumentList</maml:name><maml:description><maml:para></maml:para><maml:para>Gets information about a cmdlet or function when it is used with the specified parameters ("arguments"). The alias for ArgumentList is Args.</maml:para><maml:para>To detect dynamic parameters that are available only when certain other parameters are used, set the value of ArgumentList to the parameters that trigger the dynamic parameters.</maml:para><maml:para>To detect the dynamic parameters that a provider adds to a cmdlet, set the value of the ArgumentList parameter to a path in the provider drive, such as "WSMan:", "HKLM:" or "Cert:". When the command is a Windows PowerShell provider cmdlet, enter only one path in each command; the provider cmdlets return only the dynamic parameters for the first path the value of ArgumentList. For information about the provider cmdlets, see about_Providers (http://go.microsoft.com/fwlink/?LinkID=113250).</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Object[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>All</maml:name><maml:description><maml:para>Gets all commands, including commands of the same type that have the same name. By default, Get-Command gets only the commands that run when you type the command name.</maml:para><maml:para>For more information about the method that Windows PowerShell uses to select the command to run when multiple commands have the same name, see about_Command_Precedence (http://go.microsoft.com/fwlink/?LinkID=113214). For information about module-qualified command names and running commands that do not run by default because of a name conflict, see about_Modules (http://go.microsoft.com/fwlink/?LinkID=144311).</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para><maml:para>In Windows PowerShell 2.0, Get-Command gets all commands by default.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="Type"><maml:name>CommandType</maml:name><maml:description><maml:para>Gets only the specified types of commands. Enter one or more command types. Use CommandType or its alias, Type. By default, Get-Command gets all cmdlets, functions, and workflows, and aliases.</maml:para><maml:para>Valid values are:</maml:para><maml:para>-- Alias: Gets the aliases of all Windows PowerShell commands. For more information, see about_Aliases.</maml:para><maml:para>-- All: Gets all command types. This parameter value is the equivalent of "Get-Command *".</maml:para><maml:para>-- Application: Gets non-Windows-PowerShell files in paths listed in the Path environment variable ($env:path), including .txt, .exe, and .dll files. For more information about the Path environment variable, see about_Environment_Variables.</maml:para><maml:para>-- Cmdlet: Gets all cmdlets.</maml:para><maml:para>-- ExternalScript: Gets all .ps1 files in the paths listed in the Path environment variable ($env:path).</maml:para><maml:para>-- Filter and Function: Gets all Windows PowerShell advanced and simple functions and filters.</maml:para><maml:para>-- Script: Gets all script blocks. To get Windows PowerShell scripts (.ps1 files), use the ExternalScript value.</maml:para><maml:para>-- Workflow: Gets all workflows. For more information about workflows, see Introducing Windows PowerShell Workflow.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">CommandTypes</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"><maml:name>FullyQualifiedModule</maml:name><maml:description><maml:para>Specifies modules with names that are specified in the form of ModuleSpecification objects (described by the Remarks section of <maml:navigationLink><maml:linkText>Module Specification Constructor (Hashtable)</maml:linkText><maml:uri></maml:uri></maml:navigationLink> on MSDN). For example, the FullyQualifiedModule parameter accepts a module name that is specified in the format @{ModuleName = "modulename"; ModuleVersion = "version_number"} or @{ModuleName = "modulename"; ModuleVersion = "version_number"; Guid = "GUID"}. ModuleName and ModuleVersion are required, but Guid is optional.</maml:para><maml:para>You cannot specify the FullyQualifiedModule parameter in the same command as a Module parameter; the two parameters are mutually exclusive.</maml:para></maml:description><command:parameterValue required="false" variableLength="true">ModuleSpecification[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>ListImported</maml:name><maml:description><maml:para>Gets only commands in the current session.</maml:para><maml:para>Beginning in Windows PowerShell 3.0, by default, Get-Command gets all installed commands, including, but not limited to, the commands in the current session. In Windows PowerShell 2.0, it gets only commands in the current session.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="PSSnapin"><maml:name>Module</maml:name><maml:description><maml:para>Gets the commands that came from the specified modules or snap-ins. Enter the names of modules or snap-ins, or enter snap-in or module objects.</maml:para><maml:para>This parameter takes string values, but the value of this parameter can also be a PSModuleInfo or PSSnapinInfo object, such as the objects that the Get-Module, Get-PSSnapin, and Import-PSSession cmdlets return.</maml:para><maml:para>You can refer to this parameter by its name, Module, or by its alias, PSSnapin. The parameter name that you choose has no effect on the command output.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ParameterName</maml:name><maml:description><maml:para>Gets commands in the session that have the specified parameters. Enter parameter names and/or parameter aliases. Wildcard are supported.</maml:para><maml:para>The ParameterName and ParameterType parameters search only commands in the current session.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ParameterType</maml:name><maml:description><maml:para>Gets commands in the session that have parameters of the specified type. Enter the full name or partial name of a parameter type. Wildcards are supported.</maml:para><maml:para>The ParameterName and ParameterType parameters search only commands in the current session.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">PSTypeName[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>Syntax</maml:name><maml:description><maml:para>Gets only specified data about the command.</maml:para><maml:para>* For aliases, gets the standard name.</maml:para><maml:para>* For cmdlets, gets the syntax.</maml:para><maml:para>* For functions and filters, gets the function definition.</maml:para><maml:para>* For scripts and applications (files), gets the path and filename.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>TotalCount</maml:name><maml:description><maml:para>Gets the specified number of commands. You can use this parameter to limit the output of a command.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>All</maml:name><maml:description><maml:para>Gets all commands, including commands of the same type that have the same name. By default, Get-Command gets only the commands that run when you type the command name.</maml:para><maml:para>For more information about the method that Windows PowerShell uses to select the command to run when multiple commands have the same name, see about_Command_Precedence (http://go.microsoft.com/fwlink/?LinkID=113214). For information about module-qualified command names and running commands that do not run by default because of a name conflict, see about_Modules (http://go.microsoft.com/fwlink/?LinkID=144311).</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para><maml:para>In Windows PowerShell 2.0, Get-Command gets all commands by default.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="2" aliases="Args"><maml:name>ArgumentList</maml:name><maml:description><maml:para></maml:para><maml:para>Gets information about a cmdlet or function when it is used with the specified parameters ("arguments"). The alias for ArgumentList is Args.</maml:para><maml:para>To detect dynamic parameters that are available only when certain other parameters are used, set the value of ArgumentList to the parameters that trigger the dynamic parameters.</maml:para><maml:para>To detect the dynamic parameters that a provider adds to a cmdlet, set the value of the ArgumentList parameter to a path in the provider drive, such as "WSMan:", "HKLM:" or "Cert:". When the command is a Windows PowerShell provider cmdlet, enter only one path in each command; the provider cmdlets return only the dynamic parameters for the first path the value of ArgumentList. For information about the provider cmdlets, see about_Providers (http://go.microsoft.com/fwlink/?LinkID=113250).</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Object[]</command:parameterValue><dev:type><maml:name>Object[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="Type"><maml:name>CommandType</maml:name><maml:description><maml:para>Gets only the specified types of commands. Enter one or more command types. Use CommandType or its alias, Type. By default, Get-Command gets all cmdlets, functions, and workflows, and aliases.</maml:para><maml:para>Valid values are:</maml:para><maml:para>-- Alias: Gets the aliases of all Windows PowerShell commands. For more information, see about_Aliases.</maml:para><maml:para>-- All: Gets all command types. This parameter value is the equivalent of "Get-Command *".</maml:para><maml:para>-- Application: Gets non-Windows-PowerShell files in paths listed in the Path environment variable ($env:path), including .txt, .exe, and .dll files. For more information about the Path environment variable, see about_Environment_Variables.</maml:para><maml:para>-- Cmdlet: Gets all cmdlets.</maml:para><maml:para>-- ExternalScript: Gets all .ps1 files in the paths listed in the Path environment variable ($env:path).</maml:para><maml:para>-- Filter and Function: Gets all Windows PowerShell advanced and simple functions and filters.</maml:para><maml:para>-- Script: Gets all script blocks. To get Windows PowerShell scripts (.ps1 files), use the ExternalScript value.</maml:para><maml:para>-- Workflow: Gets all workflows. For more information about workflows, see Introducing Windows PowerShell Workflow.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">CommandTypes</command:parameterValue><dev:type><maml:name>CommandTypes</maml:name><maml:uri /></dev:type><dev:defaultValue>Cmdlets, functions, workflows, and alias</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none"><maml:name>FullyQualifiedModule</maml:name><maml:description><maml:para>Specifies modules with names that are specified in the form of ModuleSpecification objects (described by the Remarks section of <maml:navigationLink><maml:linkText>Module Specification Constructor (Hashtable)</maml:linkText><maml:uri></maml:uri></maml:navigationLink> on MSDN). For example, the FullyQualifiedModule parameter accepts a module name that is specified in the format @{ModuleName = "modulename"; ModuleVersion = "version_number"} or @{ModuleName = "modulename"; ModuleVersion = "version_number"; Guid = "GUID"}. ModuleName and ModuleVersion are required, but Guid is optional.</maml:para><maml:para>You cannot specify the FullyQualifiedModule parameter in the same command as a Module parameter; the two parameters are mutually exclusive.</maml:para></maml:description><command:parameterValue required="false" variableLength="true">ModuleSpecification[]</command:parameterValue><dev:type><maml:name>ModuleSpecification[]</maml:name><maml:uri /></dev:type><dev:defaultValue>All imported or available modules.</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="PSSnapin"><maml:name>Module</maml:name><maml:description><maml:para>Gets the commands that came from the specified modules or snap-ins. Enter the names of modules or snap-ins, or enter snap-in or module objects.</maml:para><maml:para>This parameter takes string values, but the value of this parameter can also be a PSModuleInfo or PSSnapinInfo object, such as the objects that the Get-Module, Get-PSSnapin, and Import-PSSession cmdlets return.</maml:para><maml:para>You can refer to this parameter by its name, Module, or by its alias, PSSnapin. The parameter name that you choose has no effect on the command output.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>All imported or available modules.</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByValue, ByPropertyName)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Gets only commands with the specified name. Enter a name or name pattern. Wildcards are permitted.</maml:para><maml:para>To get commands that have the same name, use the All parameter. When two commands have the same name, by default, Get-Command gets the command that runs when you type the command name.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>Noun</maml:name><maml:description><maml:para>Gets commands (cmdlets, functions, workflows, and aliases) that have names that include the specified noun. Enter one or more nouns or noun patterns. Wildcards are permitted.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>All nouns</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>Syntax</maml:name><maml:description><maml:para>Gets only specified data about the command.</maml:para><maml:para>* For aliases, gets the standard name.</maml:para><maml:para>* For cmdlets, gets the syntax.</maml:para><maml:para>* For functions and filters, gets the function definition.</maml:para><maml:para>* For scripts and applications (files), gets the path and filename.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>TotalCount</maml:name><maml:description><maml:para>Gets the specified number of commands. You can use this parameter to limit the output of a command.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue><dev:type><maml:name>Int32</maml:name><maml:uri /></dev:type><dev:defaultValue>All commands</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>Verb</maml:name><maml:description><maml:para>Gets commands (cmdlets, functions, workflows, and aliases) that have names that include the specified verb. Enter one or more verbs or verb patterns. Wildcards are permitted.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>All verbs</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>ListImported</maml:name><maml:description><maml:para>Gets only commands in the current session.</maml:para><maml:para>Beginning in Windows PowerShell 3.0, by default, Get-Command gets all installed commands, including, but not limited to, the commands in the current session. In Windows PowerShell 2.0, it gets only commands in the current session.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ParameterName</maml:name><maml:description><maml:para>Gets commands in the session that have the specified parameters. Enter parameter names and/or parameter aliases. Wildcard are supported.</maml:para><maml:para>The ParameterName and ParameterType parameters search only commands in the current session.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>All parameter names</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ParameterType</maml:name><maml:description><maml:para>Gets commands in the session that have parameters of the specified type. Enter the full name or partial name of a parameter type. Wildcards are supported.</maml:para><maml:para>The ParameterName and ParameterType parameters search only commands in the current session.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">PSTypeName[]</command:parameterValue><dev:type><maml:name>PSTypeName[]</maml:name><maml:uri /></dev:type><dev:defaultValue>All parameter types</dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name>System.String</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You can pipe command names to Get-Command.</maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name>System.Management.Automation.CommandInfo</maml:name><maml:uri>http://msdn.microsoft.com/en-us/library/windows/desktop/system.management.automation.commandinfo(v=vs.85).aspx</maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>All Get-Command output types are derived from this class. The type of object that is returned depends on the type of command that Get-Command gets.</maml:para></maml:description></command:returnValue><command:returnValue><dev:type><maml:name>System.Management.Automation.AliasInfo</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>Represents aliases.</maml:para></maml:description></command:returnValue><command:returnValue><dev:type><maml:name>System.Management.Automation.ApplicationInfo</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>Represents or applications and files</maml:para></maml:description></command:returnValue><command:returnValue><dev:type><maml:name>System.Management.Automation.CmdletInfo</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>Represents cmdlets.</maml:para></maml:description></command:returnValue><command:returnValue><dev:type><maml:name>System.Management.Automation.FunctionInfo</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>Represents functions and filters</maml:para></maml:description></command:returnValue><command:returnValue><dev:type><maml:name>System.Management.Automation.WorkflowInfo</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para></maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><maml:alertSet><maml:title /><maml:alert><maml:para>When more than one command with the same name is available to the session, Get-Command returns the command that runs when you type the command name. To get commands with the same name (listed in execution order), use the All parameter. For more information, see about_Command_Precedence.</maml:para></maml:alert><maml:alert><maml:para>When a module is imported automatically, the effect is the same as using the Import-Module cmdlet. The module can add commands, types and formatting files, and run scripts in the session. To enable, disable, and configuration automatic importing of modules, use the $PSModuleAutoLoadingPreference preference variable. For more information, see about_Preference_Variables (http://go.microsoft.com/fwlink/?LinkID=113248).</maml:para></maml:alert></maml:alertSet><command:examples><command:example><maml:title>
  
-------------------------- EXAMPLE 1 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-Command
</dev:code><dev:remarks><maml:para>This command gets the Windows PowerShell cmdlets, functions, and aliases that are installed on the computer.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 2 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-Command -ListImported
</dev:code><dev:remarks><maml:para>This command uses the ListImported parameter to get only the commands in the current session.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 3 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-Command -Type Cmdlet | Sort-Object -Property Noun | Format-Table -GroupBy Noun
</dev:code><dev:remarks><maml:para>This command gets all of the cmdlets, sorts them alphabetically by the noun in the cmdlet name, and then displays them in noun-based groups. This display can help you find the cmdlets for a task.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 4 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-Command -Module Microsoft.PowerShell.Security, PSScheduledJob
</dev:code><dev:remarks><maml:para>This command uses the Module parameter to get the commands in the Microsoft.PowerShell.Security and PSScheduledJob modules.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 5 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-Command Get-AppLockerPolicy
</dev:code><dev:remarks><maml:para>This command gets information about the Get-AppLockerPolicy cmdlet. It also imports the AppLocker module, which adds all of the commands in the AppLocker module to the current session.</maml:para><maml:para>When a module is imported automatically, the effect is the same as using the Import-Module cmdlet. The module can add commands, types and formatting files, and run scripts in the session. To enable, disable, and configuration automatic importing of modules, use the $PSModuleAutoLoadingPreference preference variable. For more information, see about_Preference_Variables (http://go.microsoft.com/fwlink/?LinkID=113248).</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 6 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-Command Get-Childitem -Args Cert: -Syntax
</dev:code><dev:remarks><maml:para>This command uses the ArgumentList and Syntax parameters to get the syntax of the Get-ChildItem cmdlet when it is used in the Cert: drive. The Cert: drive is a Windows PowerShell drive that the Certificate Provider adds to the session.</maml:para><maml:para>When you compare the syntax displayed in the output with the syntax that is displayed when you omit the Args (ArgumentList) parameter, you'll see that the Certificate provider adds a dynamic parameter, CodeSigningCert, to the Get-ChildItem cmdlet.</maml:para><maml:para>For more information about the Certificate provider, see Certificate Provider.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 7 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;function Get-DynamicParameters
{
    param ($Cmdlet, $PSDrive)
    (Get-Command $Cmdlet -ArgumentList $PSDrive).ParameterSets | ForEach-Object {$_.Parameters} | Where-Object { $_.IsDynamic } | Select-Object -Property Name -Unique
}
PS C:\&gt; Get-DynamicParameters -Cmdlet Get-ChildItem -PSDrive Cert:
 
Name
----
CodeSigningCert
</dev:code><dev:remarks><maml:para>The Get-DynamicParameters function in this example gets the dynamic parameters of a cmdlet. This is an alternative to the method used in the previous example. Dynamic parameter can be added to a cmdlet by another cmdlet or a provider.</maml:para><maml:para>The command in the example uses the Get-DynamicParameters function to get the dynamic parameters that the Certificate provider adds to the Get-ChildItem cmdlet when it is used in the Cert: drive.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 8 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-Command *
</dev:code><dev:remarks><maml:para>This command gets all commands of all types on the local computer, including executable files in the paths of the Path environment variable ($env:path). It returns an ApplicationInfo object (System.Management.Automation.ApplicationInfo) for each file, not a FileInfo object (System.IO.FileInfo).</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 9 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-Command -ParameterName *Auth* -ParameterType AuthenticationMechanism
</dev:code><dev:remarks><maml:para>This command gets cmdlets that have a parameter whose name includes "Auth" and whose type is AuthenticationMechanism. You can use a command like this one to find cmdlets that let you specify the method that is used to authenticate the user. </maml:para><maml:para>The ParameterType parameter distinguishes parameters that take an AuthenticationMechanism value from those that take an AuthenticationLevel parameter, even when they have similar names.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 10 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-Command dir
CommandType Name ModuleName
----------- ---- ----------
Alias dir -&gt; Get-ChildItem
</dev:code><dev:remarks><maml:para>This example shows how to use the Get-Command cmdlet with an alias. Although it is typically used on cmdlets and functions, Get-Command also gets scripts, functions, aliases, workflows, and executable files.</maml:para><maml:para>The output of the command shows the special view of the Name property value for aliases. The view shows the alias and the full command name.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 11 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-Command Notepad -All | Format-Table CommandType, Name, Definition
 
CommandType Name Definition
----------- ---- ----------
Application notepad.exe C:\WINDOWS\system32\notepad.exe
Application NOTEPAD.EXE C:\WINDOWS\NOTEPAD.EXE
</dev:code><dev:remarks><maml:para>This example uses the All parameter of the Get-Command cmdlet to show all instances of the "Notepad" command on the local computer. The All parameter is useful when there is more than one command with the same name in the session.</maml:para><maml:para>Beginning in Windows PowerShell 3.0, by default, when the session includes multiple commands with the same name, Get-Command gets only the command that runs when you type the command name. With the All parameter, Get-Command gets all commands with the specified name and returns them in execution precedence order. To run a command other than the first one in the list, type the fully qualified path to the command.</maml:para><maml:para>For more information about command precedence, see about_Command_Precedence (http://go.microsoft.com/fwlink/?LinkID=113214).</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 12 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;(Get-Command Get-Date).ModuleName
Microsoft.PowerShell.Utility
</dev:code><dev:remarks><maml:para>This command gets the name of the snap-in or module in which the Get-Date cmdlet originated. The command uses the ModuleName property of all commands.</maml:para><maml:para>This command format works on commands in Windows PowerShell modules and snap-ins, even if they are not imported into the session.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 13 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-Command -Type Cmdlet | Where-Object OutputType | Format-List -Property Name, OutputType
</dev:code><dev:remarks><maml:para>This command gets the cmdlets and functions that have an output type and the type of objects that they return.</maml:para><maml:para>The first part of the command gets all cmdlets. A pipeline operator (|) sends the cmdlets to the Where-Object cmdlet, which selects only the ones in which the OutputType property is populated. Another pipeline operator sends the selected cmdlet objects to the Format-List cmdlet, which displays the name and output type of each cmdlet in a list.</maml:para><maml:para>The OutputType property of a CommandInfo object has a non-null value only when the cmdlet code defines the OutputType attribute for the cmdlet.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 14 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-Command -ParameterType (((Get-NetAdapter)[0]).PSTypeNames)
CommandType Name ModuleName
----------- ---- ----------
Function Disable-NetAdapter NetAdapter
Function Enable-NetAdapter NetAdapter
Function Rename-NetAdapter NetAdapter
Function Restart-NetAdapter NetAdapter
Function Set-NetAdapter NetAdapter
</dev:code><dev:remarks><maml:para>This command finds cmdlets that take net adapter objects as input. You can use this command format to find the cmdlets that accept the type of objects that any command returns.</maml:para><maml:para>The command uses the PSTypeNames intrinsic property of all objects, which gets the types that describe the object. To get the PSTypeNames property of a net adapter, and not the PSTypeNames property of a collection of net adapters, the command uses array notation to get the first net adapter that the cmdlet returns.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=289583</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Export-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Get-Help</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Get-Member</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Get-PSDrive</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Import-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Command_Precedence</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>Get-Help</command:name><maml:description><maml:para>Displays information about Windows PowerShell commands and concepts.</maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>Get</command:verb><command:noun>Help</command:noun><dev:version /></command:details><maml:description><maml:para>The Get-Help cmdlet displays information about Windows PowerShell concepts and commands, including cmdlets, functions, CIM commands, workflows, providers, aliases and scripts.</maml:para><maml:para>To get help for a Windows PowerShell command, type "Get-Help" followed by the command name, such as: Get-Help Get-Process. To get a list of all help topics on your system, type: Get-Help *. You can display the entire help topic or use the parameters of the Get-Help cmdlet to get selected parts of the topic, such as the syntax, parameters, or examples.</maml:para><maml:para>Conceptual help topics in Windows PowerShell begin with "about_", such as "about_Comparison_Operators". To see all "about_" topics, type: Get-Help about_*. To see a particular topic, type: Get-Help about_&lt;topic-name&gt;, such as Get-Help about_Comparison_Operators.</maml:para><maml:para>To get help for a Windows PowerShell provider, type "Get-Help" followed by the provider name. For example, to get help for the Certificate provider, type: Get-Help Certificate.</maml:para><maml:para>In addition to "Get-Help", you can also type "help" or "man", which displays one screen of text at a time, or "&lt;cmdlet-name&gt; -?", which is identical to Get-Help but works only for commands.</maml:para><maml:para>Get-Help gets the help content that it displays from help files on your computer. Without the help files, Get-Help displays only basic information about commands. Some Windows PowerShell modules come with help files. However, beginning in Windows PowerShell 3.0, the modules that come with Windows do not include help files. To download or update the help files for a module in Windows PowerShell 3.0, use the Update-Help cmdlet. </maml:para><maml:para>You can also view the help topics for Windows PowerShell online in the TechNet Library. To get the online version of a help topic, use the Online parameter, such as: Get-Help Get-Process -Online. You can read all of the help topics beginning at: <maml:navigationLink><maml:linkText>http://go.microsoft.com/fwlink/?LinkID=107116</maml:linkText><maml:uri></maml:uri></maml:navigationLink>.</maml:para><maml:para>If you type "Get-Help" followed by the exact name of a help topic, or by a word unique to a help topic, Get-Help displays the topic contents. If you enter a word or word pattern that appears in several help topic titles, Get-Help displays a list of the matching titles. If you enter a word that does not appear in any help topic titles, Get-Help displays a list of topics that include that word in their contents. </maml:para><maml:para>Get-Help can get help topics for all supported languages and locales. Get-Help first looks for help files in the locale set for Windows, then in the parent locale (such as "pt" for "pt-BR"), and then in a fallback locale. Beginning in Windows PowerShell 3.0, if Get-Help does not find help in the fallback locale, it looks for help topics in English ("en-US") before returning an error message or displaying auto-generated help.</maml:para><maml:para>For information about the symbols that Get-Help displays in the command syntax diagram, see <maml:navigationLink><maml:linkText>about_Command_Syntax</maml:linkText><maml:uri></maml:uri></maml:navigationLink>. For information about parameter attributes, such as Required and Position, see <maml:navigationLink><maml:linkText>about_Parameters</maml:linkText><maml:uri></maml:uri></maml:navigationLink>.</maml:para><maml:para>TROUBLESHOOTING NOTE: In Windows PowerShell 3.0 and 4.0, Get-Help cannot find About topics in modules unless the module is imported into the current session. This is a known issue. To get About topics in a module, import the module, either by using the Import-Module cmdlet or by running a cmdlet in the module.</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>Get-Help</maml:name><command:parameter required="false" variableLength="false" globbing="true" pipelineInput="true (ByPropertyName)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Gets help about the specified command or concept. Enter the name of a cmdlet, function, provider, script, or workflow, such as "Get-Member", a conceptual topic name, such as "about_Objects", or an alias, such as "ls". Wildcards are permitted in cmdlet and provider names, but you cannot use wildcards to find the names of function help and script help topics.</maml:para><maml:para>To get help for a script that is not located in a path that is listed in the Path environment variable, type the path and file name of the script .</maml:para><maml:para>If you enter the exact name of a help topic, Get-Help displays the topic contents. If you enter a word or word pattern that appears in several help topic titles, Get-Help displays a list of the matching titles. If you enter a word that does not match any help topic titles, Get-Help displays a list of topics that include that word in their contents. </maml:para><maml:para>The names of conceptual topics, such as "about_Objects", must be entered in English, even in non-English versions of Windows PowerShell.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Category</maml:name><maml:description><maml:para>Displays help only for items in the specified category and their aliases. Valid values are Alias, Cmdlet, Function, Provider, Workflow, and HelpFile. Conceptual topics are in the HelpFile category.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>Component</maml:name><maml:description><maml:para>Displays commands with the specified component value, such as "Exchange." Enter a component name. Wildcards are permitted.</maml:para><maml:para>This parameter has no effect on displays of conceptual ("About_") help.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Full</maml:name><maml:description><maml:para>Displays the entire help topic for a cmdlet, including parameter descriptions and attributes, examples, input and output object types, and additional notes. </maml:para><maml:para>This parameter is effective only when help files are for the command are installed on the computer. It has no effect on displays of conceptual ("About_") help.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>Functionality</maml:name><maml:description><maml:para>Displays help for items with the specified functionality. Enter the functionality. Wildcards are permitted.</maml:para><maml:para>This parameter has no effect on displays of conceptual ("About_") help.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Path</maml:name><maml:description><maml:para>Gets help that explains how the cmdlet works in the specified provider path. Enter a Windows PowerShell provider path.</maml:para><maml:para>This parameter gets a customized version of a cmdlet help topic that explains how the cmdlet works in the specified Windows PowerShell provider path. This parameter is effective only for help about a provider cmdlet and only when the provider includes a custom version of the provider cmdlet help topic in its help file. To use this parameter, install the help file for the module that includes the provider.</maml:para><maml:para>To see the custom cmdlet help for a provider path, go to the provider path location and enter a Get-Help command or, from any path location, use the Path parameter of Get-Help to specify the provider path. You can also find custom cmdlet help online in the provider help section of the help topics. For example, you can find help for the New-Item cmdlet in the Wsman:\*\ClientCertificate path (http://go.microsoft.com/fwlink/?LinkID=158676).</maml:para><maml:para>For more information about Windows PowerShell providers, see about_Providers (http://go.microsoft.com/fwlink/?LinkID=113250).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>Role</maml:name><maml:description><maml:para>Displays help customized for the specified user role. Enter a role. Wildcards are permitted.</maml:para><maml:para>Enter the role that the user plays in an organization. Some cmdlets display different text in their help files based on the value of this parameter. This parameter has no effect on help for the core cmdlets.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Get-Help</maml:name><command:parameter required="false" variableLength="false" globbing="true" pipelineInput="true (ByPropertyName)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Gets help about the specified command or concept. Enter the name of a cmdlet, function, provider, script, or workflow, such as "Get-Member", a conceptual topic name, such as "about_Objects", or an alias, such as "ls". Wildcards are permitted in cmdlet and provider names, but you cannot use wildcards to find the names of function help and script help topics.</maml:para><maml:para>To get help for a script that is not located in a path that is listed in the Path environment variable, type the path and file name of the script .</maml:para><maml:para>If you enter the exact name of a help topic, Get-Help displays the topic contents. If you enter a word or word pattern that appears in several help topic titles, Get-Help displays a list of the matching titles. If you enter a word that does not match any help topic titles, Get-Help displays a list of topics that include that word in their contents. </maml:para><maml:para>The names of conceptual topics, such as "about_Objects", must be entered in English, even in non-English versions of Windows PowerShell.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Category</maml:name><maml:description><maml:para>Displays help only for items in the specified category and their aliases. Valid values are Alias, Cmdlet, Function, Provider, Workflow, and HelpFile. Conceptual topics are in the HelpFile category.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>Component</maml:name><maml:description><maml:para>Displays commands with the specified component value, such as "Exchange." Enter a component name. Wildcards are permitted.</maml:para><maml:para>This parameter has no effect on displays of conceptual ("About_") help.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>Functionality</maml:name><maml:description><maml:para>Displays help for items with the specified functionality. Enter the functionality. Wildcards are permitted.</maml:para><maml:para>This parameter has no effect on displays of conceptual ("About_") help.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Path</maml:name><maml:description><maml:para>Gets help that explains how the cmdlet works in the specified provider path. Enter a Windows PowerShell provider path.</maml:para><maml:para>This parameter gets a customized version of a cmdlet help topic that explains how the cmdlet works in the specified Windows PowerShell provider path. This parameter is effective only for help about a provider cmdlet and only when the provider includes a custom version of the provider cmdlet help topic in its help file. To use this parameter, install the help file for the module that includes the provider.</maml:para><maml:para>To see the custom cmdlet help for a provider path, go to the provider path location and enter a Get-Help command or, from any path location, use the Path parameter of Get-Help to specify the provider path. You can also find custom cmdlet help online in the provider help section of the help topics. For example, you can find help for the New-Item cmdlet in the Wsman:\*\ClientCertificate path (http://go.microsoft.com/fwlink/?LinkID=158676).</maml:para><maml:para>For more information about Windows PowerShell providers, see about_Providers (http://go.microsoft.com/fwlink/?LinkID=113250).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>Role</maml:name><maml:description><maml:para>Displays help customized for the specified user role. Enter a role. Wildcards are permitted.</maml:para><maml:para>Enter the role that the user plays in an organization. Some cmdlets display different text in their help files based on the value of this parameter. This parameter has no effect on help for the core cmdlets.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Detailed</maml:name><maml:description><maml:para>Adds parameter descriptions and examples to the basic help display.</maml:para><maml:para>This parameter is effective only when help files are for the command are installed on the computer. It has no effect on displays of conceptual ("About_") help.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Get-Help</maml:name><command:parameter required="false" variableLength="false" globbing="true" pipelineInput="true (ByPropertyName)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Gets help about the specified command or concept. Enter the name of a cmdlet, function, provider, script, or workflow, such as "Get-Member", a conceptual topic name, such as "about_Objects", or an alias, such as "ls". Wildcards are permitted in cmdlet and provider names, but you cannot use wildcards to find the names of function help and script help topics.</maml:para><maml:para>To get help for a script that is not located in a path that is listed in the Path environment variable, type the path and file name of the script .</maml:para><maml:para>If you enter the exact name of a help topic, Get-Help displays the topic contents. If you enter a word or word pattern that appears in several help topic titles, Get-Help displays a list of the matching titles. If you enter a word that does not match any help topic titles, Get-Help displays a list of topics that include that word in their contents. </maml:para><maml:para>The names of conceptual topics, such as "about_Objects", must be entered in English, even in non-English versions of Windows PowerShell.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Category</maml:name><maml:description><maml:para>Displays help only for items in the specified category and their aliases. Valid values are Alias, Cmdlet, Function, Provider, Workflow, and HelpFile. Conceptual topics are in the HelpFile category.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>Component</maml:name><maml:description><maml:para>Displays commands with the specified component value, such as "Exchange." Enter a component name. Wildcards are permitted.</maml:para><maml:para>This parameter has no effect on displays of conceptual ("About_") help.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>Functionality</maml:name><maml:description><maml:para>Displays help for items with the specified functionality. Enter the functionality. Wildcards are permitted.</maml:para><maml:para>This parameter has no effect on displays of conceptual ("About_") help.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Path</maml:name><maml:description><maml:para>Gets help that explains how the cmdlet works in the specified provider path. Enter a Windows PowerShell provider path.</maml:para><maml:para>This parameter gets a customized version of a cmdlet help topic that explains how the cmdlet works in the specified Windows PowerShell provider path. This parameter is effective only for help about a provider cmdlet and only when the provider includes a custom version of the provider cmdlet help topic in its help file. To use this parameter, install the help file for the module that includes the provider.</maml:para><maml:para>To see the custom cmdlet help for a provider path, go to the provider path location and enter a Get-Help command or, from any path location, use the Path parameter of Get-Help to specify the provider path. You can also find custom cmdlet help online in the provider help section of the help topics. For example, you can find help for the New-Item cmdlet in the Wsman:\*\ClientCertificate path (http://go.microsoft.com/fwlink/?LinkID=158676).</maml:para><maml:para>For more information about Windows PowerShell providers, see about_Providers (http://go.microsoft.com/fwlink/?LinkID=113250).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>Role</maml:name><maml:description><maml:para>Displays help customized for the specified user role. Enter a role. Wildcards are permitted.</maml:para><maml:para>Enter the role that the user plays in an organization. Some cmdlets display different text in their help files based on the value of this parameter. This parameter has no effect on help for the core cmdlets.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Examples</maml:name><maml:description><maml:para>Displays only the name, synopsis, and examples. To display only the examples, type "(Get-Help &lt;cmdlet-name&gt;).Examples".</maml:para><maml:para>This parameter is effective only when help files are for the command are installed on the computer. It has no effect on displays of conceptual ("About_") help. </maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Get-Help</maml:name><command:parameter required="false" variableLength="false" globbing="true" pipelineInput="true (ByPropertyName)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Gets help about the specified command or concept. Enter the name of a cmdlet, function, provider, script, or workflow, such as "Get-Member", a conceptual topic name, such as "about_Objects", or an alias, such as "ls". Wildcards are permitted in cmdlet and provider names, but you cannot use wildcards to find the names of function help and script help topics.</maml:para><maml:para>To get help for a script that is not located in a path that is listed in the Path environment variable, type the path and file name of the script .</maml:para><maml:para>If you enter the exact name of a help topic, Get-Help displays the topic contents. If you enter a word or word pattern that appears in several help topic titles, Get-Help displays a list of the matching titles. If you enter a word that does not match any help topic titles, Get-Help displays a list of topics that include that word in their contents. </maml:para><maml:para>The names of conceptual topics, such as "about_Objects", must be entered in English, even in non-English versions of Windows PowerShell.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Category</maml:name><maml:description><maml:para>Displays help only for items in the specified category and their aliases. Valid values are Alias, Cmdlet, Function, Provider, Workflow, and HelpFile. Conceptual topics are in the HelpFile category.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>Component</maml:name><maml:description><maml:para>Displays commands with the specified component value, such as "Exchange." Enter a component name. Wildcards are permitted.</maml:para><maml:para>This parameter has no effect on displays of conceptual ("About_") help.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>Functionality</maml:name><maml:description><maml:para>Displays help for items with the specified functionality. Enter the functionality. Wildcards are permitted.</maml:para><maml:para>This parameter has no effect on displays of conceptual ("About_") help.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Path</maml:name><maml:description><maml:para>Gets help that explains how the cmdlet works in the specified provider path. Enter a Windows PowerShell provider path.</maml:para><maml:para>This parameter gets a customized version of a cmdlet help topic that explains how the cmdlet works in the specified Windows PowerShell provider path. This parameter is effective only for help about a provider cmdlet and only when the provider includes a custom version of the provider cmdlet help topic in its help file. To use this parameter, install the help file for the module that includes the provider.</maml:para><maml:para>To see the custom cmdlet help for a provider path, go to the provider path location and enter a Get-Help command or, from any path location, use the Path parameter of Get-Help to specify the provider path. You can also find custom cmdlet help online in the provider help section of the help topics. For example, you can find help for the New-Item cmdlet in the Wsman:\*\ClientCertificate path (http://go.microsoft.com/fwlink/?LinkID=158676).</maml:para><maml:para>For more information about Windows PowerShell providers, see about_Providers (http://go.microsoft.com/fwlink/?LinkID=113250).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>Role</maml:name><maml:description><maml:para>Displays help customized for the specified user role. Enter a role. Wildcards are permitted.</maml:para><maml:para>Enter the role that the user plays in an organization. Some cmdlets display different text in their help files based on the value of this parameter. This parameter has no effect on help for the core cmdlets.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Online</maml:name><maml:description><maml:para>Displays the online version of a help topic in the default Internet browser. This parameter is valid only for cmdlet, function, workflow and script help topics. You cannot use the Online parameter in Get-Help commands in a remote session.</maml:para><maml:para>For information about supporting this feature in help topics that you write, see about_Comment_Based_Help (http://go.microsoft.com/fwlink/?LinkID=144309), and "Supporting Online Help" (http://go.microsoft.com/fwlink/?LinkID=242132), and "How to Write Cmdlet Help" (http://go.microsoft.com/fwlink/?LinkID=123415) in the MSDN (Microsoft Developer Network) library.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Get-Help</maml:name><command:parameter required="false" variableLength="false" globbing="true" pipelineInput="true (ByPropertyName)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Gets help about the specified command or concept. Enter the name of a cmdlet, function, provider, script, or workflow, such as "Get-Member", a conceptual topic name, such as "about_Objects", or an alias, such as "ls". Wildcards are permitted in cmdlet and provider names, but you cannot use wildcards to find the names of function help and script help topics.</maml:para><maml:para>To get help for a script that is not located in a path that is listed in the Path environment variable, type the path and file name of the script .</maml:para><maml:para>If you enter the exact name of a help topic, Get-Help displays the topic contents. If you enter a word or word pattern that appears in several help topic titles, Get-Help displays a list of the matching titles. If you enter a word that does not match any help topic titles, Get-Help displays a list of topics that include that word in their contents. </maml:para><maml:para>The names of conceptual topics, such as "about_Objects", must be entered in English, even in non-English versions of Windows PowerShell.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Category</maml:name><maml:description><maml:para>Displays help only for items in the specified category and their aliases. Valid values are Alias, Cmdlet, Function, Provider, Workflow, and HelpFile. Conceptual topics are in the HelpFile category.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>Component</maml:name><maml:description><maml:para>Displays commands with the specified component value, such as "Exchange." Enter a component name. Wildcards are permitted.</maml:para><maml:para>This parameter has no effect on displays of conceptual ("About_") help.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>Functionality</maml:name><maml:description><maml:para>Displays help for items with the specified functionality. Enter the functionality. Wildcards are permitted.</maml:para><maml:para>This parameter has no effect on displays of conceptual ("About_") help.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Path</maml:name><maml:description><maml:para>Gets help that explains how the cmdlet works in the specified provider path. Enter a Windows PowerShell provider path.</maml:para><maml:para>This parameter gets a customized version of a cmdlet help topic that explains how the cmdlet works in the specified Windows PowerShell provider path. This parameter is effective only for help about a provider cmdlet and only when the provider includes a custom version of the provider cmdlet help topic in its help file. To use this parameter, install the help file for the module that includes the provider.</maml:para><maml:para>To see the custom cmdlet help for a provider path, go to the provider path location and enter a Get-Help command or, from any path location, use the Path parameter of Get-Help to specify the provider path. You can also find custom cmdlet help online in the provider help section of the help topics. For example, you can find help for the New-Item cmdlet in the Wsman:\*\ClientCertificate path (http://go.microsoft.com/fwlink/?LinkID=158676).</maml:para><maml:para>For more information about Windows PowerShell providers, see about_Providers (http://go.microsoft.com/fwlink/?LinkID=113250).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>Role</maml:name><maml:description><maml:para>Displays help customized for the specified user role. Enter a role. Wildcards are permitted.</maml:para><maml:para>Enter the role that the user plays in an organization. Some cmdlets display different text in their help files based on the value of this parameter. This parameter has no effect on help for the core cmdlets.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="true" variableLength="false" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>Parameter</maml:name><maml:description><maml:para>Displays only the detailed descriptions of the specified parameters. Wildcards are permitted.</maml:para><maml:para>This parameter has no effect on displays of conceptual ("About_") help.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Get-Help</maml:name><command:parameter required="false" variableLength="false" globbing="true" pipelineInput="true (ByPropertyName)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Gets help about the specified command or concept. Enter the name of a cmdlet, function, provider, script, or workflow, such as "Get-Member", a conceptual topic name, such as "about_Objects", or an alias, such as "ls". Wildcards are permitted in cmdlet and provider names, but you cannot use wildcards to find the names of function help and script help topics.</maml:para><maml:para>To get help for a script that is not located in a path that is listed in the Path environment variable, type the path and file name of the script .</maml:para><maml:para>If you enter the exact name of a help topic, Get-Help displays the topic contents. If you enter a word or word pattern that appears in several help topic titles, Get-Help displays a list of the matching titles. If you enter a word that does not match any help topic titles, Get-Help displays a list of topics that include that word in their contents. </maml:para><maml:para>The names of conceptual topics, such as "about_Objects", must be entered in English, even in non-English versions of Windows PowerShell.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Category</maml:name><maml:description><maml:para>Displays help only for items in the specified category and their aliases. Valid values are Alias, Cmdlet, Function, Provider, Workflow, and HelpFile. Conceptual topics are in the HelpFile category.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>Component</maml:name><maml:description><maml:para>Displays commands with the specified component value, such as "Exchange." Enter a component name. Wildcards are permitted.</maml:para><maml:para>This parameter has no effect on displays of conceptual ("About_") help.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>Functionality</maml:name><maml:description><maml:para>Displays help for items with the specified functionality. Enter the functionality. Wildcards are permitted.</maml:para><maml:para>This parameter has no effect on displays of conceptual ("About_") help.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Path</maml:name><maml:description><maml:para>Gets help that explains how the cmdlet works in the specified provider path. Enter a Windows PowerShell provider path.</maml:para><maml:para>This parameter gets a customized version of a cmdlet help topic that explains how the cmdlet works in the specified Windows PowerShell provider path. This parameter is effective only for help about a provider cmdlet and only when the provider includes a custom version of the provider cmdlet help topic in its help file. To use this parameter, install the help file for the module that includes the provider.</maml:para><maml:para>To see the custom cmdlet help for a provider path, go to the provider path location and enter a Get-Help command or, from any path location, use the Path parameter of Get-Help to specify the provider path. You can also find custom cmdlet help online in the provider help section of the help topics. For example, you can find help for the New-Item cmdlet in the Wsman:\*\ClientCertificate path (http://go.microsoft.com/fwlink/?LinkID=158676).</maml:para><maml:para>For more information about Windows PowerShell providers, see about_Providers (http://go.microsoft.com/fwlink/?LinkID=113250).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>Role</maml:name><maml:description><maml:para>Displays help customized for the specified user role. Enter a role. Wildcards are permitted.</maml:para><maml:para>Enter the role that the user plays in an organization. Some cmdlets display different text in their help files based on the value of this parameter. This parameter has no effect on help for the core cmdlets.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ShowWindow</maml:name><maml:description><maml:para>Displays the help topic in a window for easier reading. The window includes a "Find" search feature and a "Settings" box that lets you set options for the display, including options to display only selected sections of a help topic. </maml:para><maml:para>The ShowWindow parameter supports help topics for commands (cmdlets, functions, CIM commands, workflows, scripts) and conceptual "About" topics. It does not support provider help.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Category</maml:name><maml:description><maml:para>Displays help only for items in the specified category and their aliases. Valid values are Alias, Cmdlet, Function, Provider, Workflow, and HelpFile. Conceptual topics are in the HelpFile category.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>All categories</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>Component</maml:name><maml:description><maml:para>Displays commands with the specified component value, such as "Exchange." Enter a component name. Wildcards are permitted.</maml:para><maml:para>This parameter has no effect on displays of conceptual ("About_") help.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>All components</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Detailed</maml:name><maml:description><maml:para>Adds parameter descriptions and examples to the basic help display.</maml:para><maml:para>This parameter is effective only when help files are for the command are installed on the computer. It has no effect on displays of conceptual ("About_") help.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Examples</maml:name><maml:description><maml:para>Displays only the name, synopsis, and examples. To display only the examples, type "(Get-Help &lt;cmdlet-name&gt;).Examples".</maml:para><maml:para>This parameter is effective only when help files are for the command are installed on the computer. It has no effect on displays of conceptual ("About_") help. </maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Full</maml:name><maml:description><maml:para>Displays the entire help topic for a cmdlet, including parameter descriptions and attributes, examples, input and output object types, and additional notes. </maml:para><maml:para>This parameter is effective only when help files are for the command are installed on the computer. It has no effect on displays of conceptual ("About_") help.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>Functionality</maml:name><maml:description><maml:para>Displays help for items with the specified functionality. Enter the functionality. Wildcards are permitted.</maml:para><maml:para>This parameter has no effect on displays of conceptual ("About_") help.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>All functionality values</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="true" pipelineInput="true (ByPropertyName)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Gets help about the specified command or concept. Enter the name of a cmdlet, function, provider, script, or workflow, such as "Get-Member", a conceptual topic name, such as "about_Objects", or an alias, such as "ls". Wildcards are permitted in cmdlet and provider names, but you cannot use wildcards to find the names of function help and script help topics.</maml:para><maml:para>To get help for a script that is not located in a path that is listed in the Path environment variable, type the path and file name of the script .</maml:para><maml:para>If you enter the exact name of a help topic, Get-Help displays the topic contents. If you enter a word or word pattern that appears in several help topic titles, Get-Help displays a list of the matching titles. If you enter a word that does not match any help topic titles, Get-Help displays a list of topics that include that word in their contents. </maml:para><maml:para>The names of conceptual topics, such as "about_Objects", must be entered in English, even in non-English versions of Windows PowerShell.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Online</maml:name><maml:description><maml:para>Displays the online version of a help topic in the default Internet browser. This parameter is valid only for cmdlet, function, workflow and script help topics. You cannot use the Online parameter in Get-Help commands in a remote session.</maml:para><maml:para>For information about supporting this feature in help topics that you write, see about_Comment_Based_Help (http://go.microsoft.com/fwlink/?LinkID=144309), and "Supporting Online Help" (http://go.microsoft.com/fwlink/?LinkID=242132), and "How to Write Cmdlet Help" (http://go.microsoft.com/fwlink/?LinkID=123415) in the MSDN (Microsoft Developer Network) library.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>Parameter</maml:name><maml:description><maml:para>Displays only the detailed descriptions of the specified parameters. Wildcards are permitted.</maml:para><maml:para>This parameter has no effect on displays of conceptual ("About_") help.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>All parameters</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Path</maml:name><maml:description><maml:para>Gets help that explains how the cmdlet works in the specified provider path. Enter a Windows PowerShell provider path.</maml:para><maml:para>This parameter gets a customized version of a cmdlet help topic that explains how the cmdlet works in the specified Windows PowerShell provider path. This parameter is effective only for help about a provider cmdlet and only when the provider includes a custom version of the provider cmdlet help topic in its help file. To use this parameter, install the help file for the module that includes the provider.</maml:para><maml:para>To see the custom cmdlet help for a provider path, go to the provider path location and enter a Get-Help command or, from any path location, use the Path parameter of Get-Help to specify the provider path. You can also find custom cmdlet help online in the provider help section of the help topics. For example, you can find help for the New-Item cmdlet in the Wsman:\*\ClientCertificate path (http://go.microsoft.com/fwlink/?LinkID=158676).</maml:para><maml:para>For more information about Windows PowerShell providers, see about_Providers (http://go.microsoft.com/fwlink/?LinkID=113250).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>All paths</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>Role</maml:name><maml:description><maml:para>Displays help customized for the specified user role. Enter a role. Wildcards are permitted.</maml:para><maml:para>Enter the role that the user plays in an organization. Some cmdlets display different text in their help files based on the value of this parameter. This parameter has no effect on help for the core cmdlets.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>All roles</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ShowWindow</maml:name><maml:description><maml:para>Displays the help topic in a window for easier reading. The window includes a "Find" search feature and a "Settings" box that lets you set options for the display, including options to display only selected sections of a help topic. </maml:para><maml:para>The ShowWindow parameter supports help topics for commands (cmdlets, functions, CIM commands, workflows, scripts) and conceptual "About" topics. It does not support provider help.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name>None</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You cannot pipe objects to this cmdlet.</maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name>ExtendedCmdletHelpInfo</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>If you run Get-Help on a command that does not have a help file, Get-Help returns an ExtendedCmdletHelpInfo object that represents autogenerated help.</maml:para></maml:description></command:returnValue><command:returnValue><dev:type><maml:name>System.String</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>If you get a conceptual help topic, Get-Help returns it as a string.</maml:para></maml:description></command:returnValue><command:returnValue><dev:type><maml:name>MamlCommandHelpInfo</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>If you get a command that has a help file, Get-Help returns a MamlCommandHelpInfo object.</maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><maml:alertSet><maml:title /><maml:alert><maml:para>Without parameters, "Get-Help" displays information about the Windows PowerShell help system.</maml:para></maml:alert><maml:alert><maml:para>Windows PowerShell 3.0 does not come with help files. To download and install the help files that Get-Help reads, use the Update-Help cmdlet. You can use the Update-Help cmdlet to download and install help files for the core commands that come with Windows PowerShell and for any modules that you install. You can also use it to update the help files so that the help on your computer is never outdated.</maml:para><maml:para>You can also read the help topics about the commands that come with Windows PowerShell online beginning at http://go.microsoft.com/fwlink/?LinkID=107116.</maml:para></maml:alert><maml:alert><maml:para>Get-Help displays help in the locale set for Windows or in the fallback language for that locale. If you do not have help files for the primary or fallback locale, Get-Help behaves as though there are no help files on the computer. To get help for a different locale, use Region and Language in Control Panel to change the settings for Windows.</maml:para></maml:alert><maml:alert><maml:para>The full view of help (-Full) includes a table of information about the parameters. The table includes the following fields:</maml:para><maml:para>-- Required: Indicates whether the parameter is required (true) or optional (false).</maml:para><maml:para>-- Position: Indicates whether the parameter is named or positional (numbered). Positional parameters must appear in a specified place in the command.</maml:para><maml:para>-- "Named" indicates that the parameter name is required, but that the parameter can appear anywhere in the command.</maml:para><maml:para>-- &lt;Number&gt; indicates that the parameter name is optional, but when the name is omitted, the parameter must be in the place specified by the number. For example, "2" indicates that when the parameter name is omitted, the parameter must be the second (2) or only unnamed parameter in the command. When the parameter name is used, the parameter can appear anywhere in the command.</maml:para><maml:para>-- Default value: The parameter value that Windows PowerShell uses if you do not include the parameter in the command.</maml:para><maml:para>-- Accepts pipeline input: Indicates whether you can (true) or cannot (false) send objects to the parameter through a pipeline. "By Property Name" means that the pipelined object must have a property with the same name as the parameter name.</maml:para><maml:para>-- Accepts wildcard characters: Indicates whether the value of a parameter can include wildcard characters, such as * and ?.</maml:para></maml:alert></maml:alertSet><command:examples><command:example><maml:title> -------------------------- EXAMPLE 1 -------------------------- </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-Help
</dev:code><dev:remarks><maml:para>This command displays help about the Windows PowerShell help system.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title> -------------------------- EXAMPLE 2 -------------------------- </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-Help *
</dev:code><dev:remarks><maml:para>This command displays a list of the available help topics.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title> -------------------------- EXAMPLE 3 -------------------------- </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-Help Get-Alias
PS C:\&gt;Help Get-Alias
PS C:\&gt;Get-Alias -?
</dev:code><dev:remarks><maml:para>These commands display basic information about the Get-Alias cmdlet. The "Get-Help" and "-?" commands display the information on a single page. The "Help" command displays the information one page at a time.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title> -------------------------- EXAMPLE 4 -------------------------- </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-Help about_*
</dev:code><dev:remarks><maml:para>This command displays a list of the conceptual topics included in Windows PowerShell help. All of these topics begin with the characters "about_". To display a particular help file, type "get-help &lt;topic-name&gt;, for example, "Get-Help about_Signing".</maml:para><maml:para>This command displays the conceptual topics only when the help files for those topics are installed on the computer. For information about downloading and installing help files in Windows PowerShell 3.0, see Update-Help.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title> -------------------------- EXAMPLE 5 -------------------------- </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>The first command uses the Get-Help cmdlet to get help for the Get-Command cmdlet. Without help files, Get-Help display the cmdlet name, syntax and alias of Get-Command, and prompts you to use the Update-Help cmdlet to get the newest help files.
PS C:\&gt;Get-Help Get-Command
NAME
    Get-Command
 
 
SYNTAX
    
 Get-Command [[-Name] &lt;string[]&gt;] [-CommandType {Alias | Function | Filter | Cmdlet | ExternalScript | Application |
 
    Script | All}] [[-ArgumentList] &lt;Object[]&gt;] [-Module &lt;string[]&gt;] [-Syntax] [-TotalCount &lt;int&gt;] [&lt;CommonParameters&gt;]
 
 
    Get-Command [-Noun &lt;string[]&gt;] [-Verb &lt;string[]&gt;] [[-ArgumentList] &lt;Object[]&gt;] [-Module &lt;string[]&gt;] [-Syntax]
 
    [-TotalCount &lt;int&gt;] [&lt;CommonParameters&gt;]
 
 
 
ALIASES
    gcm
 
 
REMARKS
    Get-Help cannot find the help files for this cmdlet on this computer.
    It is displaying only partial help. To download and install help files
    for this cmdlet, use Update-Help.
 
The second command runs the Update-Help cmdlet without parameters. This command downloads help files from the Internet for all of the modules in the current session and installs them on the local computer.This command works only when the local computer is connected to the Internet. If your computer is not connected to the Internet, you might be able to install help files from a network share. For more information, see Save-Help.
PS C:\&gt;Update-Help
 
Now that the help files are downloaded, we can repeat the first command in the sequence. This command gets help for the Get-Command cmdlet. The cmdlet now gets more extensive help for Get-Command and you can use the Detailed, Full, Example, and Parameter parameters of Get-Help to customize the displays.You can use the Get-Help cmdlet as soon as the Update-Help command completes. You do not need to restart Windows PowerShell.
PS C:\&gt;Get-Help Get-Command
 
</dev:code><dev:remarks><maml:para>This example shows how to download and install new or updated help files for a module. It uses features that were introduced in Windows PowerShell 3.0. </maml:para><maml:para>The example compares the help that Get-Help displays for commands when you do not have help files installed on your computer and when you do have help files. You can use the same command sequence to update the help files on your computer so that your local help content is never obsolete.</maml:para><maml:para>To download and install the help files for the commands that come with Windows PowerShell, and for any modules in the $pshome\Modules directory, open Windows PowerShell with the "Run as administrator" option. If you are not a member of the Administrators group on the computer, you cannot download help for these modules. However, you can use the Online parameter to open the online version of help for a command, and you can read the help for Windows PowerShell in the TechNet Library beginning at <maml:navigationLink><maml:linkText>http://go.microsoft.com/fwlink/?LinkID=107116</maml:linkText><maml:uri></maml:uri></maml:navigationLink>.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title> -------------------------- EXAMPLE 6 -------------------------- </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-Help ls -Detailed
</dev:code><dev:remarks><maml:para>This command displays detailed help for the Get-ChildItem cmdlet by specifying one of its aliases, "ls." The Detailed parameter of Get-Help gets the detailed view of the help topic, which includes parameter descriptions and examples. To see the complete help topic for a cmdlet, use the Full parameter.</maml:para><maml:para>The Full and Detailed parameters are effective only when help files for the command are installed on the computer.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title> -------------------------- EXAMPLE 7 -------------------------- </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-Help Format-Table -Full
</dev:code><dev:remarks><maml:para>This command uses the Full parameter of Get-Help to display the full view help for the Format-Table cmdlet. The full view of help includes parameter descriptions, examples, and a table of technical details about the parameters.</maml:para><maml:para>The Full parameter is effective only when help files for the command are installed on the computer.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title> -------------------------- EXAMPLE 8 -------------------------- </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-Help Start-Service -Examples
</dev:code><dev:remarks><maml:para>This command displays examples of using the Start-Service cmdlet. It uses the Examples parameter of Get-Help to display only the Examples section of the cmdlet help topics.</maml:para><maml:para>The Examples parameter is effective only when help files for the command are installed on the computer.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title> -------------------------- EXAMPLE 9 -------------------------- </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-Help Format-List -Parameter GroupBy
</dev:code><dev:remarks><maml:para>This command uses the Parameter parameter of Get-Help to display a detailed description of the GroupBy parameter of the Format-List cmdlet. For detailed descriptions of all parameters of the Format-List cmdlet, type "Get-Help Format-List –Parameter *".</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title> -------------------------- EXAMPLE 10 -------------------------- </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-Help Add-Member -Full | Out-String -Stream | Select-String -Pattern Clixml
</dev:code><dev:remarks><maml:para>This example shows how to search for a word in particular cmdlet help topic. This command searches for the word "Clixml" in the full version of the help topic for the Add-Member cmdlet.</maml:para><maml:para>Because the Get-Help cmdlet generates a MamlCommandHelpInfo object, not a string, you need to use a cmdlet that transforms the help topic content into a string, such as Out-String or Out-File.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title> -------------------------- EXAMPLE 11 -------------------------- </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-Help Get-Member -Online
</dev:code><dev:remarks><maml:para>This command displays the online version of the help topic for the Get-Member cmdlet.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title> -------------------------- EXAMPLE 14 -------------------------- </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-Help remoting
</dev:code><dev:remarks><maml:para>This command displays a list of topics that include the word "remoting."</maml:para><maml:para>When you enter a word that does not appear in any topic title, Get-Help displays a list of topics that include that word.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title> -------------------------- EXAMPLE 15 -------------------------- </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>The first command uses the Path parameter of Get-Help to specify the provider path. This command can be entered at any path location.
PS C:\&gt;Get-Help Get-Item -Path SQLSERVER:\DataCollection
 
NAME
 
    Get-Item
 
 
SYNOPSIS
 
    Gets a collection of Server objects for the local computer and any computers
 
    to which you have made a SQL Server PowerShell connection.
 
    ...
 
The second command uses the Set-Location cmdlet (alias = "cd") to navigate to the provider path. From that location, even without the Path parameter, the Get-Help command gets the provider-specific help for the Get-Item cmdlet.
PS C:\&gt;cd SQLSERVER:\DataCollection
SQLSERVER:\DataCollection&gt; Get-Help Get-Item
 
NAME
 
    Get-Item
 
 
SYNOPSIS
 
    Gets a collection of Server objects for the local computer and any computers
 
    to which you have made a SQL Server PowerShell connection.
 
    ...
 
 
The third command shows that a Get-Help command in a file system path, and without the Path parameter, gets the standard help for the Get-Item cmdlet.
PS C:\&gt;Get-Item
 
NAME
 
    Get-Item
 
 
SYNOPSIS
 
    Gets the item at the specified location.
    ...
</dev:code><dev:remarks><maml:para>This example shows how to get help that explains how to use the Get-Item cmdlet in the DataCollection node of the Windows PowerShell SQL Server provider. The example shows two ways of getting the provider-specific help for Get-Item.</maml:para><maml:para>You can also get provider-specific help for cmdlets online in the section that describes the provider. For example, for provider-specific online help for the New-Item cmdlet in each WSMan provider path, see <maml:navigationLink><maml:linkText>http://go.microsoft.com/fwlink/?LinkID=158676</maml:linkText><maml:uri></maml:uri></maml:navigationLink>.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title> -------------------------- EXAMPLE 16 -------------------------- </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-Help C:\PS-Test\MyScript.ps1
</dev:code><dev:remarks><maml:para>This command gets help for the MyScript.ps1 script. For information about writing help for your functions and scripts, see <maml:navigationLink><maml:linkText>about_Comment_Based_Help</maml:linkText><maml:uri></maml:uri></maml:navigationLink>.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=289584</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Updatable Help Status Table (http://go.microsoft.com/fwlink/?LinkID=270007)</maml:linkText><maml:uri></maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Get-Command</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Get-Member</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Get-PSDrive</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Command_Syntax</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Comment_Based_Help</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Parameters</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>Get-History</command:name><maml:description><maml:para>Gets a list of the commands entered during the current session.</maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>Get</command:verb><command:noun>History</command:noun><dev:version /></command:details><maml:description><maml:para>The Get-History cmdlet gets the session history, that is, the list of commands entered during the current session. </maml:para><maml:para>Windows PowerShell automatically maintains a history of each session. The number of entries in the session history is determined by the value of the $MaximumHistoryCount preference variable. Beginning in Windows PowerShell 3.0, the default value is 4096. </maml:para><maml:para>You can save the session history in XML or CSV format. By default, history files are saved in the home directory, but you can save the file in any location.</maml:para><maml:para>For more information about the history features in Windows PowerShell, see about_History (http://go.microsoft.com/fwlink/?LinkID=113233).</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>Get-History</maml:name><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases=""><maml:name>Id</maml:name><maml:description><maml:para>Specifies the ID number of an entry in the session history. Get-History gets only the specified entry. If you use both the Id and Count parameters in a command, Get-History gets the most recent entries ending with the entry specified by the Id parameter.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Int64[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="2" aliases=""><maml:name>Count</maml:name><maml:description><maml:para>Displays the specified number of the most recent history entries. By, default, Get-History gets all entries in the session history. If you use both the Count and Id parameters in a command, the display ends with the command that is specified by the Id parameter.</maml:para><maml:para>In Windows PowerShell 2.0, by default, Get-History gets the 32 most recent entries.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="2" aliases=""><maml:name>Count</maml:name><maml:description><maml:para>Displays the specified number of the most recent history entries. By, default, Get-History gets all entries in the session history. If you use both the Count and Id parameters in a command, the display ends with the command that is specified by the Id parameter.</maml:para><maml:para>In Windows PowerShell 2.0, by default, Get-History gets the 32 most recent entries.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue><dev:type><maml:name>Int32</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases=""><maml:name>Id</maml:name><maml:description><maml:para>Specifies the ID number of an entry in the session history. Get-History gets only the specified entry. If you use both the Id and Count parameters in a command, Get-History gets the most recent entries ending with the entry specified by the Id parameter.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Int64[]</command:parameterValue><dev:type><maml:name>Int64[]</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name>Int64</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You can pipe a history ID to Get-History.</maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name>Microsoft.PowerShell.Commands.HistoryInfo</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>Get-History returns a history object for each history item that it gets.</maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><maml:alertSet><maml:title /><maml:alert><maml:para>The session history is a list of the commands entered during the session. The session history represents the order of execution, the status, and the start and end times of the command. As you enter each command, Windows PowerShell adds it to the history so that you can reuse it. For more information about the command history, see about_History (http://go.microsoft.com/fwlink/?LinkID=113233).</maml:para></maml:alert><maml:alert><maml:para>Beginning in Windows PowerShell 3.0, the default value of the $MaximumHistoryCount preference variable is 4096. In Windows PowerShell 2.0, the default value is 64. For more information about the $MaximumHistoryCount variable, see about_Preference_Variables (http://go.microsoft.com/fwlink/?LinkID=113248).</maml:para></maml:alert></maml:alertSet><command:examples><command:example><maml:title>
  
-------------------------- EXAMPLE 1 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-History
</dev:code><dev:remarks><maml:para>This command gets the entries in the session history. The default display shows each command and its ID, which indicates the order of execution.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 2 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-History | Where-Object {$_.CommandLine -like "*Service*"}
</dev:code><dev:remarks><maml:para>This command gets entries in the command history that include "service". The first command gets all entries in the session history. The pipeline operator (|) passes the results to the Where-Object cmdlet, which selects only the commands that include "service".</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 3 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-History -ID 7 -Count 5 | Export-Csv History.csv
</dev:code><dev:remarks><maml:para>This command gets the five most recent history entries ending with entry 7. The pipeline operator (|) passes the result to the Export-Csv cmdlet, which formats the history as comma-separated text and saves it in the History.csv file. The file includes the data that is displayed when you format the history as a list, including the status and start and end times of the command.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 4 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-History -Count 1
</dev:code><dev:remarks><maml:para>This command gets the last (most recently entered) command in the command history. It uses the Count parameter to display just one command. By default, Get-History gets the most recent commands. This command can be abbreviated to "h -c 1" and is equivalent to pressing the up-arrow key.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 5 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-History | Format-List -Property *
</dev:code><dev:remarks><maml:para>This command displays all of the properties of entries in the session history. The pipeline operator (|) passes the results of a Get-History command to the Format-List cmdlet, which displays all of the properties of each history entry, including the ID, status, and start and end times of the command.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=289585</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Add-History</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Clear-History</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Invoke-History</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_History</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>Get-Job</command:name><maml:description><maml:para>Gets Windows PowerShell background jobs that are running in the current session.</maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>Get</command:verb><command:noun>Job</command:noun><dev:version /></command:details><maml:description><maml:para>The Get-Job cmdlet gets objects that represent the background jobs that were started in the current session. You can use Get-Job to get jobs that were started by using the Start-Job cmdlet, or by using the AsJob parameter of any cmdlet.</maml:para><maml:para>Without parameters, a "Get-Job" command gets all jobs in the current session. You can use the parameters of Get-Job to get particular jobs.</maml:para><maml:para>The job object that Get-Job returns contains useful information about the job, but it does not contain the job results. To get the results, use the Receive-Job cmdlet.</maml:para><maml:para>A Windows PowerShell background job is a command that runs "in the background" without interacting with the current session. Typically, you use a background job to run a complex command that takes a long time to complete. For more information about background jobs in Windows PowerShell, see about_Jobs.</maml:para><maml:para>Beginning in Windows PowerShell 3.0, the Get-Job cmdlet also gets custom job types, such as workflow jobs and instances of scheduled jobs. To find the job type of a job, use the PSJobTypeName property of the job. </maml:para><maml:para>To enable Get-Job to get a custom job type, import the module that supports the custom job type into the session before running a Get-Job command, either by using the Import-Module cmdlet or by using or getting a cmdlet in the module. For information about a particular custom job type, see the documentation of the custom job type feature.</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>Get-Job</maml:name><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>Id</maml:name><maml:description><maml:para>Gets only jobs with the specified IDs.</maml:para><maml:para>The ID is an integer that uniquely identifies the job within the current session. It is easier to remember and to type than the instance ID, but it is unique only within the current session. You can type one or more IDs (separated by commas). To find the ID of a job, type "Get-Job" without parameters.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Int32[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>After</maml:name><maml:description><maml:para>Gets completed jobs that ended after the specified date and time. Enter a DateTime object, such as one returned by the Get-Date cmdlet or a string that can be converted to a DateTime object, such as "Dec 1, 2012 2:00 AM" or "11/06".</maml:para><maml:para>This parameter works only on custom job types, such as workflow jobs and scheduled jobs, that have an EndTime property. It does not work on standard background jobs, such as those created by using the Start-Job cmdlet. For information about support for this parameter, see the help topic for the job type.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">DateTime</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Before</maml:name><maml:description><maml:para>Gets completed jobs that ended before the specified date and time. Enter a DateTime object, such as one returned by the Get-Date cmdlet or a string that can be converted to a DateTime object, such as "Dec 1, 2012 2:00 AM" or "11/06".</maml:para><maml:para>This parameter works only on custom job types, such as workflow jobs and scheduled jobs, that have an EndTime property. It does not work on standard background jobs, such as those created by using the Start-Job cmdlet. For information about support for this parameter, see the help topic for the job type.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">DateTime</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ChildJobState</maml:name><maml:description><maml:para>Gets only the child jobs that have the specified state. Valid values are: NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, and Stopping.</maml:para><maml:para>By default, Get-Job does not get child jobs. With the IncludeChildJob parameter, Get-Job gets all child jobs. If you use the ChildJobState parameter, the IncludeChildJob parameter has no effect.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">JobState</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>HasMoreData</maml:name><maml:description><maml:para>Gets only jobs with the specified HasMoreData property value. The HasMoreData property indicates whether all job results have been received in the current session. To get jobs that have more results, type -HaveMoreData:true. To get jobs that do not have more results, type -HaveMoreData:$false.</maml:para><maml:para>To get the results of a job, use the Receive-Job cmdlet.</maml:para><maml:para>When you use the Receive-Job cmdlet, it deletes from its in-memory (session-specific) storage the results that it returned. When it has returned all results of the job in the current session, it sets the value of the HasMoreData property of the job to False ($false) to indicate that it has no more results for the job in the current session. Use the Keep parameter of Receive-Job to prevent Receive-Job from deleting results and changing the value of the HasMoreData property. For more information, type "Get-Help Receive-Job".</maml:para><maml:para>The HasMoreData property is specific to the current session. If results for a custom job type are saved outside of the session, such as the scheduled job type, which saves job results on disk, you can use the Receive-Job cmdlet in a different session to get the job results again, even if the value of HasMoreData is false. For more information, see the help topics for the custom job type.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>IncludeChildJob</maml:name><maml:description><maml:para>Returns child jobs, in addition to parent jobs.</maml:para><maml:para>This parameter is particularly useful for investigating workflow jobs, for which Get-Job returns a container parent job, and job failures, because the reason for the failure is saved in a property of the child job.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Newest</maml:name><maml:description><maml:para>Gets the jobs that ended most recently. Enter the number of jobs to return.</maml:para><maml:para>The Newest parameter does not sort or return the newest jobs in end-time order. To sort the output, use the Sort-Object cmdlet.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Get-Job</maml:name><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>After</maml:name><maml:description><maml:para>Gets completed jobs that ended after the specified date and time. Enter a DateTime object, such as one returned by the Get-Date cmdlet or a string that can be converted to a DateTime object, such as "Dec 1, 2012 2:00 AM" or "11/06".</maml:para><maml:para>This parameter works only on custom job types, such as workflow jobs and scheduled jobs, that have an EndTime property. It does not work on standard background jobs, such as those created by using the Start-Job cmdlet. For information about support for this parameter, see the help topic for the job type.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">DateTime</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Before</maml:name><maml:description><maml:para>Gets completed jobs that ended before the specified date and time. Enter a DateTime object, such as one returned by the Get-Date cmdlet or a string that can be converted to a DateTime object, such as "Dec 1, 2012 2:00 AM" or "11/06".</maml:para><maml:para>This parameter works only on custom job types, such as workflow jobs and scheduled jobs, that have an EndTime property. It does not work on standard background jobs, such as those created by using the Start-Job cmdlet. For information about support for this parameter, see the help topic for the job type.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">DateTime</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ChildJobState</maml:name><maml:description><maml:para>Gets only the child jobs that have the specified state. Valid values are: NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, and Stopping.</maml:para><maml:para>By default, Get-Job does not get child jobs. With the IncludeChildJob parameter, Get-Job gets all child jobs. If you use the ChildJobState parameter, the IncludeChildJob parameter has no effect.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">JobState</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>Command</maml:name><maml:description><maml:para>Gets the jobs that include the specified command. The default is all jobs. Enter a command (as a string). You can use wildcards to specify a command pattern.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>HasMoreData</maml:name><maml:description><maml:para>Gets only jobs with the specified HasMoreData property value. The HasMoreData property indicates whether all job results have been received in the current session. To get jobs that have more results, type -HaveMoreData:true. To get jobs that do not have more results, type -HaveMoreData:$false.</maml:para><maml:para>To get the results of a job, use the Receive-Job cmdlet.</maml:para><maml:para>When you use the Receive-Job cmdlet, it deletes from its in-memory (session-specific) storage the results that it returned. When it has returned all results of the job in the current session, it sets the value of the HasMoreData property of the job to False ($false) to indicate that it has no more results for the job in the current session. Use the Keep parameter of Receive-Job to prevent Receive-Job from deleting results and changing the value of the HasMoreData property. For more information, type "Get-Help Receive-Job".</maml:para><maml:para>The HasMoreData property is specific to the current session. If results for a custom job type are saved outside of the session, such as the scheduled job type, which saves job results on disk, you can use the Receive-Job cmdlet in a different session to get the job results again, even if the value of HasMoreData is false. For more information, see the help topics for the custom job type.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>IncludeChildJob</maml:name><maml:description><maml:para>Returns child jobs, in addition to parent jobs.</maml:para><maml:para>This parameter is particularly useful for investigating workflow jobs, for which Get-Job returns a container parent job, and job failures, because the reason for the failure is saved in a property of the child job.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Newest</maml:name><maml:description><maml:para>Gets the jobs that ended most recently. Enter the number of jobs to return.</maml:para><maml:para>The Newest parameter does not sort or return the newest jobs in end-time order. To sort the output, use the Sort-Object cmdlet.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Get-Job</maml:name><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>Filter</maml:name><maml:description><maml:para>Gets jobs that satisfy all of the conditions established in the associated hash table. Enter a hash table where the keys are job properties and the values are job property values.</maml:para><maml:para>This parameter works only on custom job types, such as workflow jobs and scheduled jobs. It does not work on standard background jobs, such as those created by using the Start-Job cmdlet. For information about support for this parameter, see the help topic for the job type.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Hashtable</command:parameterValue></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Get-Job</maml:name><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>State</maml:name><maml:description><maml:para>Gets only jobs in the specified state. Valid values are NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping. By default, Get-Job gets all the jobs in the current session.</maml:para><maml:para>For more information about job states, see "JobState Enumeration" in MSDN at <maml:navigationLink><maml:linkText>http://msdn.microsoft.com/en-us/library/windows/desktop/system.management.automation.jobstate(v=vs.85).aspx</maml:linkText><maml:uri></maml:uri></maml:navigationLink></maml:para></maml:description><command:parameterValue required="true" variableLength="false">JobState</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>After</maml:name><maml:description><maml:para>Gets completed jobs that ended after the specified date and time. Enter a DateTime object, such as one returned by the Get-Date cmdlet or a string that can be converted to a DateTime object, such as "Dec 1, 2012 2:00 AM" or "11/06".</maml:para><maml:para>This parameter works only on custom job types, such as workflow jobs and scheduled jobs, that have an EndTime property. It does not work on standard background jobs, such as those created by using the Start-Job cmdlet. For information about support for this parameter, see the help topic for the job type.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">DateTime</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Before</maml:name><maml:description><maml:para>Gets completed jobs that ended before the specified date and time. Enter a DateTime object, such as one returned by the Get-Date cmdlet or a string that can be converted to a DateTime object, such as "Dec 1, 2012 2:00 AM" or "11/06".</maml:para><maml:para>This parameter works only on custom job types, such as workflow jobs and scheduled jobs, that have an EndTime property. It does not work on standard background jobs, such as those created by using the Start-Job cmdlet. For information about support for this parameter, see the help topic for the job type.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">DateTime</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ChildJobState</maml:name><maml:description><maml:para>Gets only the child jobs that have the specified state. Valid values are: NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, and Stopping.</maml:para><maml:para>By default, Get-Job does not get child jobs. With the IncludeChildJob parameter, Get-Job gets all child jobs. If you use the ChildJobState parameter, the IncludeChildJob parameter has no effect.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">JobState</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>HasMoreData</maml:name><maml:description><maml:para>Gets only jobs with the specified HasMoreData property value. The HasMoreData property indicates whether all job results have been received in the current session. To get jobs that have more results, type -HaveMoreData:true. To get jobs that do not have more results, type -HaveMoreData:$false.</maml:para><maml:para>To get the results of a job, use the Receive-Job cmdlet.</maml:para><maml:para>When you use the Receive-Job cmdlet, it deletes from its in-memory (session-specific) storage the results that it returned. When it has returned all results of the job in the current session, it sets the value of the HasMoreData property of the job to False ($false) to indicate that it has no more results for the job in the current session. Use the Keep parameter of Receive-Job to prevent Receive-Job from deleting results and changing the value of the HasMoreData property. For more information, type "Get-Help Receive-Job".</maml:para><maml:para>The HasMoreData property is specific to the current session. If results for a custom job type are saved outside of the session, such as the scheduled job type, which saves job results on disk, you can use the Receive-Job cmdlet in a different session to get the job results again, even if the value of HasMoreData is false. For more information, see the help topics for the custom job type.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>IncludeChildJob</maml:name><maml:description><maml:para>Returns child jobs, in addition to parent jobs.</maml:para><maml:para>This parameter is particularly useful for investigating workflow jobs, for which Get-Job returns a container parent job, and job failures, because the reason for the failure is saved in a property of the child job.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Newest</maml:name><maml:description><maml:para>Gets the jobs that ended most recently. Enter the number of jobs to return.</maml:para><maml:para>The Newest parameter does not sort or return the newest jobs in end-time order. To sort the output, use the Sort-Object cmdlet.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Get-Job</maml:name><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Gets the job with the specified friendly names. Enter a job name, or use wildcard characters to enter a job name pattern. By default, Get-Job gets all jobs in the current session.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>After</maml:name><maml:description><maml:para>Gets completed jobs that ended after the specified date and time. Enter a DateTime object, such as one returned by the Get-Date cmdlet or a string that can be converted to a DateTime object, such as "Dec 1, 2012 2:00 AM" or "11/06".</maml:para><maml:para>This parameter works only on custom job types, such as workflow jobs and scheduled jobs, that have an EndTime property. It does not work on standard background jobs, such as those created by using the Start-Job cmdlet. For information about support for this parameter, see the help topic for the job type.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">DateTime</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Before</maml:name><maml:description><maml:para>Gets completed jobs that ended before the specified date and time. Enter a DateTime object, such as one returned by the Get-Date cmdlet or a string that can be converted to a DateTime object, such as "Dec 1, 2012 2:00 AM" or "11/06".</maml:para><maml:para>This parameter works only on custom job types, such as workflow jobs and scheduled jobs, that have an EndTime property. It does not work on standard background jobs, such as those created by using the Start-Job cmdlet. For information about support for this parameter, see the help topic for the job type.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">DateTime</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ChildJobState</maml:name><maml:description><maml:para>Gets only the child jobs that have the specified state. Valid values are: NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, and Stopping.</maml:para><maml:para>By default, Get-Job does not get child jobs. With the IncludeChildJob parameter, Get-Job gets all child jobs. If you use the ChildJobState parameter, the IncludeChildJob parameter has no effect.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">JobState</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>HasMoreData</maml:name><maml:description><maml:para>Gets only jobs with the specified HasMoreData property value. The HasMoreData property indicates whether all job results have been received in the current session. To get jobs that have more results, type -HaveMoreData:true. To get jobs that do not have more results, type -HaveMoreData:$false.</maml:para><maml:para>To get the results of a job, use the Receive-Job cmdlet.</maml:para><maml:para>When you use the Receive-Job cmdlet, it deletes from its in-memory (session-specific) storage the results that it returned. When it has returned all results of the job in the current session, it sets the value of the HasMoreData property of the job to False ($false) to indicate that it has no more results for the job in the current session. Use the Keep parameter of Receive-Job to prevent Receive-Job from deleting results and changing the value of the HasMoreData property. For more information, type "Get-Help Receive-Job".</maml:para><maml:para>The HasMoreData property is specific to the current session. If results for a custom job type are saved outside of the session, such as the scheduled job type, which saves job results on disk, you can use the Receive-Job cmdlet in a different session to get the job results again, even if the value of HasMoreData is false. For more information, see the help topics for the custom job type.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>IncludeChildJob</maml:name><maml:description><maml:para>Returns child jobs, in addition to parent jobs.</maml:para><maml:para>This parameter is particularly useful for investigating workflow jobs, for which Get-Job returns a container parent job, and job failures, because the reason for the failure is saved in a property of the child job.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Newest</maml:name><maml:description><maml:para>Gets the jobs that ended most recently. Enter the number of jobs to return.</maml:para><maml:para>The Newest parameter does not sort or return the newest jobs in end-time order. To sort the output, use the Sort-Object cmdlet.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Get-Job</maml:name><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>InstanceId</maml:name><maml:description><maml:para>Gets jobs with the specified instance IDs. The default is all jobs.</maml:para><maml:para>An instance ID is a GUID that uniquely identifies the job on the computer. To find the instance ID of a job, use Get-Job.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Guid[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>After</maml:name><maml:description><maml:para>Gets completed jobs that ended after the specified date and time. Enter a DateTime object, such as one returned by the Get-Date cmdlet or a string that can be converted to a DateTime object, such as "Dec 1, 2012 2:00 AM" or "11/06".</maml:para><maml:para>This parameter works only on custom job types, such as workflow jobs and scheduled jobs, that have an EndTime property. It does not work on standard background jobs, such as those created by using the Start-Job cmdlet. For information about support for this parameter, see the help topic for the job type.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">DateTime</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Before</maml:name><maml:description><maml:para>Gets completed jobs that ended before the specified date and time. Enter a DateTime object, such as one returned by the Get-Date cmdlet or a string that can be converted to a DateTime object, such as "Dec 1, 2012 2:00 AM" or "11/06".</maml:para><maml:para>This parameter works only on custom job types, such as workflow jobs and scheduled jobs, that have an EndTime property. It does not work on standard background jobs, such as those created by using the Start-Job cmdlet. For information about support for this parameter, see the help topic for the job type.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">DateTime</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ChildJobState</maml:name><maml:description><maml:para>Gets only the child jobs that have the specified state. Valid values are: NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, and Stopping.</maml:para><maml:para>By default, Get-Job does not get child jobs. With the IncludeChildJob parameter, Get-Job gets all child jobs. If you use the ChildJobState parameter, the IncludeChildJob parameter has no effect.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">JobState</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>HasMoreData</maml:name><maml:description><maml:para>Gets only jobs with the specified HasMoreData property value. The HasMoreData property indicates whether all job results have been received in the current session. To get jobs that have more results, type -HaveMoreData:true. To get jobs that do not have more results, type -HaveMoreData:$false.</maml:para><maml:para>To get the results of a job, use the Receive-Job cmdlet.</maml:para><maml:para>When you use the Receive-Job cmdlet, it deletes from its in-memory (session-specific) storage the results that it returned. When it has returned all results of the job in the current session, it sets the value of the HasMoreData property of the job to False ($false) to indicate that it has no more results for the job in the current session. Use the Keep parameter of Receive-Job to prevent Receive-Job from deleting results and changing the value of the HasMoreData property. For more information, type "Get-Help Receive-Job".</maml:para><maml:para>The HasMoreData property is specific to the current session. If results for a custom job type are saved outside of the session, such as the scheduled job type, which saves job results on disk, you can use the Receive-Job cmdlet in a different session to get the job results again, even if the value of HasMoreData is false. For more information, see the help topics for the custom job type.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>IncludeChildJob</maml:name><maml:description><maml:para>Returns child jobs, in addition to parent jobs.</maml:para><maml:para>This parameter is particularly useful for investigating workflow jobs, for which Get-Job returns a container parent job, and job failures, because the reason for the failure is saved in a property of the child job.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Newest</maml:name><maml:description><maml:para>Gets the jobs that ended most recently. Enter the number of jobs to return.</maml:para><maml:para>The Newest parameter does not sort or return the newest jobs in end-time order. To sort the output, use the Sort-Object cmdlet.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>Command</maml:name><maml:description><maml:para>Gets the jobs that include the specified command. The default is all jobs. Enter a command (as a string). You can use wildcards to specify a command pattern.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>All jobs</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>Filter</maml:name><maml:description><maml:para>Gets jobs that satisfy all of the conditions established in the associated hash table. Enter a hash table where the keys are job properties and the values are job property values.</maml:para><maml:para>This parameter works only on custom job types, such as workflow jobs and scheduled jobs. It does not work on standard background jobs, such as those created by using the Start-Job cmdlet. For information about support for this parameter, see the help topic for the job type.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Hashtable</command:parameterValue><dev:type><maml:name>Hashtable</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>Id</maml:name><maml:description><maml:para>Gets only jobs with the specified IDs.</maml:para><maml:para>The ID is an integer that uniquely identifies the job within the current session. It is easier to remember and to type than the instance ID, but it is unique only within the current session. You can type one or more IDs (separated by commas). To find the ID of a job, type "Get-Job" without parameters.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Int32[]</command:parameterValue><dev:type><maml:name>Int32[]</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>IncludeChildJob</maml:name><maml:description><maml:para>Returns child jobs, in addition to parent jobs.</maml:para><maml:para>This parameter is particularly useful for investigating workflow jobs, for which Get-Job returns a container parent job, and job failures, because the reason for the failure is saved in a property of the child job.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>InstanceId</maml:name><maml:description><maml:para>Gets jobs with the specified instance IDs. The default is all jobs.</maml:para><maml:para>An instance ID is a GUID that uniquely identifies the job on the computer. To find the instance ID of a job, use Get-Job.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Guid[]</command:parameterValue><dev:type><maml:name>Guid[]</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Gets the job with the specified friendly names. Enter a job name, or use wildcard characters to enter a job name pattern. By default, Get-Job gets all jobs in the current session.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>State</maml:name><maml:description><maml:para>Gets only jobs in the specified state. Valid values are NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping. By default, Get-Job gets all the jobs in the current session.</maml:para><maml:para>For more information about job states, see "JobState Enumeration" in MSDN at <maml:navigationLink><maml:linkText>http://msdn.microsoft.com/en-us/library/windows/desktop/system.management.automation.jobstate(v=vs.85).aspx</maml:linkText><maml:uri></maml:uri></maml:navigationLink></maml:para></maml:description><command:parameterValue required="true" variableLength="false">JobState</command:parameterValue><dev:type><maml:name>JobState</maml:name><maml:uri /></dev:type><dev:defaultValue>All jobs</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>After</maml:name><maml:description><maml:para>Gets completed jobs that ended after the specified date and time. Enter a DateTime object, such as one returned by the Get-Date cmdlet or a string that can be converted to a DateTime object, such as "Dec 1, 2012 2:00 AM" or "11/06".</maml:para><maml:para>This parameter works only on custom job types, such as workflow jobs and scheduled jobs, that have an EndTime property. It does not work on standard background jobs, such as those created by using the Start-Job cmdlet. For information about support for this parameter, see the help topic for the job type.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">DateTime</command:parameterValue><dev:type><maml:name>DateTime</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Before</maml:name><maml:description><maml:para>Gets completed jobs that ended before the specified date and time. Enter a DateTime object, such as one returned by the Get-Date cmdlet or a string that can be converted to a DateTime object, such as "Dec 1, 2012 2:00 AM" or "11/06".</maml:para><maml:para>This parameter works only on custom job types, such as workflow jobs and scheduled jobs, that have an EndTime property. It does not work on standard background jobs, such as those created by using the Start-Job cmdlet. For information about support for this parameter, see the help topic for the job type.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">DateTime</command:parameterValue><dev:type><maml:name>DateTime</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ChildJobState</maml:name><maml:description><maml:para>Gets only the child jobs that have the specified state. Valid values are: NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, and Stopping.</maml:para><maml:para>By default, Get-Job does not get child jobs. With the IncludeChildJob parameter, Get-Job gets all child jobs. If you use the ChildJobState parameter, the IncludeChildJob parameter has no effect.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">JobState</command:parameterValue><dev:type><maml:name>JobState</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>HasMoreData</maml:name><maml:description><maml:para>Gets only jobs with the specified HasMoreData property value. The HasMoreData property indicates whether all job results have been received in the current session. To get jobs that have more results, type -HaveMoreData:true. To get jobs that do not have more results, type -HaveMoreData:$false.</maml:para><maml:para>To get the results of a job, use the Receive-Job cmdlet.</maml:para><maml:para>When you use the Receive-Job cmdlet, it deletes from its in-memory (session-specific) storage the results that it returned. When it has returned all results of the job in the current session, it sets the value of the HasMoreData property of the job to False ($false) to indicate that it has no more results for the job in the current session. Use the Keep parameter of Receive-Job to prevent Receive-Job from deleting results and changing the value of the HasMoreData property. For more information, type "Get-Help Receive-Job".</maml:para><maml:para>The HasMoreData property is specific to the current session. If results for a custom job type are saved outside of the session, such as the scheduled job type, which saves job results on disk, you can use the Receive-Job cmdlet in a different session to get the job results again, even if the value of HasMoreData is false. For more information, see the help topics for the custom job type.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue><dev:type><maml:name>Boolean</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Newest</maml:name><maml:description><maml:para>Gets the jobs that ended most recently. Enter the number of jobs to return.</maml:para><maml:para>The Newest parameter does not sort or return the newest jobs in end-time order. To sort the output, use the Sort-Object cmdlet.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue><dev:type><maml:name>Int32</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name>None</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You cannot pipe input to this cmdlet.</maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name>System.Management.Automation.RemotingJob</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>Get-Job returns objects that represent the jobs in the session.</maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><maml:alertSet><maml:title /><maml:alert><maml:para>The PSJobTypeName property of jobs indicates the job type of the job. The property value is determined by the job type author. The following list shows common job types.</maml:para><maml:para>-- BackgroundJob: Local job started by using the Start-Job cmdlet.</maml:para><maml:para>-- RemoteJob: Job started in a PSSession by using the AsJob parameter of the Invoke-Command cmdlet.</maml:para><maml:para>-- PSWorkflowJob: Job started by using the AsJob common parameter of workflows.</maml:para></maml:alert></maml:alertSet><command:examples><command:example><maml:title>
  
-------------------------- EXAMPLE 1 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-Job
</dev:code><dev:remarks><maml:para>This command gets all background jobs started in the current session. It does not include jobs created in other sessions, even if the jobs run on the local computer.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 2 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>The first command uses the Get-Job cmdlet to get a job. It uses the Name parameter to identify the job. The command stores the job object that Get-Job returns in the $j variable. In this example, there is only one job with the specified name.
PS C:\&gt;$j = Get-Job -Name Job1
 
The second command gets the InstanceId property of the object in the $j variable and stores it in the $ID variable.
PS C:\&gt;$ID = $j.InstanceID
 
The third command displays the value of the $ID variable.
PS C:\&gt;$ID
 
Guid
----
03c3232e-1d23-453b-a6f4-ed73c9e29d55
 
The fourth command uses Stop-Job cmdlet to stop the job. It uses the InstanceId parameter to identify the job and $ID variable to represent the instance ID of the job.
PS C:\&gt;Stop-Job -InstanceId $ID
</dev:code><dev:remarks><maml:para>These commands show how to get the instance ID of a job and then use it to stop a job. Unlike the name of a job, which is not unique, the instance ID is unique.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
                       
-------------------------- EXAMPLE 3 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-Job -Command "*get-process*"
</dev:code><dev:remarks><maml:para>This command gets the jobs on the system that include a Get-Process command. The command uses the Command parameter of Get-Job to limit the jobs retrieved. The command uses wildcard characters (*) to get jobs that include a Get-Process command anywhere within the command string.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 4 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;"*get-process*" | Get-Job
</dev:code><dev:remarks><maml:para>Like the command in the previous example, this command gets the jobs on the system that include a Get-Process command. The command uses a pipeline operator (|) to send a string (in quotation marks) to the Get-Job cmdlet. It is the equivalent of the previous command.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 5 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-Job -State NotStarted
</dev:code><dev:remarks><maml:para>This command gets only those jobs that have been created but have not yet been started. This includes jobs that are scheduled to run in the future and those not yet scheduled.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 6 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-Job -name Job*
</dev:code><dev:remarks><maml:para>This command gets all jobs that have job names beginning with "job". Because "job&lt;number&gt;" is the default name for a job, this command gets all jobs that do not have an explicitly assigned name.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 7 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>The first command uses the Start-Jobcmdlet to start a background job that runs a Get-Process command on the local computer. The command uses the Name parameter of Start-Job to assign a friendly name to the job.
PS C:\&gt;Start-Job -ScriptBlock {Get-Process} -Name MyJob
 
The second command uses Get-Job to get the job. It uses the Name parameter of Get-Job to identify the job. The command saves the resulting job object in the $j variable.
PS C:\&gt;
$j = Get-Job -Name MyJob
 
The third command displays the value of the job object in the $j variable. The value of the State property shows that the job is complete. The value of the HasMoreData property shows that there are results available from the job that have not yet been retrieved.
PS C:\&gt;$j
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
6 MyJob BackgroundJob Completed True localhost Get-Process
 
The fourth command uses the Receive-Job cmdlet to get the results of the job. It uses the job object in the $j variable to represent the job. You can also use a pipeline operator to send a job object to Receive-Job.
PS C:\&gt;Receive-Job -Job $j
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
------- ------ ----- ----- ----- ------ -- -----------
    124 4 13572 12080 59 1140 audiodg
    783 16 11428 13636 100 548 CcmExec
     96 4 4252 3764 59 3856 ccmsetup
...
</dev:code><dev:remarks><maml:para>This example shows how to use Get-Job to get a job object, and then it shows how to use the job object to represent the job in a command.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 8 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>The first command uses the Start-Job cmdlet to start a job on the local computer.
PS C:\&gt;Start-Job -ScriptBlock {Get-EventLog System}
 
The second command uses the AsJob parameter of the Invoke-Command cmdlet to start a job on the S1 computer. Even though the commands in the job run on the remote computer, the job object is created on the local computer, so you use local commands to manage the job.
PS C:\&gt;Invoke-Command -ComputerName S1 -ScriptBlock {Get-EventLog System} -AsJob
 
The third command uses the Invoke-Command cmdlet to run a Start-Job command on the S2 computer. With this method, the job object is created on the remote computer, so you use remote commands to manage the job.
PS C:\&gt;Invoke-Command -ComputerName S2 -ScriptBlock {Start-Job -ScriptBlock {Get-EventLog System}}
 
The fourth command uses Get-Job to get the jobs stored on the local computer. The PSJobTypeName property of jobs, introduced in Windows PowerShell 3.0, shows that the local job started by using the Start-Job cmdlet is a background job and the job started in a remote session by using the Invoke-Command cmdlet is a remote job..
PS C:\&gt;Get-Job
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
1 Job1 BackgroundJob Running True localhost Get-EventLog System
2 Job2 RemoteJob Running True S1 Get-EventLog System
 
The fifth command uses Invoke-Command to run a Get-Job command on the S2 computer.The sample output shows the results of the Get-Job command. On the S2 computer, the job appears to be a local job. The computer name is "localhost" and the job type is a background job.For more information about running background jobs on remote computers, see about_Remote_Jobs.
PS C:\&gt;Invoke-Command -ComputerName S2 -ScriptBlock {Start-Job -ScriptBlock {Get-EventLog System}}
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- ------- -------
4 Job4 BackgroundJob Running True localhost Get-Eventlog System
</dev:code><dev:remarks><maml:para>This example demonstrates that the Get-Job cmdlet can get all of the jobs that were started in the current session, even if they were started by using different methods.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 9 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>The first command uses the Start-Job cmdlet to start a job on the local computer. The job object that Start-Job returns shows that the job failed. The value of the State property is "Failed".
PS C:\&gt;Start-Job -ScriptBlock {Get-Process}
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
1 Job1 BackgroundJob Failed False localhost Get-Process
 
The second command uses the Get-Job cmdlet to get the job. The command uses the dot method to get the value of the JobStateInfo property of the object. It uses a pipeline operator to send the object in the JobStateInfo property to the Format-List cmdlet, which formats all of the properties of the object (*) in a list.The result of the Format-List command shows that the value of the Reason property of the job is blank.
PS C:\&gt;(Get-Job).JobStateInfo | Format-List -Property *
State : Failed
Reason :
 
The third command investigates further. It uses a Get-Job command to get the job and then uses a pipeline operator to send the entire job object to the Format-List cmdlet, which displays all of the properties of the job in a list.The display of all properties in the job object shows that the job contains a child job named "Job2".
PS C:\&gt;Get-Job | Format-List -Property *
HasMoreData : False
 
StatusMessage :
 
Location : localhost
 
Command : get-process
 
JobStateInfo : Failed
 
Finished : System.Threading.ManualReset
 
EventInstanceId : fb792295-1318-4f5d-8ac8-8a89c5261507
 
Id : 1
 
Name : Job1
 
ChildJobs : {Job2}
 
Output : {}
 
Error : {}
 
Progress : {}
 
Verbose : {}
 
Debug : {}
 
Warning : {}
 
StateChanged :
 
The fourth command uses Get-Job to get the job object that represents the Job2 child job. This is the job in which the command actually ran. It uses the dot method to get the Reason property of the JobStateInfo property.The result shows that the job failed because of an "Access Denied" error. In this case, the user forgot to use the "Run as administrator" option when opening Windows PowerShell.Because background jobs use the remoting features of Windows PowerShell, the computer must be configured for remoting to run a job, even when the job runs on the local computer.For information about requirements for remoting in Windows PowerShell, see about_Remote_Requirements. For troubleshooting tips, see about_Remote_Troubleshooting.
PS C:\&gt;(Get-Job -Name job2).JobStateInfo.Reason
Connecting to remote server using WSManCreateShellEx api failed. The async callback gave the following error message : Access is denied.
</dev:code><dev:remarks><maml:para>This command shows how to use the job object that Get-Job returns to investigate why a job failed. It also shows how to get the child jobs of each job.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 10 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>The first command uses the Workflow keyword to create the "WFProcess" workflow.
PS C:\&gt;Workflow WFProcess {Get-Process}
 
The second command uses the AsJob parameter of the WFProcess workflow to run the workflow as a background job. It uses the JobName parameter of the workflow to specify a name for the job, and the PSPrivateMetadata parameter of the workflow to specify a custom ID.
PS C:\&gt;WFProcess -AsJob -JobName WFProcessJob -PSPrivateMetadata @{MyCustomId = 92107}
 
The third command uses the Filter parameter of Get-Job to get the job by custom ID that was specified in the PSPrivateMetadata parameter.
PS C:\&gt;Get-Job -Filter @{MyCustomId = 92107}
Id Name State HasMoreData Location Command
 
-- ---- ----- ----------- -------- -------
 
1 WFProcessJob Completed True localhost WFProcess
</dev:code><dev:remarks><maml:para>This example shows how to use the Filter parameter to get a workflow job. The Filter parameter, introduced in Windows PowerShell 3.0 is valid only on custom job types, such as workflow jobs and scheduled jobs.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 11 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>The first command gets the jobs in the current session. The output includes a background job, a remote job and several instances of a scheduled job. The remote job, Job4, appears to have failed.
PS C:\&gt;Get-Job
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
2 Job2 BackgroundJob Completed True localhost .\Get-Archive.ps1
4 Job4 RemoteJob Failed True Server01, Server02 .\Get-Archive.ps1
7 UpdateHelpJob PSScheduledJob Completed True localhost Update-Help
8 UpdateHelpJob PSScheduledJob Completed True localhost Update-Help
9 UpdateHelpJob PSScheduledJob Completed True localhost Update-Help
10 UpdateHelpJob PSScheduledJob Completed True localhost Update-Help
 
The second command uses the IncludeChildJob parameter of Get-Job. The output adds the child jobs of all jobs that have child jobs.In this case, the revised output shows that only the Job5 child job of Job4 failed.
PS C:\&gt;Get-Job -IncludeChildJob
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
2 Job2 BackgroundJob Completed True localhost .\Get-Archive.ps1
3 Job3 Completed True localhost .\Get-Archive.ps1
4 Job4 RemoteJob Failed True Server01, Server02 .\Get-Archive.ps1
5 Job5 Failed False Server01 .\Get-Archive.ps1
6 Job6 Completed True Server02 .\Get-Archive.ps1
7 UpdateHelpJob PSScheduledJob Completed True localhost Update-Help
8 UpdateHelpJob PSScheduledJob Completed True localhost Update-Help
9 UpdateHelpJob PSScheduledJob Completed True localhost Update-Help
10 UpdateHelpJob PSScheduledJob Completed True localhost Update-Help
 
The third command uses the ChildJobState parameter with a value of Failed.The output includes all parent jobs and only the child jobs that failed.
PS C:\&gt;Get-Job -Name Job4 -ChildJobState Failed
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
2 Job2 BackgroundJob Completed True localhost .\Get-Archive.ps1
4 Job4 RemoteJob Failed True Server01, Server02 .\Get-Archive.ps1
5 Job5 Failed False Server01 .\Get-Archive.ps1
7 UpdateHelpJob PSScheduledJob Completed True localhost Update-Help
8 UpdateHelpJob PSScheduledJob Completed True localhost Update-Help
9 UpdateHelpJob PSScheduledJob Completed True localhost Update-Help
10 UpdateHelpJob PSScheduledJob Completed True localhost Update-Help
 
The fifth command uses the JobStateInfo property of jobs and its Reason property to find out why Job5 failed.
PS C:\&gt;(Get-Job -Name Job5).JobStateInfo.Reason
Connecting to remote server Server01 failed with the following error message :
Access is denied.
For more information, see the about_Remote_Troubleshooting Help topic.
</dev:code><dev:remarks><maml:para>This example shows the effect of using the IncludeChildJob and ChildJobState parameters of the Get-Job cmdlet.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=289586</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Invoke-Command</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Get-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Receive-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Remove-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Resume-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Start-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Stop-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Suspend-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Wait-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Jobs</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Job_Details</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Remote_Jobs</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Scheduled_Jobs</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>Get-Module</command:name><maml:description><maml:para>Gets the modules that have been imported or that can be imported into the current session. </maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>Get</command:verb><command:noun>Module</command:noun><dev:version /></command:details><maml:description><maml:para>The Get-Module cmdlet gets the Windows PowerShell modules that have been imported, or that can be imported, into a Windows PowerShell session. The module object that Get-Module returns contains valuable information about the module. You can also pipe the module objects to other cmdlets, such as the Import-Module and Remove-Module cmdlets.</maml:para><maml:para>Without parameters, Get-Module gets modules that have been imported into the current session. To get all installed modules, use the ListAvailable parameter.</maml:para><maml:para>Get-Module gets modules, but it does not import them. Beginning in Windows PowerShell 3.0, modules are automatically imported when you use a command in the module, but a Get-Module command does not trigger an automatic import. You can also import the modules into your session by using the Import-Module cmdlet. </maml:para><maml:para>Beginning in Windows PowerShell 3.0, you can get (and then, import) modules from remote sessions into the local session. This strategy uses the Implicit Remoting feature of Windows PowerShell and is equivalent to using the Import-PSSession cmdlet. When you use commands in modules imported from another session, the commands run implicitly in the remote session, allowing you to manage the remote computer from the local session.</maml:para><maml:para>Also, beginning in Windows PowerShell 3.0, you can use Get-Module and Import-Module to get and import Common Information Model (CIM) modules, in which the cmdlets are defined in Cmdlet Definition XML (CDXML) files. This feature allows you to use cmdlets that are implemented in non-managed code assemblies, such as those written in C++.</maml:para><maml:para>With these new features, the Get-Module and Import-Module cmdlets become primary tools for managing heterogeneous enterprises that include Windows computers and computers that are running other operating systems. </maml:para><maml:para>To manage remote Windows computers that have Windows PowerShell and Windows PowerShell remoting enabled, create a PSSession on the remote computer and then use the PSSession parameter of Get-Module to get the Windows PowerShell modules in the PSSession. When you import the modules, and then use the imported commands in the current session, the commands run implicitly in the PSSession on the remote computer. You can use this strategy to manage the remote computer.</maml:para><maml:para>You can use a similar strategy to manage computers that do not have Windows PowerShell remoting enabled, including computers that are not running a Windows operating system, and Windows computers that have Windows PowerShell, but do not have Windows PowerShell remoting enabled.</maml:para><maml:para>Begin by creating a "CIM session" on the remote computer; a connection to Windows Management Instrumentation (WMI) on the remote computer. Then use the CIMSession parameter of Get-Module to get CIM modules from the CIM session. When you import a CIM module (by using the Import-Module cmdlet) and then run the imported commands, the commands run implicitly on the remote computer. You can use this WMI and CIM strategy to manage the remote computer.</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>Get-Module</maml:name><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="true (ByValue)" position="1" aliases=""><maml:name>FullyQualifiedName</maml:name><maml:description><maml:para>Gets modules with names that are specified in the form of ModuleSpecification objects (described by the Remarks section of <maml:navigationLink><maml:linkText>ModuleSpecification Constructor (Hashtable)</maml:linkText><maml:uri></maml:uri></maml:navigationLink> on MSDN). For example, the FullyQualifiedName parameter accepts a module name that is specified in the format @{ModuleName = "modulename"; ModuleVersion = "version_number"} or @{ModuleName = "modulename"; ModuleVersion = "version_number"; Guid = "GUID"}. ModuleName and ModuleVersion are required, but Guid is optional.</maml:para><maml:para>You cannot specify the FullyQualifiedName parameter in the same command as a Name parameter; the two parameters are mutually exclusive.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="true (ByValue)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Gets only modules with the specified names or name patterns. Wildcards are permitted. You can also pipe the names to Get-Module. You cannot specify the FullyQualifiedName parameter in the same command as a Name parameter; the two parameters are mutually exclusive. The Name parameter cannot accept a module GUID as a value; to return modules by specifying a GUID, use the FullyQualifiedName parameter instead of the Name parameter.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>All</maml:name><maml:description><maml:para>Gets all modules in each module folder, including nested modules, manifest (.psd1) files, script module (.psm1) files, and binary module (.dll) files. Without the All parameter, Get-Module gets only the default module in each module folder.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Get-Module</maml:name><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="true (ByValue)" position="1" aliases=""><maml:name>FullyQualifiedName</maml:name><maml:description><maml:para>Gets modules with names that are specified in the form of ModuleSpecification objects (described by the Remarks section of <maml:navigationLink><maml:linkText>ModuleSpecification Constructor (Hashtable)</maml:linkText><maml:uri></maml:uri></maml:navigationLink> on MSDN). For example, the FullyQualifiedName parameter accepts a module name that is specified in the format @{ModuleName = "modulename"; ModuleVersion = "version_number"} or @{ModuleName = "modulename"; ModuleVersion = "version_number"; Guid = "GUID"}. ModuleName and ModuleVersion are required, but Guid is optional.</maml:para><maml:para>You cannot specify the FullyQualifiedName parameter in the same command as a Name parameter; the two parameters are mutually exclusive.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="true (ByValue)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Gets only modules with the specified names or name patterns. Wildcards are permitted. You can also pipe the names to Get-Module. You cannot specify the FullyQualifiedName parameter in the same command as a Name parameter; the two parameters are mutually exclusive. The Name parameter cannot accept a module GUID as a value; to return modules by specifying a GUID, use the FullyQualifiedName parameter instead of the Name parameter.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>All</maml:name><maml:description><maml:para>Gets all modules in each module folder, including nested modules, manifest (.psd1) files, script module (.psm1) files, and binary module (.dll) files. Without the All parameter, Get-Module gets only the default module in each module folder.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Refresh</maml:name><maml:description><maml:para>Refreshes the cache of installed commands. The command cache is created when the session starts. It enables the Get-Command cmdlet to get commands from modules that are not imported into the session.</maml:para><maml:para>This parameter is designed for development and testing scenarios in which the contents of modules have changed since the session started.</maml:para><maml:para>When the Refresh parameter is used in a command, the ListAvailable parameter is required.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ListAvailable</maml:name><maml:description><maml:para>Gets all installed modules. Get-Module gets modules in paths listed in the PSModulePath environment variable. Without this parameter, Get-Module gets only the modules that are both listed in the PSModulePath environment variable, and that are loaded in the current session. ListAvailable does not return information about modules that are not found in the PSModulePath environment variable, even if those modules are loaded in the current session.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Get-Module</maml:name><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="true (ByValue)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Gets only modules with the specified names or name patterns. Wildcards are permitted. You can also pipe the names to Get-Module. You cannot specify the FullyQualifiedName parameter in the same command as a Name parameter; the two parameters are mutually exclusive. The Name parameter cannot accept a module GUID as a value; to return modules by specifying a GUID, use the FullyQualifiedName parameter instead of the Name parameter.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CimNamespace</maml:name><maml:description><maml:para>Specifies the namespace of an alternate CIM provider that exposes CIM modules. The default value is the namespace of the Module Discovery WMI provider.</maml:para><maml:para>Use this parameter to get CIM modules from computers and devices that are not running a Windows operating system.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CimResourceUri</maml:name><maml:description><maml:para>Specifies an alternate location for CIM modules. The default value is the resource URI of the Module Discovery WMI provider on the remote computer.</maml:para><maml:para>Use this parameter to get CIM modules from computers and devices that are not running a Windows operating system.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Uri</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ListAvailable</maml:name><maml:description><maml:para>Gets all installed modules. Get-Module gets modules in paths listed in the PSModulePath environment variable. Without this parameter, Get-Module gets only the modules that are both listed in the PSModulePath environment variable, and that are loaded in the current session. ListAvailable does not return information about modules that are not found in the PSModulePath environment variable, even if those modules are loaded in the current session.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Refresh</maml:name><maml:description><maml:para>Refreshes the cache of installed commands. The command cache is created when the session starts. It enables the Get-Command cmdlet to get commands from modules that are not imported into the session.</maml:para><maml:para>This parameter is designed for development and testing scenarios in which the contents of modules have changed since the session started.</maml:para><maml:para>When the Refresh parameter is used in a command, the ListAvailable parameter is required.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CimSession</maml:name><maml:description><maml:para>Specifies a CIM session on the remote computer. Enter a variable that contains the CIM session or a command that gets the CIM session, such as a <maml:navigationLink><maml:linkText>Get-CIMSession</maml:linkText><maml:uri></maml:uri></maml:navigationLink> command.</maml:para><maml:para>Get-Module uses the CIM session connection to get modules from the remote computer. When you import the module (by using the Import-Module cmdlet) and use the commands from the imported module in the current session, the commands actually run on the remote computer.</maml:para><maml:para>You can use this parameter to get modules from computers and devices that are not running a Windows operating system, and Windows computers that have Windows PowerShell, but do not have Windows PowerShell remoting enabled.</maml:para><maml:para>The CimSession parameter gets all modules in the CIMSession. However, you can import only CIM-based and Cmdlet Definition XML (CDXML)-based modules.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">CimSession</command:parameterValue></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Get-Module</maml:name><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="true (ByValue)" position="1" aliases=""><maml:name>FullyQualifiedName</maml:name><maml:description><maml:para>Gets modules with names that are specified in the form of ModuleSpecification objects (described by the Remarks section of <maml:navigationLink><maml:linkText>ModuleSpecification Constructor (Hashtable)</maml:linkText><maml:uri></maml:uri></maml:navigationLink> on MSDN). For example, the FullyQualifiedName parameter accepts a module name that is specified in the format @{ModuleName = "modulename"; ModuleVersion = "version_number"} or @{ModuleName = "modulename"; ModuleVersion = "version_number"; Guid = "GUID"}. ModuleName and ModuleVersion are required, but Guid is optional.</maml:para><maml:para>You cannot specify the FullyQualifiedName parameter in the same command as a Name parameter; the two parameters are mutually exclusive.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="true (ByValue)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Gets only modules with the specified names or name patterns. Wildcards are permitted. You can also pipe the names to Get-Module. You cannot specify the FullyQualifiedName parameter in the same command as a Name parameter; the two parameters are mutually exclusive. The Name parameter cannot accept a module GUID as a value; to return modules by specifying a GUID, use the FullyQualifiedName parameter instead of the Name parameter.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ListAvailable</maml:name><maml:description><maml:para>Gets all installed modules. Get-Module gets modules in paths listed in the PSModulePath environment variable. Without this parameter, Get-Module gets only the modules that are both listed in the PSModulePath environment variable, and that are loaded in the current session. ListAvailable does not return information about modules that are not found in the PSModulePath environment variable, even if those modules are loaded in the current session.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Refresh</maml:name><maml:description><maml:para>Refreshes the cache of installed commands. The command cache is created when the session starts. It enables the Get-Command cmdlet to get commands from modules that are not imported into the session.</maml:para><maml:para>This parameter is designed for development and testing scenarios in which the contents of modules have changed since the session started.</maml:para><maml:para>When the Refresh parameter is used in a command, the ListAvailable parameter is required.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>PSSession</maml:name><maml:description><maml:para>Gets the modules in the specified user-managed Windows PowerShell session (PSSession). Enter a variable that contains the session, a command that gets the session, such as a Get-PSSession command, or a command that creates the session, such as a New-PSSession command.</maml:para><maml:para>When the session is connected to a remote computer, the ListAvailable parameter is required.</maml:para><maml:para>A Get-Module command with the PSSession parameter is equivalent to using the Invoke-Command cmdlet to run a Get-Module -ListAvailable command in a PSSession.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSSession</command:parameterValue></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>All</maml:name><maml:description><maml:para>Gets all modules in each module folder, including nested modules, manifest (.psd1) files, script module (.psm1) files, and binary module (.dll) files. Without the All parameter, Get-Module gets only the default module in each module folder.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CimNamespace</maml:name><maml:description><maml:para>Specifies the namespace of an alternate CIM provider that exposes CIM modules. The default value is the namespace of the Module Discovery WMI provider.</maml:para><maml:para>Use this parameter to get CIM modules from computers and devices that are not running a Windows operating system.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CimResourceUri</maml:name><maml:description><maml:para>Specifies an alternate location for CIM modules. The default value is the resource URI of the Module Discovery WMI provider on the remote computer.</maml:para><maml:para>Use this parameter to get CIM modules from computers and devices that are not running a Windows operating system.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Uri</command:parameterValue><dev:type><maml:name>Uri</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ListAvailable</maml:name><maml:description><maml:para>Gets all installed modules. Get-Module gets modules in paths listed in the PSModulePath environment variable. Without this parameter, Get-Module gets only the modules that are both listed in the PSModulePath environment variable, and that are loaded in the current session. ListAvailable does not return information about modules that are not found in the PSModulePath environment variable, even if those modules are loaded in the current session.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="true (ByValue)" position="1" aliases=""><maml:name>FullyQualifiedName</maml:name><maml:description><maml:para>Gets modules with names that are specified in the form of ModuleSpecification objects (described by the Remarks section of <maml:navigationLink><maml:linkText>ModuleSpecification Constructor (Hashtable)</maml:linkText><maml:uri></maml:uri></maml:navigationLink> on MSDN). For example, the FullyQualifiedName parameter accepts a module name that is specified in the format @{ModuleName = "modulename"; ModuleVersion = "version_number"} or @{ModuleName = "modulename"; ModuleVersion = "version_number"; Guid = "GUID"}. ModuleName and ModuleVersion are required, but Guid is optional.</maml:para><maml:para>You cannot specify the FullyQualifiedName parameter in the same command as a Name parameter; the two parameters are mutually exclusive.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>All imported or available modules.</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="true (ByValue)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Gets only modules with the specified names or name patterns. Wildcards are permitted. You can also pipe the names to Get-Module. You cannot specify the FullyQualifiedName parameter in the same command as a Name parameter; the two parameters are mutually exclusive. The Name parameter cannot accept a module GUID as a value; to return modules by specifying a GUID, use the FullyQualifiedName parameter instead of the Name parameter.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>All imported or available modules.</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CimSession</maml:name><maml:description><maml:para>Specifies a CIM session on the remote computer. Enter a variable that contains the CIM session or a command that gets the CIM session, such as a <maml:navigationLink><maml:linkText>Get-CIMSession</maml:linkText><maml:uri></maml:uri></maml:navigationLink> command.</maml:para><maml:para>Get-Module uses the CIM session connection to get modules from the remote computer. When you import the module (by using the Import-Module cmdlet) and use the commands from the imported module in the current session, the commands actually run on the remote computer.</maml:para><maml:para>You can use this parameter to get modules from computers and devices that are not running a Windows operating system, and Windows computers that have Windows PowerShell, but do not have Windows PowerShell remoting enabled.</maml:para><maml:para>The CimSession parameter gets all modules in the CIMSession. However, you can import only CIM-based and Cmdlet Definition XML (CDXML)-based modules.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">CimSession</command:parameterValue><dev:type><maml:name>CimSession</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>PSSession</maml:name><maml:description><maml:para>Gets the modules in the specified user-managed Windows PowerShell session (PSSession). Enter a variable that contains the session, a command that gets the session, such as a Get-PSSession command, or a command that creates the session, such as a New-PSSession command.</maml:para><maml:para>When the session is connected to a remote computer, the ListAvailable parameter is required.</maml:para><maml:para>A Get-Module command with the PSSession parameter is equivalent to using the Invoke-Command cmdlet to run a Get-Module -ListAvailable command in a PSSession.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSSession</command:parameterValue><dev:type><maml:name>PSSession</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Refresh</maml:name><maml:description><maml:para>Refreshes the cache of installed commands. The command cache is created when the session starts. It enables the Get-Command cmdlet to get commands from modules that are not imported into the session.</maml:para><maml:para>This parameter is designed for development and testing scenarios in which the contents of modules have changed since the session started.</maml:para><maml:para>When the Refresh parameter is used in a command, the ListAvailable parameter is required.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name>System.String</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You can pipe module names to Get-Module.</maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name>System.Management.Automation.PSModuleInfo</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>Get-Module returns objects that represent modules. When you use the ListAvailable parameter, Get-Module returns a ModuleInfoGrouping object, which is a type of PSModuleInfo object that has the same properties and methods.</maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><maml:alertSet><maml:title /><maml:alert><maml:para>Beginning in Windows PowerShell 3.0, the core commands that are included in Windows PowerShell are packaged in modules. The exception is Microsoft.PowerShell.Core, which is a snap-in (PSSnapin). By default, only the Microsoft.PowerShell.Core snap-in is added to the session by default. Modules are imported automatically on first use and you can use the Import-Module cmdlet to import them.</maml:para></maml:alert><maml:alert><maml:para>Beginning in Windows PowerShell 3.0, the core commands that are installed with Windows PowerShell are packaged in modules. In Windows PowerShell 2.0, and in host programs that create older-style sessions in later versions of Windows PowerShell, the core commands are packaged in snap-ins ("PSSnapins"). The exception is Microsoft.PowerShell.Core, which is always a snap-in. Also, remote sessions, such as those started by the New-PSSession cmdlet, are older-style sessions that include core snap-ins.</maml:para><maml:para>For information about the CreateDefault2 method that creates newer-style sessions with core modules, see "CreateDefault2 Method" in MSDN at <maml:navigationLink><maml:linkText>http://msdn.microsoft.com/en-us/library/windows/desktop/system.management.automation.runspaces.initialsessionstate.createdefault2(v=VS.85).aspx</maml:linkText><maml:uri></maml:uri></maml:navigationLink>.</maml:para></maml:alert><maml:alert><maml:para>Get-Module only gets modules in locations that are stored in the value of the PSModulePath environment variable ($env:PSModulePath). You can use the Path parameter of the Import-Module cmdlet to import modules in other locations, but you cannot use the Get-Module cmdlet to get them.</maml:para></maml:alert><maml:alert><maml:para>Also, beginning in Windows PowerShell 3.0, new properties have been added to the object that Get-Module returns that make it easier to learn about modules even before they are imported. All properties are populated before importing, including the ExportedCommands, ExportedCmdlets and ExportedFunctions properties that list the commands that the module exports.</maml:para></maml:alert><maml:alert><maml:para>The ListAvailable parameter gets only well-formed modules, that is, folders that contain at least one file whose base name (the name without the file name extension) is the same as the name of the module folder. Folders that contain files with different names are considered to be containers, but not modules.</maml:para><maml:para>To get modules that are implemented as .dll files, but are not enclosed in a module folder, use both the ListAvailable and All parameters.</maml:para></maml:alert><maml:alert><maml:para>To use the CIM session feature, the remote computer must have WS-Management remoting and Windows Management Instrumentation (WMI), which is the Microsoft implementation of the Common Information Model (CIM) standard. The computer must also have the Module Discovery WMI provider or an alternate WMI provider that has the same basic features.</maml:para><maml:para>You can use the CIM session feature on computers that are not running a Windows operating system and on Windows computers that have Windows PowerShell, but do not have Windows PowerShell remoting enabled.</maml:para><maml:para>You can also use the CIM parameters to get CIM modules from computers that have Windows PowerShell remoting enabled, including the local computer. When you create a CIM session on the local computer, Windows PowerShell uses DCOM, instead of WMI, to create the session.</maml:para></maml:alert></maml:alertSet><command:examples><command:example><maml:title>
  
-------------------------- EXAMPLE 1 --------------------------
  
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-Module
</dev:code><dev:remarks><maml:para>This command gets modules that have been imported into the current session.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 2 --------------------------
  
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-Module -ListAvailable
</dev:code><dev:remarks><maml:para>This command gets the modules that are installed on the computer and can be imported into the current session.</maml:para><maml:para>Get-Module looks for available modules in the path specified by the $env:PSModulePath environment variable. For more information about PSModulePath, see about_Modules and about_Environment_Variables.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 3 --------------------------
  
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-Module -ListAvailable -All
</dev:code><dev:remarks><maml:para>This command gets all of the exported files for all available modules.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 4 --------------------------
  
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-Module –FullyQualifiedName @{ModuleName="Microsoft.PowerShell.Management";ModuleVersion="3.1.0.0"} | Format-Table -Property Name,Version
Name Version
---- -------
Microsoft.PowerShell.Management 3.1.0.0
</dev:code><dev:remarks><maml:para>This command gets the Microsoft.PowerShell.Management module by specifying the module’s fully qualified name, with the FullyQualifiedName parameter. The command then pipes the results into Format-Table, to format the results as a table with Name and Version as the column headings.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 5 --------------------------
  
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-Module | Get-Member -MemberType Property | Format-Table Name
 
Name
 
----
 
AccessMode
 
Author
 
ClrVersion
 
CompanyName
 
Copyright
 
Definition
 
Description
 
DotNetFrameworkVersion
 
ExportedAliases
 
ExportedCmdlets
 
ExportedCommands
 
ExportedFormatFiles
 
ExportedFunctions
 
ExportedTypeFiles
 
ExportedVariables
 
ExportedWorkflows
 
FileList
 
Guid
 
HelpInfoUri
 
LogPipelineExecutionDetails
 
ModuleBase
 
ModuleList
 
ModuleType
 
Name
 
NestedModules
 
OnRemove
 
Path
 
PowerShellHostName
 
PowerShellHostVersion
 
PowerShellVersion
 
PrivateData
 
ProcessorArchitecture
 
RequiredAssemblies
 
RequiredModules
 
RootModule
 
Scripts
 
SessionState
 
Version
</dev:code><dev:remarks><maml:para>This command gets the properties of the PSModuleInfo object that Get-Module returns. There is one object for each module file. </maml:para><maml:para>You can use the properties to format and filter the module objects. For more information about the properties, see "PSModule Properties" in the MSDN (Microsoft Developer Network) library at <maml:navigationLink><maml:linkText>http://go.microsoft.com/fwlink/?LinkId=143624</maml:linkText><maml:uri></maml:uri></maml:navigationLink>.</maml:para><maml:para>The output includes the new properties, such as Author and CompanyName, that were introduced in Windows PowerShell 3.0</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 6 --------------------------
  
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-Module -ListAvailable -All | Format-Table -Property Name, Moduletype, Path -Groupby Name
 
   Name: AppLocker
 
 
Name ModuleType Path
 
---- ---------- ----
 
AppLocker Manifest C:\Windows\system32\WindowsPowerShell\v1.0\Modules\AppLocker\AppLocker.psd1
 
 
 
   Name: Appx
 
 
Name ModuleType Path
 
---- ---------- ----
 
Appx Manifest C:\Windows\system32\WindowsPowerShell\v1.0\Modules\Appx\en-US\Appx.psd1
 
Appx Manifest C:\Windows\system32\WindowsPowerShell\v1.0\Modules\Appx\Appx.psd1
 
Appx Script C:\Windows\system32\WindowsPowerShell\v1.0\Modules\Appx\Appx.psm1
 
 
 
   Name: BestPractices
 
 
Name ModuleType Path
 
---- ---------- ----
 
BestPractices Manifest C:\Windows\system32\WindowsPowerShell\v1.0\Modules\BestPractices\BestPractices.psd1
 
 
 
   Name: BitsTransfer
 
 
Name ModuleType Path
 
---- ---------- ----
 
BitsTransfer Manifest C:\Windows\system32\WindowsPowerShell\v1.0\Modules\BitsTransfer\BitsTransfer.psd1
 
</dev:code><dev:remarks><maml:para>This command gets all module files (imported and available) and groups them by module name. This lets you see the module files that each script is exporting.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 7 --------------------------
  
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>The first command gets the PSModuleInfo object that represents BitsTransfer module. It saves the object in the $m variable.
PS C:\&gt;$m = Get-Module -list -Name BitsTransfer
 
The second command uses the Get-Content cmdlet to get the content of the manifest file in the specified path. It uses dot notation to get the path to the manifest file, which is stored in the Path property of the object.The output shows the contents of the module manifest.
PS C:\&gt;Get-Content $m.Path
 
@{
GUID="{8FA5064B-8479-4c5c-86EA-0D311FE48875}"
Author="Microsoft Corporation"
CompanyName="Microsoft Corporation"
Copyright="© Microsoft Corporation. All rights reserved."
ModuleVersion="1.0.0.0"
Description="Windows Powershell File Transfer Module"
PowerShellVersion="2.0"
CLRVersion="2.0"
NestedModules="Microsoft.BackgroundIntelligentTransfer.Management"
FormatsToProcess="FileTransfer.Format.ps1xml"
RequiredAssemblies=Join-Path $psScriptRoot "Microsoft.BackgroundIntelligentTransfer.Management.Interop.dll"
}
</dev:code><dev:remarks><maml:para>These commands display the contents of the module manifest for the Windows PowerShell BitsTransfer module. </maml:para><maml:para>Modules are not required to have manifest files and, when they do have a manifest file, the manifest file is required only to include a version number. However, manifest files often provide useful information about a module, its requirements, and its contents.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 8 --------------------------
  
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;dir (Get-Module -ListAvailable FileTransfer).ModuleBase
Directory: C:\Windows\system32\WindowsPowerShell\v1.0\Modules\FileTransfer
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 12/16/2008 12:36 PM en-US
-a--- 11/19/2008 11:30 PM 16184 FileTransfer.Format.ps1xml
-a--- 11/20/2008 11:30 PM 1044 FileTransfer.psd1
-a--- 12/16/2008 12:20 AM 108544 Microsoft.BackgroundIntelligentTransfer.Management.Interop.dll
</dev:code><dev:remarks><maml:para>This command lists the files in the module's directory. This is another way to determine what is in a module before you import it. Some modules might have help files or ReadMe files that describe the module.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 9 --------------------------
  
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;$s = New-PSSession -ComputerName Server01
 
PS C:\&gt;Get-Module -PSSession $s -ListAvailable
</dev:code><dev:remarks><maml:para>These commands get the modules that are installed on the Server01 computer.</maml:para><maml:para>The first command uses the New-PSSession cmdlet to create a PSSession on the Server01 computer. The command saves the PSSession in the $s variable.</maml:para><maml:para>The second command uses the PSSession and ListAvailable parameters of Get-Module to get the modules in the PSSession in the $s variable.</maml:para><maml:para>If you pipe modules from other sessions to the Import-Module cmdlet, Import-Module imports the module into the current session by using the implicit remoting feature. This is equivalent to using the Import-PSSession cmdlet. You can use the cmdlets from the module in the current session, but commands that use these cmdlets actually run the remote session. For more information, see Import-Module and Import-PSSession.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 10 --------------------------
  
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>The first command uses the New-CimSession cmdlet to create a session on the RSDGF03 remote computer. The session connects to WMI on the remote computer. The command saves the CIM session in the $cs variable.
PS C:\&gt;$cs = New-CimSession -ComputerName RSDGF03
 
The second command uses in the CIM session in the $cs variable to run a Get-Module command on the RSDGF03 computer. The command uses the Name parameter to specify the Storage module.The command uses a pipeline operator (|) to send the Storage module to the Import-Module cmdlet, which imports it into the local session.
PS C:\&gt;Get-Module -CimSession $cs -Name Storage | Import-Module
 
The third command runs the Get-Command cmdlet on the Get-Disk command in the Storage module.When you import a CIM module into the local session, Windows PowerShell converts the CDXML files that represent in the CIM module into Windows PowerShell scripts, which appear as functions in the local session.
PS C:\&gt;Get-Command Get-Disk
CommandType Name ModuleName
 
----------- ---- ----------
 
Function Get-Disk Storage
 
The fourth command runs the Get-Disk command. Although the command is typed in the local session, it runs implicitly on the remote computer from which it was imported.The command gets objects from the remote computer and returns them to the local session.
PS C:\&gt;Get-Disk
Number Friendly Name OperationalStatus Total Size Partition Style
 
------ ------------- ----------------- ---------- ---------------
 
0 Virtual HD ATA Device Online 40 GB MBR
</dev:code><dev:remarks><maml:para>The commands in this example enable you to manage the storage systems of a remote computer that is not running a Windows operating system. In this example, because the administrator of the computer has installed the Module Discovery WMI provider, the CIM commands can use the default values, which are designed for the provider.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=289587</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Get-CimSession</maml:linkText><maml:uri></maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>New-CimSession</maml:linkText><maml:uri></maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>about_Modules</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Get-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Import-Module</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Import-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>New-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Remove-Module</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>Get-PSSession</command:name><maml:description><maml:para>Gets the Windows PowerShell sessions on local and remote computers.</maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>Get</command:verb><command:noun>PSSession</command:noun><dev:version /></command:details><maml:description><maml:para>The Get-PSSession cmdlet gets the user-managed Windows PowerShell sessions ("PSSessions") on local and remote computers.</maml:para><maml:para>Beginning in Windows PowerShell 3.0, sessions are stored on the computers at the remote end of each connection. You can use the ComputerName or ConnectionUri parameters of Get-PSSession to get the sessions that connect to the local computer or remote computers, even if they were not created in the current session.</maml:para><maml:para>Without parameters, Get-PSSession gets all sessions that were created in the current session.</maml:para><maml:para>Use the filtering parameters, including Name, ID, InstanceID, State, ApplicationName, and ConfigurationName to select from among the sessions that Get-PSSession returns.</maml:para><maml:para>Use the remaining parameters to configure the temporary connection in which the Get-PSSession command runs when you use the ComputerName or ConnectionUri parameters.</maml:para><maml:para>NOTE: In Windows PowerShell 2.0, without parameters, Get-PSSession gets all sessions that were created in the current session. The ComputerName parameter gets sessions that were created in the current session and connect to the specified computer.</maml:para><maml:para>For more information about Windows PowerShell sessions, see about_PSSessions (http://go.microsoft.com/fwlink/?LinkID=135181).</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>Get-PSSession</maml:name><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Gets only the sessions with the specified friendly names. Wildcards are permitted.</maml:para><maml:para>The friendly name of a session is stored in the Name property of the session.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Get-PSSession</maml:name><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="URI,CU"><maml:name>ConnectionUri</maml:name><maml:description><maml:para>Specifies a Uniform Resource Identifier (URI) that defines the connection endpoint for the temporary session in which the Get-PSSession command runs. The URI must be fully qualified.</maml:para><maml:para>This parameter configures the temporary connection that is created to run a Get-PSSession command with the ConnectionUri parameter.</maml:para><maml:para>The format of this string is:</maml:para><maml:para>&lt;Transport&gt;://&lt;ComputerName&gt;:&lt;Port&gt;/&lt;ApplicationName&gt;The default value is "http://localhost:5985/WSMAN".</maml:para><maml:para>If you do not specify a ConnectionUri, you can use the UseSSL, ComputerName, Port, and ApplicationName parameters to specify the ConnectionURI values. Valid values for the Transport segment of the URI are HTTP and HTTPS. If you specify a connection URI with a Transport segment, but do not specify a port, the session is created with standards ports: 80 for HTTP and 443 for HTTPS. To use the default ports for Windows PowerShell remoting, specify port 5985 for HTTP or 5986 for HTTPS.</maml:para><maml:para>If the destination computer redirects the connection to a different URI, Windows PowerShell prevents the redirection unless you use the AllowRedirection parameter in the command.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para><maml:para>Note: This parameter gets sessions only from computers running Windows PowerShell 3.0 or later versions of Windows PowerShell. Earlier versions do not store sessions.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Uri[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>AllowRedirection</maml:name><maml:description><maml:para>Allows redirection of this connection to an alternate Uniform Resource Identifier (URI). By default, Windows PowerShell does not redirect connections.</maml:para><maml:para>This parameter configures the temporary connection that is created to run a Get-PSSession command with the ConnectionUri parameter.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Authentication</maml:name><maml:description><maml:para>Specifies the mechanism that is used to authenticate credentials for the session in which the Get-PSSession command runs.</maml:para><maml:para>This parameter configures the temporary connection that is created to run a Get-PSSession command with the ComputerName or ConnectionUri parameter.</maml:para><maml:para>Valid values are Default, Basic, Credssp, Digest, Kerberos, Negotiate, and NegotiateWithImplicitCredential. The default value is Default.</maml:para><maml:para>For information about the values of this parameter, see the description of the System.Management.Automation.Runspaces.AuthenticationMechanism enumeration in MSDN.</maml:para><maml:para>CAUTION: Credential Security Support Provider (CredSSP) authentication, in which the user's credentials are passed to a remote computer to be authenticated, is designed for commands that require authentication on more than one resource, such as accessing a remote network share. This mechanism increases the security risk of the remote operation. If the remote computer is compromised, the credentials that are passed to it can be used to control the network session.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">AuthenticationMechanism</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CertificateThumbprint</maml:name><maml:description><maml:para>Specifies the digital public key certificate (X509) of a user account that has permission to create the session in which the Get-PSSession command runs. Enter the certificate thumbprint of the certificate.</maml:para><maml:para>This parameter configures the temporary connection that is created to run a Get-PSSession command with the ComputerName or ConnectionUri parameter.</maml:para><maml:para>Certificates are used in client certificate-based authentication. They can be mapped only to local user accounts; they do not work with domain accounts.</maml:para><maml:para>To get a certificate thumbprint, use a Get-Item or Get-ChildItem command in the Windows PowerShell Cert: drive.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>ConfigurationName</maml:name><maml:description><maml:para>Gets only to sessions that use the specified session configuration.</maml:para><maml:para>Enter a configuration name or the fully qualified resource URI for a session configuration. If you specify only the configuration name, the following schema URI is prepended: http://schemas.microsoft.com/powershell. The configuration name of a session is stored in the ConfigurationName property of the session.</maml:para><maml:para>The value of this parameter is used to select and filter sessions. It does not change the session configuration that the session uses.</maml:para><maml:para>For more information about session configurations, see about_Session_Configurations .</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Credential</maml:name><maml:description><maml:para>Runs the command with the permissions of the specified user. Specify a user account that has permission to connect to the remote computer and run a Get-PSSession command. The default is the current user. Type a user name, such as "User01", "Domain01\User01", or "User@Domain.com", or enter a PSCredential object, such as one returned by the Get-Credential cmdlet. When you type a user name, you will be prompted for a password.</maml:para><maml:para>This parameter configures to the temporary connection that is created to run a Get-PSSession command with the ComputerName or ConnectionUri parameter.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Gets only the sessions with the specified friendly names. Wildcards are permitted.</maml:para><maml:para>The friendly name of a session is stored in the Name property of the session.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SessionOption</maml:name><maml:description><maml:para>Sets advanced options for the session. Enter a SessionOption object, such as one that you create by using the New-PSSessionOption cmdlet, or a hash table in which the keys are session option names and the values are session option values.</maml:para><maml:para>The default values for the options are determined by the value of the $PSSessionOption preference variable, if it is set. Otherwise, the default values are established by options set in the session configuration.</maml:para><maml:para>The session option values take precedence over default values for sessions set in the $PSSessionOption preference variable and in the session configuration. However, they do not take precedence over maximum values, quotas or limits set in the session configuration. </maml:para><maml:para>For a description of the session options, including the default values, see New-PSSessionOption. For information about the $PSSessionOption preference variable, see about_Preference_Variables (http://go.microsoft.com/fwlink/?LinkID=113248). For more information about session configurations, see about_Session_Configurations (http://go.microsoft.com/fwlink/?LinkID=145152).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSSessionOption</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>State</maml:name><maml:description><maml:para>Gets only sessions in the specified state. Valid values are: All, Opened, Disconnected, Closed, and Broken. The default value is All.</maml:para><maml:para>The session state value is relative to the current sessions. Sessions that were not created in the current sessions and are not connected to the current session have a state of Disconnected even when they are connected to a different session.</maml:para><maml:para>The state of a session is stored in the State property of the session.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">SessionFilterState</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ThrottleLimit</maml:name><maml:description><maml:para>Specifies the maximum number of concurrent connections that can be established to run the Get-PSSession command. If you omit this parameter or enter a value of 0 (zero), the default value, 32, is used. The throttle limit applies only to the current command, not to the session or to the computer.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Get-PSSession</maml:name><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="Cn"><maml:name>ComputerName</maml:name><maml:description><maml:para>Gets the sessions that connect to the specified computers. Wildcards are not permitted. There is no default value.</maml:para><maml:para>Beginning in Windows PowerShell 3.0, PSSessions are stored on the computers at the remote end of each connection. To get the sessions on the specified computers, Windows PowerShell creates a temporary connection to each computer and runs a Get-PSSession command.</maml:para><maml:para>Type the NetBIOS name, an IP address, or a fully-qualified domain name of one or more computers. To specify the local computer, type the computer name, "localhost", or a dot (.).</maml:para><maml:para>Note: This parameter gets sessions only from computers running Windows PowerShell 3.0 or later versions of Windows PowerShell. Earlier versions do not store sessions.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>ApplicationName</maml:name><maml:description><maml:para>Connects only to sessions that use the specified application.</maml:para><maml:para>Enter the application name segment of the connection URI. For example, in the following connection URI, the application name is WSMan: http://localhost:5985/WSMAN. The application name of a session is stored in the Runspace.ConnectionInfo.AppName property of the session.</maml:para><maml:para>The value of this parameter is used to select and filter sessions. It does not change the application that the session uses.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Authentication</maml:name><maml:description><maml:para>Specifies the mechanism that is used to authenticate credentials for the session in which the Get-PSSession command runs.</maml:para><maml:para>This parameter configures the temporary connection that is created to run a Get-PSSession command with the ComputerName or ConnectionUri parameter.</maml:para><maml:para>Valid values are Default, Basic, Credssp, Digest, Kerberos, Negotiate, and NegotiateWithImplicitCredential. The default value is Default.</maml:para><maml:para>For information about the values of this parameter, see the description of the System.Management.Automation.Runspaces.AuthenticationMechanism enumeration in MSDN.</maml:para><maml:para>CAUTION: Credential Security Support Provider (CredSSP) authentication, in which the user's credentials are passed to a remote computer to be authenticated, is designed for commands that require authentication on more than one resource, such as accessing a remote network share. This mechanism increases the security risk of the remote operation. If the remote computer is compromised, the credentials that are passed to it can be used to control the network session.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">AuthenticationMechanism</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CertificateThumbprint</maml:name><maml:description><maml:para>Specifies the digital public key certificate (X509) of a user account that has permission to create the session in which the Get-PSSession command runs. Enter the certificate thumbprint of the certificate.</maml:para><maml:para>This parameter configures the temporary connection that is created to run a Get-PSSession command with the ComputerName or ConnectionUri parameter.</maml:para><maml:para>Certificates are used in client certificate-based authentication. They can be mapped only to local user accounts; they do not work with domain accounts.</maml:para><maml:para>To get a certificate thumbprint, use a Get-Item or Get-ChildItem command in the Windows PowerShell Cert: drive.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>ConfigurationName</maml:name><maml:description><maml:para>Gets only to sessions that use the specified session configuration.</maml:para><maml:para>Enter a configuration name or the fully qualified resource URI for a session configuration. If you specify only the configuration name, the following schema URI is prepended: http://schemas.microsoft.com/powershell. The configuration name of a session is stored in the ConfigurationName property of the session.</maml:para><maml:para>The value of this parameter is used to select and filter sessions. It does not change the session configuration that the session uses.</maml:para><maml:para>For more information about session configurations, see about_Session_Configurations .</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Credential</maml:name><maml:description><maml:para>Runs the command with the permissions of the specified user. Specify a user account that has permission to connect to the remote computer and run a Get-PSSession command. The default is the current user. Type a user name, such as "User01", "Domain01\User01", or "User@Domain.com", or enter a PSCredential object, such as one returned by the Get-Credential cmdlet. When you type a user name, you will be prompted for a password.</maml:para><maml:para>This parameter configures to the temporary connection that is created to run a Get-PSSession command with the ComputerName or ConnectionUri parameter.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Gets only the sessions with the specified friendly names. Wildcards are permitted.</maml:para><maml:para>The friendly name of a session is stored in the Name property of the session.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Port</maml:name><maml:description><maml:para>Specifies the specified network port that is used for the temporary connection in which the Get-PSSession command runs. To connect to a remote computer, the remote computer must be listening on the port that the connection uses. The default ports are 5985 (the WinRM port for HTTP) and 5986 (the WinRM port for HTTPS).</maml:para><maml:para>Before using an alternate port, you must configure the WinRM listener on the remote computer to listen at that port. To configure the listener, type the following two commands at the Windows PowerShell prompt:</maml:para><maml:para>Remove-Item -Path WSMan:\Localhost\listener\listener* -Recurse</maml:para><maml:para>New-Item -Path WSMan:\Localhost\listener -Transport http -Address * -Port &lt;port-number&gt;</maml:para><maml:para>This parameter configures to the temporary connection that is created to run a Get-PSSession command with the ComputerName or ConnectionUri parameter.</maml:para><maml:para>Do not use the Port parameter unless you must. The Port set in the command applies to all computers or sessions on which the command runs. An alternate port setting might prevent the command from running on all computers. Uses the specified port to run the Get-PSSession command.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SessionOption</maml:name><maml:description><maml:para>Sets advanced options for the session. Enter a SessionOption object, such as one that you create by using the New-PSSessionOption cmdlet, or a hash table in which the keys are session option names and the values are session option values.</maml:para><maml:para>The default values for the options are determined by the value of the $PSSessionOption preference variable, if it is set. Otherwise, the default values are established by options set in the session configuration.</maml:para><maml:para>The session option values take precedence over default values for sessions set in the $PSSessionOption preference variable and in the session configuration. However, they do not take precedence over maximum values, quotas or limits set in the session configuration. </maml:para><maml:para>For a description of the session options, including the default values, see New-PSSessionOption. For information about the $PSSessionOption preference variable, see about_Preference_Variables (http://go.microsoft.com/fwlink/?LinkID=113248). For more information about session configurations, see about_Session_Configurations (http://go.microsoft.com/fwlink/?LinkID=145152).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSSessionOption</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>State</maml:name><maml:description><maml:para>Gets only sessions in the specified state. Valid values are: All, Opened, Disconnected, Closed, and Broken. The default value is All.</maml:para><maml:para>The session state value is relative to the current sessions. Sessions that were not created in the current sessions and are not connected to the current session have a state of Disconnected even when they are connected to a different session.</maml:para><maml:para>The state of a session is stored in the State property of the session.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">SessionFilterState</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ThrottleLimit</maml:name><maml:description><maml:para>Specifies the maximum number of concurrent connections that can be established to run the Get-PSSession command. If you omit this parameter or enter a value of 0 (zero), the default value, 32, is used. The throttle limit applies only to the current command, not to the session or to the computer.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>UseSSL</maml:name><maml:description><maml:para>Uses the Secure Sockets Layer (SSL) protocol to establish the connection in which the Get-PSSession command runs. By default, SSL is not used. If you use this parameter, but SSL is not available on the port used for the command, the command fails.</maml:para><maml:para>This parameter configures the temporary connection that is created to run a Get-PSSession command with the ComputerName parameter.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Get-PSSession</maml:name><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="Cn"><maml:name>ComputerName</maml:name><maml:description><maml:para>Gets the sessions that connect to the specified computers. Wildcards are not permitted. There is no default value.</maml:para><maml:para>Beginning in Windows PowerShell 3.0, PSSessions are stored on the computers at the remote end of each connection. To get the sessions on the specified computers, Windows PowerShell creates a temporary connection to each computer and runs a Get-PSSession command.</maml:para><maml:para>Type the NetBIOS name, an IP address, or a fully-qualified domain name of one or more computers. To specify the local computer, type the computer name, "localhost", or a dot (.).</maml:para><maml:para>Note: This parameter gets sessions only from computers running Windows PowerShell 3.0 or later versions of Windows PowerShell. Earlier versions do not store sessions.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>ApplicationName</maml:name><maml:description><maml:para>Connects only to sessions that use the specified application.</maml:para><maml:para>Enter the application name segment of the connection URI. For example, in the following connection URI, the application name is WSMan: http://localhost:5985/WSMAN. The application name of a session is stored in the Runspace.ConnectionInfo.AppName property of the session.</maml:para><maml:para>The value of this parameter is used to select and filter sessions. It does not change the application that the session uses.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Authentication</maml:name><maml:description><maml:para>Specifies the mechanism that is used to authenticate credentials for the session in which the Get-PSSession command runs.</maml:para><maml:para>This parameter configures the temporary connection that is created to run a Get-PSSession command with the ComputerName or ConnectionUri parameter.</maml:para><maml:para>Valid values are Default, Basic, Credssp, Digest, Kerberos, Negotiate, and NegotiateWithImplicitCredential. The default value is Default.</maml:para><maml:para>For information about the values of this parameter, see the description of the System.Management.Automation.Runspaces.AuthenticationMechanism enumeration in MSDN.</maml:para><maml:para>CAUTION: Credential Security Support Provider (CredSSP) authentication, in which the user's credentials are passed to a remote computer to be authenticated, is designed for commands that require authentication on more than one resource, such as accessing a remote network share. This mechanism increases the security risk of the remote operation. If the remote computer is compromised, the credentials that are passed to it can be used to control the network session.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">AuthenticationMechanism</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CertificateThumbprint</maml:name><maml:description><maml:para>Specifies the digital public key certificate (X509) of a user account that has permission to create the session in which the Get-PSSession command runs. Enter the certificate thumbprint of the certificate.</maml:para><maml:para>This parameter configures the temporary connection that is created to run a Get-PSSession command with the ComputerName or ConnectionUri parameter.</maml:para><maml:para>Certificates are used in client certificate-based authentication. They can be mapped only to local user accounts; they do not work with domain accounts.</maml:para><maml:para>To get a certificate thumbprint, use a Get-Item or Get-ChildItem command in the Windows PowerShell Cert: drive.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>ConfigurationName</maml:name><maml:description><maml:para>Gets only to sessions that use the specified session configuration.</maml:para><maml:para>Enter a configuration name or the fully qualified resource URI for a session configuration. If you specify only the configuration name, the following schema URI is prepended: http://schemas.microsoft.com/powershell. The configuration name of a session is stored in the ConfigurationName property of the session.</maml:para><maml:para>The value of this parameter is used to select and filter sessions. It does not change the session configuration that the session uses.</maml:para><maml:para>For more information about session configurations, see about_Session_Configurations .</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Credential</maml:name><maml:description><maml:para>Runs the command with the permissions of the specified user. Specify a user account that has permission to connect to the remote computer and run a Get-PSSession command. The default is the current user. Type a user name, such as "User01", "Domain01\User01", or "User@Domain.com", or enter a PSCredential object, such as one returned by the Get-Credential cmdlet. When you type a user name, you will be prompted for a password.</maml:para><maml:para>This parameter configures to the temporary connection that is created to run a Get-PSSession command with the ComputerName or ConnectionUri parameter.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Port</maml:name><maml:description><maml:para>Specifies the specified network port that is used for the temporary connection in which the Get-PSSession command runs. To connect to a remote computer, the remote computer must be listening on the port that the connection uses. The default ports are 5985 (the WinRM port for HTTP) and 5986 (the WinRM port for HTTPS).</maml:para><maml:para>Before using an alternate port, you must configure the WinRM listener on the remote computer to listen at that port. To configure the listener, type the following two commands at the Windows PowerShell prompt:</maml:para><maml:para>Remove-Item -Path WSMan:\Localhost\listener\listener* -Recurse</maml:para><maml:para>New-Item -Path WSMan:\Localhost\listener -Transport http -Address * -Port &lt;port-number&gt;</maml:para><maml:para>This parameter configures to the temporary connection that is created to run a Get-PSSession command with the ComputerName or ConnectionUri parameter.</maml:para><maml:para>Do not use the Port parameter unless you must. The Port set in the command applies to all computers or sessions on which the command runs. An alternate port setting might prevent the command from running on all computers. Uses the specified port to run the Get-PSSession command.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SessionOption</maml:name><maml:description><maml:para>Sets advanced options for the session. Enter a SessionOption object, such as one that you create by using the New-PSSessionOption cmdlet, or a hash table in which the keys are session option names and the values are session option values.</maml:para><maml:para>The default values for the options are determined by the value of the $PSSessionOption preference variable, if it is set. Otherwise, the default values are established by options set in the session configuration.</maml:para><maml:para>The session option values take precedence over default values for sessions set in the $PSSessionOption preference variable and in the session configuration. However, they do not take precedence over maximum values, quotas or limits set in the session configuration. </maml:para><maml:para>For a description of the session options, including the default values, see New-PSSessionOption. For information about the $PSSessionOption preference variable, see about_Preference_Variables (http://go.microsoft.com/fwlink/?LinkID=113248). For more information about session configurations, see about_Session_Configurations (http://go.microsoft.com/fwlink/?LinkID=145152).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSSessionOption</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>State</maml:name><maml:description><maml:para>Gets only sessions in the specified state. Valid values are: All, Opened, Disconnected, Closed, and Broken. The default value is All.</maml:para><maml:para>The session state value is relative to the current sessions. Sessions that were not created in the current sessions and are not connected to the current session have a state of Disconnected even when they are connected to a different session.</maml:para><maml:para>The state of a session is stored in the State property of the session.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">SessionFilterState</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ThrottleLimit</maml:name><maml:description><maml:para>Specifies the maximum number of concurrent connections that can be established to run the Get-PSSession command. If you omit this parameter or enter a value of 0 (zero), the default value, 32, is used. The throttle limit applies only to the current command, not to the session or to the computer.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>UseSSL</maml:name><maml:description><maml:para>Uses the Secure Sockets Layer (SSL) protocol to establish the connection in which the Get-PSSession command runs. By default, SSL is not used. If you use this parameter, but SSL is not available on the port used for the command, the command fails.</maml:para><maml:para>This parameter configures the temporary connection that is created to run a Get-PSSession command with the ComputerName parameter.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>InstanceId</maml:name><maml:description><maml:para>Gets only the sessions with the specified instance IDs.</maml:para><maml:para>The instance ID is a GUID that uniquely identifies a session on a local or remote computer. The InstanceID is unique, even when you have multiple sessions running in Windows PowerShell.</maml:para><maml:para>The instance ID of a session is stored in the InstanceID property of the session.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Guid[]</command:parameterValue></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Get-PSSession</maml:name><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="URI,CU"><maml:name>ConnectionUri</maml:name><maml:description><maml:para>Specifies a Uniform Resource Identifier (URI) that defines the connection endpoint for the temporary session in which the Get-PSSession command runs. The URI must be fully qualified.</maml:para><maml:para>This parameter configures the temporary connection that is created to run a Get-PSSession command with the ConnectionUri parameter.</maml:para><maml:para>The format of this string is:</maml:para><maml:para>&lt;Transport&gt;://&lt;ComputerName&gt;:&lt;Port&gt;/&lt;ApplicationName&gt;The default value is "http://localhost:5985/WSMAN".</maml:para><maml:para>If you do not specify a ConnectionUri, you can use the UseSSL, ComputerName, Port, and ApplicationName parameters to specify the ConnectionURI values. Valid values for the Transport segment of the URI are HTTP and HTTPS. If you specify a connection URI with a Transport segment, but do not specify a port, the session is created with standards ports: 80 for HTTP and 443 for HTTPS. To use the default ports for Windows PowerShell remoting, specify port 5985 for HTTP or 5986 for HTTPS.</maml:para><maml:para>If the destination computer redirects the connection to a different URI, Windows PowerShell prevents the redirection unless you use the AllowRedirection parameter in the command.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para><maml:para>Note: This parameter gets sessions only from computers running Windows PowerShell 3.0 or later versions of Windows PowerShell. Earlier versions do not store sessions.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Uri[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>AllowRedirection</maml:name><maml:description><maml:para>Allows redirection of this connection to an alternate Uniform Resource Identifier (URI). By default, Windows PowerShell does not redirect connections.</maml:para><maml:para>This parameter configures the temporary connection that is created to run a Get-PSSession command with the ConnectionUri parameter.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Authentication</maml:name><maml:description><maml:para>Specifies the mechanism that is used to authenticate credentials for the session in which the Get-PSSession command runs.</maml:para><maml:para>This parameter configures the temporary connection that is created to run a Get-PSSession command with the ComputerName or ConnectionUri parameter.</maml:para><maml:para>Valid values are Default, Basic, Credssp, Digest, Kerberos, Negotiate, and NegotiateWithImplicitCredential. The default value is Default.</maml:para><maml:para>For information about the values of this parameter, see the description of the System.Management.Automation.Runspaces.AuthenticationMechanism enumeration in MSDN.</maml:para><maml:para>CAUTION: Credential Security Support Provider (CredSSP) authentication, in which the user's credentials are passed to a remote computer to be authenticated, is designed for commands that require authentication on more than one resource, such as accessing a remote network share. This mechanism increases the security risk of the remote operation. If the remote computer is compromised, the credentials that are passed to it can be used to control the network session.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">AuthenticationMechanism</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CertificateThumbprint</maml:name><maml:description><maml:para>Specifies the digital public key certificate (X509) of a user account that has permission to create the session in which the Get-PSSession command runs. Enter the certificate thumbprint of the certificate.</maml:para><maml:para>This parameter configures the temporary connection that is created to run a Get-PSSession command with the ComputerName or ConnectionUri parameter.</maml:para><maml:para>Certificates are used in client certificate-based authentication. They can be mapped only to local user accounts; they do not work with domain accounts.</maml:para><maml:para>To get a certificate thumbprint, use a Get-Item or Get-ChildItem command in the Windows PowerShell Cert: drive.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>ConfigurationName</maml:name><maml:description><maml:para>Gets only to sessions that use the specified session configuration.</maml:para><maml:para>Enter a configuration name or the fully qualified resource URI for a session configuration. If you specify only the configuration name, the following schema URI is prepended: http://schemas.microsoft.com/powershell. The configuration name of a session is stored in the ConfigurationName property of the session.</maml:para><maml:para>The value of this parameter is used to select and filter sessions. It does not change the session configuration that the session uses.</maml:para><maml:para>For more information about session configurations, see about_Session_Configurations .</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Credential</maml:name><maml:description><maml:para>Runs the command with the permissions of the specified user. Specify a user account that has permission to connect to the remote computer and run a Get-PSSession command. The default is the current user. Type a user name, such as "User01", "Domain01\User01", or "User@Domain.com", or enter a PSCredential object, such as one returned by the Get-Credential cmdlet. When you type a user name, you will be prompted for a password.</maml:para><maml:para>This parameter configures to the temporary connection that is created to run a Get-PSSession command with the ComputerName or ConnectionUri parameter.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SessionOption</maml:name><maml:description><maml:para>Sets advanced options for the session. Enter a SessionOption object, such as one that you create by using the New-PSSessionOption cmdlet, or a hash table in which the keys are session option names and the values are session option values.</maml:para><maml:para>The default values for the options are determined by the value of the $PSSessionOption preference variable, if it is set. Otherwise, the default values are established by options set in the session configuration.</maml:para><maml:para>The session option values take precedence over default values for sessions set in the $PSSessionOption preference variable and in the session configuration. However, they do not take precedence over maximum values, quotas or limits set in the session configuration. </maml:para><maml:para>For a description of the session options, including the default values, see New-PSSessionOption. For information about the $PSSessionOption preference variable, see about_Preference_Variables (http://go.microsoft.com/fwlink/?LinkID=113248). For more information about session configurations, see about_Session_Configurations (http://go.microsoft.com/fwlink/?LinkID=145152).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSSessionOption</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>State</maml:name><maml:description><maml:para>Gets only sessions in the specified state. Valid values are: All, Opened, Disconnected, Closed, and Broken. The default value is All.</maml:para><maml:para>The session state value is relative to the current sessions. Sessions that were not created in the current sessions and are not connected to the current session have a state of Disconnected even when they are connected to a different session.</maml:para><maml:para>The state of a session is stored in the State property of the session.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">SessionFilterState</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ThrottleLimit</maml:name><maml:description><maml:para>Specifies the maximum number of concurrent connections that can be established to run the Get-PSSession command. If you omit this parameter or enter a value of 0 (zero), the default value, 32, is used. The throttle limit applies only to the current command, not to the session or to the computer.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>InstanceId</maml:name><maml:description><maml:para>Gets only the sessions with the specified instance IDs.</maml:para><maml:para>The instance ID is a GUID that uniquely identifies a session on a local or remote computer. The InstanceID is unique, even when you have multiple sessions running in Windows PowerShell.</maml:para><maml:para>The instance ID of a session is stored in the InstanceID property of the session.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Guid[]</command:parameterValue></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Get-PSSession</maml:name><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>Id</maml:name><maml:description><maml:para>Gets only the sessions with the specified IDs. Type one or more IDs (separated by commas), or use the range operator (..) to specify a range of IDs. You cannot use the ID parameter with the ComputerName parameter.</maml:para><maml:para>An ID is an integer that uniquely identifies the user-managed sessions (PSSessions) in the current session. It is easier to remember and type than the InstanceId, but it is unique only within the current session. The ID of a session is stored in the ID property of the session.</maml:para><maml:para></maml:para></maml:description><command:parameterValue required="true" variableLength="true">Int32[]</command:parameterValue></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Get-PSSession</maml:name><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>InstanceId</maml:name><maml:description><maml:para>Gets only the sessions with the specified instance IDs.</maml:para><maml:para>The instance ID is a GUID that uniquely identifies a session on a local or remote computer. The InstanceID is unique, even when you have multiple sessions running in Windows PowerShell.</maml:para><maml:para>The instance ID of a session is stored in the InstanceID property of the session.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Guid[]</command:parameterValue></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Authentication</maml:name><maml:description><maml:para>Specifies the mechanism that is used to authenticate credentials for the session in which the Get-PSSession command runs.</maml:para><maml:para>This parameter configures the temporary connection that is created to run a Get-PSSession command with the ComputerName or ConnectionUri parameter.</maml:para><maml:para>Valid values are Default, Basic, Credssp, Digest, Kerberos, Negotiate, and NegotiateWithImplicitCredential. The default value is Default.</maml:para><maml:para>For information about the values of this parameter, see the description of the System.Management.Automation.Runspaces.AuthenticationMechanism enumeration in MSDN.</maml:para><maml:para>CAUTION: Credential Security Support Provider (CredSSP) authentication, in which the user's credentials are passed to a remote computer to be authenticated, is designed for commands that require authentication on more than one resource, such as accessing a remote network share. This mechanism increases the security risk of the remote operation. If the remote computer is compromised, the credentials that are passed to it can be used to control the network session.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">AuthenticationMechanism</command:parameterValue><dev:type><maml:name>AuthenticationMechanism</maml:name><maml:uri /></dev:type><dev:defaultValue>Default</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CertificateThumbprint</maml:name><maml:description><maml:para>Specifies the digital public key certificate (X509) of a user account that has permission to create the session in which the Get-PSSession command runs. Enter the certificate thumbprint of the certificate.</maml:para><maml:para>This parameter configures the temporary connection that is created to run a Get-PSSession command with the ComputerName or ConnectionUri parameter.</maml:para><maml:para>Certificates are used in client certificate-based authentication. They can be mapped only to local user accounts; they do not work with domain accounts.</maml:para><maml:para>To get a certificate thumbprint, use a Get-Item or Get-ChildItem command in the Windows PowerShell Cert: drive.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="Cn"><maml:name>ComputerName</maml:name><maml:description><maml:para>Gets the sessions that connect to the specified computers. Wildcards are not permitted. There is no default value.</maml:para><maml:para>Beginning in Windows PowerShell 3.0, PSSessions are stored on the computers at the remote end of each connection. To get the sessions on the specified computers, Windows PowerShell creates a temporary connection to each computer and runs a Get-PSSession command.</maml:para><maml:para>Type the NetBIOS name, an IP address, or a fully-qualified domain name of one or more computers. To specify the local computer, type the computer name, "localhost", or a dot (.).</maml:para><maml:para>Note: This parameter gets sessions only from computers running Windows PowerShell 3.0 or later versions of Windows PowerShell. Earlier versions do not store sessions.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Credential</maml:name><maml:description><maml:para>Runs the command with the permissions of the specified user. Specify a user account that has permission to connect to the remote computer and run a Get-PSSession command. The default is the current user. Type a user name, such as "User01", "Domain01\User01", or "User@Domain.com", or enter a PSCredential object, such as one returned by the Get-Credential cmdlet. When you type a user name, you will be prompted for a password.</maml:para><maml:para>This parameter configures to the temporary connection that is created to run a Get-PSSession command with the ComputerName or ConnectionUri parameter.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue><dev:type><maml:name>PSCredential</maml:name><maml:uri /></dev:type><dev:defaultValue>Current user</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>Id</maml:name><maml:description><maml:para>Gets only the sessions with the specified IDs. Type one or more IDs (separated by commas), or use the range operator (..) to specify a range of IDs. You cannot use the ID parameter with the ComputerName parameter.</maml:para><maml:para>An ID is an integer that uniquely identifies the user-managed sessions (PSSessions) in the current session. It is easier to remember and type than the InstanceId, but it is unique only within the current session. The ID of a session is stored in the ID property of the session.</maml:para><maml:para></maml:para></maml:description><command:parameterValue required="true" variableLength="true">Int32[]</command:parameterValue><dev:type><maml:name>Int32[]</maml:name><maml:uri /></dev:type><dev:defaultValue>All sessions</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>InstanceId</maml:name><maml:description><maml:para>Gets only the sessions with the specified instance IDs.</maml:para><maml:para>The instance ID is a GUID that uniquely identifies a session on a local or remote computer. The InstanceID is unique, even when you have multiple sessions running in Windows PowerShell.</maml:para><maml:para>The instance ID of a session is stored in the InstanceID property of the session.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Guid[]</command:parameterValue><dev:type><maml:name>Guid[]</maml:name><maml:uri /></dev:type><dev:defaultValue>All sessions</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Gets only the sessions with the specified friendly names. Wildcards are permitted.</maml:para><maml:para>The friendly name of a session is stored in the Name property of the session.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>All sessions</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Port</maml:name><maml:description><maml:para>Specifies the specified network port that is used for the temporary connection in which the Get-PSSession command runs. To connect to a remote computer, the remote computer must be listening on the port that the connection uses. The default ports are 5985 (the WinRM port for HTTP) and 5986 (the WinRM port for HTTPS).</maml:para><maml:para>Before using an alternate port, you must configure the WinRM listener on the remote computer to listen at that port. To configure the listener, type the following two commands at the Windows PowerShell prompt:</maml:para><maml:para>Remove-Item -Path WSMan:\Localhost\listener\listener* -Recurse</maml:para><maml:para>New-Item -Path WSMan:\Localhost\listener -Transport http -Address * -Port &lt;port-number&gt;</maml:para><maml:para>This parameter configures to the temporary connection that is created to run a Get-PSSession command with the ComputerName or ConnectionUri parameter.</maml:para><maml:para>Do not use the Port parameter unless you must. The Port set in the command applies to all computers or sessions on which the command runs. An alternate port setting might prevent the command from running on all computers. Uses the specified port to run the Get-PSSession command.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue><dev:type><maml:name>Int32</maml:name><maml:uri /></dev:type><dev:defaultValue>5985, 5986</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>State</maml:name><maml:description><maml:para>Gets only sessions in the specified state. Valid values are: All, Opened, Disconnected, Closed, and Broken. The default value is All.</maml:para><maml:para>The session state value is relative to the current sessions. Sessions that were not created in the current sessions and are not connected to the current session have a state of Disconnected even when they are connected to a different session.</maml:para><maml:para>The state of a session is stored in the State property of the session.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">SessionFilterState</command:parameterValue><dev:type><maml:name>SessionFilterState</maml:name><maml:uri /></dev:type><dev:defaultValue>All</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ThrottleLimit</maml:name><maml:description><maml:para>Specifies the maximum number of concurrent connections that can be established to run the Get-PSSession command. If you omit this parameter or enter a value of 0 (zero), the default value, 32, is used. The throttle limit applies only to the current command, not to the session or to the computer.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue><dev:type><maml:name>Int32</maml:name><maml:uri /></dev:type><dev:defaultValue>32</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>UseSSL</maml:name><maml:description><maml:para>Uses the Secure Sockets Layer (SSL) protocol to establish the connection in which the Get-PSSession command runs. By default, SSL is not used. If you use this parameter, but SSL is not available on the port used for the command, the command fails.</maml:para><maml:para>This parameter configures the temporary connection that is created to run a Get-PSSession command with the ComputerName parameter.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>AllowRedirection</maml:name><maml:description><maml:para>Allows redirection of this connection to an alternate Uniform Resource Identifier (URI). By default, Windows PowerShell does not redirect connections.</maml:para><maml:para>This parameter configures the temporary connection that is created to run a Get-PSSession command with the ConnectionUri parameter.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>ApplicationName</maml:name><maml:description><maml:para>Connects only to sessions that use the specified application.</maml:para><maml:para>Enter the application name segment of the connection URI. For example, in the following connection URI, the application name is WSMan: http://localhost:5985/WSMAN. The application name of a session is stored in the Runspace.ConnectionInfo.AppName property of the session.</maml:para><maml:para>The value of this parameter is used to select and filter sessions. It does not change the application that the session uses.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>All sessions</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>ConfigurationName</maml:name><maml:description><maml:para>Gets only to sessions that use the specified session configuration.</maml:para><maml:para>Enter a configuration name or the fully qualified resource URI for a session configuration. If you specify only the configuration name, the following schema URI is prepended: http://schemas.microsoft.com/powershell. The configuration name of a session is stored in the ConfigurationName property of the session.</maml:para><maml:para>The value of this parameter is used to select and filter sessions. It does not change the session configuration that the session uses.</maml:para><maml:para>For more information about session configurations, see about_Session_Configurations .</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>All sessions</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="URI,CU"><maml:name>ConnectionUri</maml:name><maml:description><maml:para>Specifies a Uniform Resource Identifier (URI) that defines the connection endpoint for the temporary session in which the Get-PSSession command runs. The URI must be fully qualified.</maml:para><maml:para>This parameter configures the temporary connection that is created to run a Get-PSSession command with the ConnectionUri parameter.</maml:para><maml:para>The format of this string is:</maml:para><maml:para>&lt;Transport&gt;://&lt;ComputerName&gt;:&lt;Port&gt;/&lt;ApplicationName&gt;The default value is "http://localhost:5985/WSMAN".</maml:para><maml:para>If you do not specify a ConnectionUri, you can use the UseSSL, ComputerName, Port, and ApplicationName parameters to specify the ConnectionURI values. Valid values for the Transport segment of the URI are HTTP and HTTPS. If you specify a connection URI with a Transport segment, but do not specify a port, the session is created with standards ports: 80 for HTTP and 443 for HTTPS. To use the default ports for Windows PowerShell remoting, specify port 5985 for HTTP or 5986 for HTTPS.</maml:para><maml:para>If the destination computer redirects the connection to a different URI, Windows PowerShell prevents the redirection unless you use the AllowRedirection parameter in the command.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para><maml:para>Note: This parameter gets sessions only from computers running Windows PowerShell 3.0 or later versions of Windows PowerShell. Earlier versions do not store sessions.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Uri[]</command:parameterValue><dev:type><maml:name>Uri[]</maml:name><maml:uri /></dev:type><dev:defaultValue>http://localhost:5985/WSMAN</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SessionOption</maml:name><maml:description><maml:para>Sets advanced options for the session. Enter a SessionOption object, such as one that you create by using the New-PSSessionOption cmdlet, or a hash table in which the keys are session option names and the values are session option values.</maml:para><maml:para>The default values for the options are determined by the value of the $PSSessionOption preference variable, if it is set. Otherwise, the default values are established by options set in the session configuration.</maml:para><maml:para>The session option values take precedence over default values for sessions set in the $PSSessionOption preference variable and in the session configuration. However, they do not take precedence over maximum values, quotas or limits set in the session configuration. </maml:para><maml:para>For a description of the session options, including the default values, see New-PSSessionOption. For information about the $PSSessionOption preference variable, see about_Preference_Variables (http://go.microsoft.com/fwlink/?LinkID=113248). For more information about session configurations, see about_Session_Configurations (http://go.microsoft.com/fwlink/?LinkID=145152).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSSessionOption</command:parameterValue><dev:type><maml:name>PSSessionOption</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name>None</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You cannot pipe input to this cmdlet.</maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name>System.Management.Automation.Runspaces.PSSession</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><maml:alertSet><maml:title /><maml:alert><maml:para>Get-PSSession gets user-managed sessions "PSSessions," such as those that are created by using the New-PSSession, Enter-PSSession, and Invoke-Command cmdlets. It does not get the system-managed session that is created when you start Windows PowerShell.</maml:para></maml:alert><maml:alert><maml:para>Beginning in Windows PowerShell 3.0, PSSessions are stored on the computer that is at the "server-side" or receiving end of a connection. To get the sessions that are stored on the local computer or a remote computer, Windows PowerShell establishes a temporary session to the specified computer and runs query commands in the session.</maml:para></maml:alert><maml:alert><maml:para>To get sessions that connect to a remote computer, use the ComputerName or ConnectionUri parameters to specify the remote computer. To filter the sessions that Get-PSSession gets, use the Name, ID, InstanceID, and State parameters. Use the remaining parameters to configure the temporary session that Get-PSSession uses.</maml:para></maml:alert><maml:alert><maml:para>When you use the ComputerName or ConnectionUri parameters, Get-PSSession gets only sessions from computers running Windows PowerShell 3.0 and later versions of Windows PowerShell.</maml:para></maml:alert><maml:alert><maml:para>The value of the State property of a PSSession is relative to the current session. Therefore, a value of Disconnected means that the PSSession is not connected to the current session. However, it does not mean that the PSSession is disconnected from all sessions. It might be connected to a different session. To determine whether you can connect or reconnect to the PSSession from the current session, use the Availability property.</maml:para><maml:para>An Availability value of None indicates that you can connect to the session. A value of Busy indicates that you cannot connect to the PSSession because it is connected to another session.</maml:para><maml:para>For more information about the values of the State property of sessions, see "RunspaceState Enumeration" in MSDN at <maml:navigationLink><maml:linkText>http://msdn.microsoft.com/en-us/library/windows/desktop/system.management.automation.runspaces.runspacestate(v=VS.85).aspx</maml:linkText><maml:uri></maml:uri></maml:navigationLink>.</maml:para><maml:para>For more information about the values of the Availability property of sessions, see RunspaceAvailability Enumeration at <maml:navigationLink><maml:linkText>http://msdn.microsoft.com/en-us/library/windows/desktop/system.management.automation.runspaces.runspaceavailability(v=vs.85).aspx</maml:linkText><maml:uri></maml:uri></maml:navigationLink>.</maml:para></maml:alert></maml:alertSet><command:examples><command:example><maml:title>
  
-------------------------- EXAMPLE 1 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-PSSession
</dev:code><dev:remarks><maml:para>This command gets all of the PSSessions that were created in the current session. It does not get PSSessions that were created in other sessions or on other computers, even if they connect to this computer.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 2 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-PSSession -ComputerName localhost
</dev:code><dev:remarks><maml:para>This command gets the PSSessions that are connected to the local computer. To indicate the local computer, type the computer name, "localhost" or a dot (.)</maml:para><maml:para>The command returns all of the sessions on the local computer, even if they were created in different sessions or on different computers.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 3 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-PSSession -ComputerName Server02
 Id Name ComputerName State ConfigurationName Availability
 -- ---- ------------ ----- ----------------- ------------
  2 Session3 Server02 Disconnected ITTasks Busy
  1 ScheduledJobs Server02 Opened Microsoft.PowerShell Available
  3 Test Server02 Disconnected Microsoft.PowerShell Busy
</dev:code><dev:remarks><maml:para>This command gets the PSSessions that are connected to the Server02 computer.</maml:para><maml:para>The command returns all of the sessions on Server02, even if they were created in different sessions or on different computers.</maml:para><maml:para>The output shows that two of the sessions have a Disconnected state and a Busy availability. They were created in different sessions and are currently in use. The "ScheduledJobs" session, which is Opened and Available, was created in the current session.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 4 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;New-PSSession -ComputerName Server01, Server02, Server03
PS C:\&gt;$s1, $s2, $s3 = Get-PSSession
</dev:code><dev:remarks><maml:para>This example shows how to save the results of a Get-PSSession command in multiple variables.</maml:para><maml:para>The first command uses the New-PSSession cmdlet to create PSSessions on three remote computers.</maml:para><maml:para>The second command uses a Get-PSSession cmdlet to get the three PSSessions. It then saves each of the PSSessions in a separate variable.</maml:para><maml:para>When Windows PowerShell assigns an array of objects to an array of variables, it assigns the first object to the first variable, the second object to the second variable, and so on. If there are more objects than variables, it assigns all remaining objects to the last variable in the array. If there are more variables than objects, the extra variables are not used.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 5 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-PSSession | Format-Table -Property ComputerName, InstanceID
PS C:\&gt;$s = Get-PSSession -InstanceID a786be29-a6bb-40da-80fb-782c67f7db0f
PS C:\&gt;Remove-PSSession -Session $s
</dev:code><dev:remarks><maml:para>This example shows how to get a PSSession by using its instance ID, and then to delete the PSSession.</maml:para><maml:para>The first command gets all of the PSSessions that were created in the current session. It sends the PSSessions to the Format-Table cmdlet, which displays the ComputerName and InstanceID properties of each PSSession.</maml:para><maml:para>The second command uses the Get-PSSession cmdlet to get a particular PSSession and to save it in the $s variable. The command uses the InstanceID parameter to identify the PSSession.</maml:para><maml:para>The third command uses the Remove-PSSession cmdlet to delete the PSSession in the $s variable.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 6 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>The first command gets sessions on the Server02 and Server12 remote computers that have names that begin with "BackupJob" and use the ITTasks session configuration.The command uses the Name parameter to specify the name pattern and the ConfigurationName parameter to specify the session configuration. The value of the SessionOption parameter is a hash table that sets the value of the OperationTimeout to 240000 milliseconds (4 minutes). This setting gives the command more time to complete.The ConfigurationName and SessionOption parameters are used to configure the temporary sessions in which the Get-PSSession cmdlet runs on each computer.The output shows that the command returns the BackupJob04 session. The session is disconnected and the Availability is None, which indicates that it is not in use.
PS C:\&gt;Get-PSSession -ComputerName Server02, Server12 -Name BackupJob* -ConfigurationName ITTasks -SessionOption @{OperationTimeout=240000}
 Id Name ComputerName State ConfigurationName Availability
 -- ---- ------------ ----- ----------------- ------------
  3 BackupJob04 Server02 Disconnected ITTasks None
 
The second command uses the Get-PSSession cmdlet to get to the BackupJob04 session and the Connect-PSSession cmdlet to connect to the session. The command saves the session in the $s variable.
PS C:\&gt;$s = Get-PSSession -ComputerName Server02 -Name BackupJob04 -ConfigurationName ITTasks | Connect-PSSession
 
The third command gets the session in the $s variable. The output shows that the Connect-PSSession command was successful. The session is in the Opened state and is available for use.
PS C:\&gt;$s
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
 5 BackupJob04 Server02 Opened ITTasks Available
</dev:code><dev:remarks><maml:para>The commands in this example find a session that has a particular name format and uses a particular session configuration and then connect to the session. You can use a command like this one to find a session in which a colleague started a task and connect to finish the task.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 7 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-PSSession -ID 2
</dev:code><dev:remarks><maml:para>This command gets the PSSession with ID 2. Because the value of the ID property is unique only in the current session, the ID parameter is valid only for local commands.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=289588</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Connect-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Disconnect-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Receive-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Enter-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Exit-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Invoke-Command</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>New-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Remove-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_PSSessions</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Remote</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>Get-PSSessionConfiguration</command:name><maml:description><maml:para>Gets the registered session configurations on the computer. </maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>Get</command:verb><command:noun>PSSessionConfiguration</command:noun><dev:version /></command:details><maml:description><maml:para>The Get-PSSessionConfiguration cmdlet gets the session configurations that have been registered on the local computer. This is an advanced cmdlet that is designed to be used by system administrators to manage customized session configurations for their users.</maml:para><maml:para>Beginning in Windows PowerShell 3.0, you can define the properties of a session configuration by using a session configuration (.pssc) file. This feature lets you create customized and restricted sessions without writing a computer program. For more information about session configuration files, see about_Session_Configuration_Files (http://go.microsoft.com/fwlink/?LinkID=236023).</maml:para><maml:para>Also, beginning in Windows PowerShell 3.0, new note properties have been added to the session configuration object that Get-PSSessionConfiguration returns. These properties make it easier for users and session configuration authors to examine and compare session configurations.</maml:para><maml:para>To create and register a session configuration, use the Register-PSSessionConfiguration cmdlet. For more information about session configurations, see about_Session_Configurations (http://go.microsoft.com/fwlink/?LinkID=145152).</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>Get-PSSessionConfiguration</maml:name><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Gets only the session configurations with the specified name or name pattern. Enter one or more session configuration names. Wildcards are permitted.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Force</maml:name><maml:description><maml:para>Suppresses the prompt to restart the WinRM service, if the service is not already running.</maml:para></maml:description></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Gets only the session configurations with the specified name or name pattern. Enter one or more session configuration names. Wildcards are permitted.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>All session configurations on the local computer</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Force</maml:name><maml:description><maml:para>Suppresses the prompt to restart the WinRM service, if the service is not already running.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name>None</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You cannot pipe input to this cmdlet.</maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name> Microsoft.PowerShell.Commands.PSSessionConfigurationCommands#PSSessionConfiguration</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para></maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><maml:alertSet><maml:title /><maml:alert><maml:para>To run this cmdlet, start Windows PowerShell with the "Run as administrator" option.</maml:para></maml:alert><maml:alert><maml:para>To view the session configurations on the computer, you must be a member of the Administrators group on the computer.</maml:para></maml:alert><maml:alert><maml:para>To run a Get-PSSessionConfiguration command on a remote computer, Credential Security Service Provider (CredSSP) authentication must be enabled in the client settings on the local computer (by using the Enable-WSManCredSSP cmdlet) and in the service settings on the remote computer, and you must use the CredSSP value of the Authentication parameter when establishing the remote session. Otherwise, access is denied.</maml:para></maml:alert><maml:alert><maml:para>The note properties of the object that Get-PSSessionConfiguration returns appear on the object only when they have a value. Only session configurations that were created by using a session configuration file have all of the defined properties.</maml:para></maml:alert><maml:alert><maml:para>The properties of a session configuration object vary with the options set for the session configuration and the values of those options. Also, session configurations that use a session configuration file have additional properties.</maml:para></maml:alert><maml:alert><maml:para>You can use commands in the WSMan: drive to change the properties of session configurations. However, you cannot use the WSMan: drive in Windows PowerShell 2.0 to change session configuration properties that are introduced in Windows PowerShell 3.0, such as OutputBufferingMode. Windows PowerShell 2.0 commands do not generate an error, but they are ineffective. To change properties introduced in Windows PowerShell 3.0, use the WSMan: drive in Windows PowerShell 3.0.</maml:para></maml:alert></maml:alertSet><command:examples><command:example><maml:title>
  
-------------------------- EXAMPLE 1 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-PSSessionConfiguration
</dev:code><dev:remarks><maml:para>This command gets the session configurations on the local computer.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 2 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-PSSessionConfiguration -Name Microsoft*
 
Name PSVersion StartupScript Permission
---- --------- ------------- ----------
microsoft.powershell 2.0 BUILTIN\Administrators AccessAll...
microsoft.powershell32 2.0 BUILTIN\Administrators AccessAll...
</dev:code><dev:remarks><maml:para>This command gets the two default session configurations that come with Windows PowerShell. The command uses the Name parameter of Get-PSSessionConfiguration to get only the session configurations with names that begin with "Microsoft".</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 3 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-PSSessionConfiguration -Name Full | Format-List -Property *
  
                       
Copyright : (c) 2011 User01. All rights reserved.
AliasDefinitions : {System.Collections.Hashtable}
SessionType : Default
CompanyName : Unknown
GUID : 1e9cb265-dae0-4bd3-89a9-8338a47698a1
Author : User01
ExecutionPolicy : Restricted
SchemaVersion : 1.0.0.0
LanguageMode : FullLanguage
Architecture : 64
Filename : %windir%\system32\pwrshplugin.dll
ResourceUri : http://schemas.microsoft.com/powershell/Full
MaxConcurrentCommandsPerShell : 1500
UseSharedProcess : false
ProcessIdleTimeoutSec : 0
xmlns : http://schemas.microsoft.com/wbem/wsman/1/config/PluginConfiguration
MaxConcurrentUsers : 10
lang : en-US
SupportsOptions : true
ExactMatch : true
configfilepath : C:\WINDOWS\System32\WindowsPowerShell\v1.0\SessionConfig\Full_1e9cb265-dae0-4bd3-89a9-8338a47698a1.pssc
RunAsUser :
IdleTimeoutms : 7200000
PSVersion : 3.0
OutputBufferingMode : Block
AutoRestart : false
MaxShells : 300
MaxMemoryPerShellMB : 1024
MaxIdleTimeoutms : 43200000
SDKVersion : 1
Name : Full
XmlRenderingType : text
Capability : {Shell}
RunAsPassword :
MaxProcessesPerShell : 25
Enabled : True
MaxShellsPerUser : 30
Permission :
</dev:code><dev:remarks><maml:para>This example shows the properties and property values of a session configuration that was created by using a session configuration file. </maml:para><maml:para>The command uses the Get-PSSessionConfiguration command to get the Full session configuration. A pipeline operator sends the Full session configuration to the Format-List cmdlet. The Property parameter with a value of * (all) directs Format-List to display all of the properties and property values of the object in a list.</maml:para><maml:para>The output of this command has very useful information, including the author of the session configuration, the session type, language mode, and execution policy of sessions that are created with this session configuration, session quotas, and the full path to the session configuration file.</maml:para><maml:para>This view of a session configuration is used for sessions that include a session configuration file. For more information about session configuration files, see about_Session_Configuration_Files (http://go.microsoft.com/fwlink/?LinkID=236023).</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 4 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;(Get-PSSessionConfiguration Microsoft.PowerShell.Workflow).PSObject.Properties | Select-Object Name,Value | Sort-Object Name
 
Name Value
 
---- -----
 
ActivityProcessIdleTimeoutSec 60
 
AllowedActivity {PSDefaultActivities}
 
Architecture 64
 
AssemblyName ...licKeyToken=31bf3856ad364e35, processorArchitecture=MSIL
 
AutoRestart false
 
Capability {Shell}
 
Enabled true
 
EnableValidation true
 
ExactMatch False
 
Filename %windir%\system32\pwrshplugin.dll
 
IdleTimeoutms 7200000
 
lang en-US
 
MaxActivityProcesses 5
 
MaxConcurrentCommandsPerShell 1000
 
MaxConcurrentUsers 5
 
MaxConnectedSessions 100
 
MaxDisconnectedSessions 1000
 
MaxIdleTimeoutms 2147483647
 
MaxMemoryPerShellMB 1024
 
MaxPersistenceStoreSizeGB 10
 
MaxProcessesPerShell 15
 
MaxRunningWorkflows 30
 
MaxSessionsPerRemoteNode 5
 
MaxSessionsPerWorkflow 5
 
MaxShells 25
 
MaxShellsPerUser 25
 
ModulesToImport %windir%\system32\windowspowershell\v1.0\Modules\PSWorkflow
 
Name microsoft.powershell.workflow
 
OutOfProcessActivity {InlineScript}
 
OutputBufferingMode Block
 
ParentResourceUri ...s.microsoft.com/powershell/microsoft.powershell.workflow
 
Permission ...ssAllowed, BUILTIN\Remote Management Users AccessAllowed
 
PersistencePath ...s\juneb\AppData\Local\Microsoft\Windows\PowerShell\WF\PS
 
PersistWithEncryption False
 
ProcessIdleTimeoutSec 28800
 
PSSessionConfigurationTypeName ...osoft.PowerShell.Workflow.PSWorkflowSessionConfiguration
 
PSVersion 3.0
 
RemoteNodeSessionIdleTimeoutSec 60
 
ResourceUri ...s.microsoft.com/powershell/microsoft.powershell.workflow
 
RunAsPassword
 
RunAsUser
 
SDKVersion 2
 
SecurityDescriptorSddl ...;GA;;;BA)(A;;GA;;;RM)S:P(AU;FA;GA;;;WD)(AU;SA;GXGW;;;WD)
 
SessionConfigurationData ... &lt;/SessionConfigurationData&gt;
 
SessionThrottleLimit 100
 
SupportsOptions true
 
Uri ...s.microsoft.com/powershell/microsoft.powershell.workflow
 
UseSharedProcess true
 
WorkflowShutdownTimeoutMSec 500
 
xmlns ...as.microsoft.com/wbem/wsman/1/config/PluginConfiguration
 
XmlRenderingType text
</dev:code><dev:remarks><maml:para>This command gets the properties of the Microsoft.PowerShell.Worfklow session configuration and sorts them into alphabetical order for easy reading. You can use this command format in a function to get this display for any session configuration.</maml:para><maml:para>This example was contributed by Shay Levy, a Windows PowerShell MVP from Sderot, Israel.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 5 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;dir wsman:\localhost\plugin
Type Keys Name
---- ---- ----
Container {Name=Event Forwarding Plugin} Event Forwarding Plugin
Container {Name=Full} Full
Container {Name=microsoft.powershell} microsoft.powershell
Container {Name=microsoft.powershell.workf... microsoft.powershell.workflow
Container {Name=microsoft.powershell32} microsoft.powershell32
Container {Name=microsoft.ServerManager} microsoft.ServerManager
Container {Name=WMI Provider} WMI Provider
</dev:code><dev:remarks><maml:para>This command uses the Get-ChildItem cmdlet (alias = dir) in the WSMan: provider drive to look at the content of the Plugin node. This is another way to look at the session configurations on the computer.</maml:para><maml:para>The PlugIn node contains ContainerElement objects (Microsoft.WSMan.Management.WSManConfigContainerElement) that represent the registered Windows PowerShell session configurations, along with other plug-ins for WS-Management.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 6 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>The first command uses the Connect-WSMan cmdlet to connect to the WinRM service on the Server01 remote computer.
PS C:\&gt;Connect-WSMan -ComputerName Server01
 
The second command uses the Get-ChildItem cmdlet ("dir") in the WSMan: drive to get the items in the Server01\Plugin path.The output shows the items in the Plugin directory on the Server01 computer. The items include the session configurations, which are a type of WSMan plug-in, along with other types of plug-ins on the computer.
PS C:\&gt;dir WSMan:\Server01\Plugin
   WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Plugin
 
Type Keys Name
---- ---- ----
Container {Name=Empty} Empty
Container {Name=Event Forwarding Plugin} Event Forwarding Plugin
Container {Name=Full} Full
Container {Name=microsoft.powershell} microsoft.powershell
Container {Name=microsoft.powershell.workf... microsoft.powershell.workflow
Container {Name=microsoft.powershell32} microsoft.powershell32
Container {Name=microsoft.ServerManager} microsoft.ServerManager
Container {Name=NoLanguage} NoLanguage
Container {Name=RestrictedLang} RestrictedLang
Container {Name=RRS} RRS
Container {Name=SEL Plugin} SEL Plugin
Container {Name=WithProfile} WithProfile
Container {Name=WMI Provider} WMI Provider
 
The third command returns the names of the plugins that are session configurations. The command searches for a value of Shell in the Capability property, which is in the Plugin\Resources\&lt;ResourceNumber&gt; path in the WSMan: drive.
PS C:\&gt;dir WSMan:\Server01\Plugin\*\Resources\Resource*\Capability | where {$_.Value -eq "Shell"} | foreach {($_.PSPath.split("\"))[3] }
Empty
Full
microsoft.powershell
microsoft.powershell.workflow
microsoft.powershell32
microsoft.ServerManager
NoLanguage
RestrictedLang
RRS
WithProfile
</dev:code><dev:remarks><maml:para>This example shows how to use the WSMan provider to view the session configurations on a remote computer. This method does not provide as much information as a Get-PSSessionConfiguration command, but the user does not need to be a member of the Administrators group to run this command.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 7 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>The first command uses the Enable-WSManCredSSP cmdlet to enable CredSSP delegation from the Server01 local computer to the Server02 remote computer. This configures the CredSSP client setting on the local computer.
PS C:\&gt;Enable-WSManCredSSP -Delegate Server02
 
The second command uses the Connect-WSMan cmdlet to connect to the Server02 computer. This action adds a node for the Server02 computer to the WSMan: drive on the local computer, allowing you to view and change the WS-Management settings on the Server02 computer.
PS C:\&gt;Connect-WSMan Server02
 
The third command uses the Set-Item cmdlet to change the value of the CredSSP item in the Service node of the Server02 computer to True. This configures the service settings on the remote computer.
PS C:\&gt;Set-Item WSMan:\Server02*\Service\Auth\CredSSP -Value $true
 
The fourth command uses the Invoke-Command cmdlet to run a Get-PSSessionConfiguration command on the Server02 computer. The command uses the Credential parameter, and it uses the Authentication parameter with a value of CredSSP.The output shows the session configurations on the Server02 remote computer.
PS C:\&gt;Invoke-Command -ScriptBlock {Get-PSSessionConfiguration} -ComputerName Server02 -Authentication CredSSP -Credential Domain01\Admin01
 
Name PSVersion StartupScript Permission PSComputerName
---- --------- ------------- ---------- --------------
microsoft.powershell 2.0 BUILTIN\Administrators AccessAll... server02.corp.fabrikam.com
microsoft.powershell32 2.0 BUILTIN\Administrators AccessAll... server02.corp.fabrikam.com
MyX86Shell 2.0 c:\test\x86Shell.ps1 BUILTIN\Administrators AccessAll... server02.corp.fabrikam.com
</dev:code><dev:remarks><maml:para>This example shows how to run a Get-PSSessionConfiguration command on a remote computer. The command requires that CredSSP delegation be enabled in the client settings on the local computer and in the service settings on the remote computer. </maml:para><maml:para>To run the commands in this example, you must be a member of the Administrators group on the local computer and the remote computer and you must start Windows PowerShell with the "Run as administrator" option.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 8 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;(Get-PSSessionConfiguration -Name CustomShell).resourceURI
http://schemas.microsoft.com/powershell/microsoft.CustomShell
</dev:code><dev:remarks><maml:para>This command uses the Get-PSSessionConfiguration cmdlet to get the resource URI of a session configuration.</maml:para><maml:para>This command is useful when setting the value of the $PSSessionConfigurationName preference variable, which takes a resource URI.</maml:para><maml:para>The $PSSessionConfiguationName variable specifies the default configuration that is used when you create a session. This variable is set on the local computer, but it specifies a configuration on the remote computer. For more information about the $PSSessionConfiguration variable, see about_Preference_Variables (http://go.microsoft.com/fwlink/?LinkID=113248).</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=289589</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Disable-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Enable-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Get-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>New-PSSessionConfigurationFile</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>New-PSSessionConfigurationOption</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Register-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Set-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Test-PSSessionConfigurationFile</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Unregister-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>WSMan Provider</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Session_Configurations</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Session_Configuration_Files</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>Get-PSSnapin</command:name><maml:description><maml:para>Gets the Windows PowerShell snap-ins on the computer.</maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>Get</command:verb><command:noun>PSSnapin</command:noun><dev:version /></command:details><maml:description><maml:para>The Get-PSSnapin cmdlet gets the Windows PowerShell snap-ins that have been added to the current session or that have been registered on the system. The snap-ins are listed in the order in which they are detected.</maml:para><maml:para>Get-PSSnapin gets only registered snap-ins. To register a Windows PowerShell snap-in, use the InstallUtil tool included with the Microsoft .NET Framework 2.0. For more information, see "How to Register Cmdlets, Providers, and Host Applications" in the MSDN (Microsoft Developer Network) library at http://go.microsoft.com/fwlink/?LinkId=143619.</maml:para><maml:para>Beginning in Windows PowerShell 3.0, the core commands that are included in Windows PowerShell are packaged in modules. The exception is Microsoft.PowerShell.Core, which is a snap-in (PSSnapin). Only the Microsoft.PowerShell.Core snap-in is added to the session by default. Modules are imported automatically on first use and you can use the Import-Module cmdlet to import them.</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>Get-PSSnapin</maml:name><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Gets only the specified Windows PowerShell snap-ins. Enter the names of one or more Windows PowerShell snap-ins. Wildcards are permitted.</maml:para><maml:para>The parameter name ("Name") is optional.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Registered</maml:name><maml:description><maml:para>Gets the Windows PowerShell snap-ins that have been registered on the system (even if they have not yet been added to the session).</maml:para><maml:para>The snap-ins that are installed with Windows PowerShell do not appear in this list.</maml:para><maml:para>Without this parameter, Get-PSSnapin gets the Windows PowerShell snap-ins that have been added to the session.</maml:para></maml:description></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Gets only the specified Windows PowerShell snap-ins. Enter the names of one or more Windows PowerShell snap-ins. Wildcards are permitted.</maml:para><maml:para>The parameter name ("Name") is optional.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Registered</maml:name><maml:description><maml:para>Gets the Windows PowerShell snap-ins that have been registered on the system (even if they have not yet been added to the session).</maml:para><maml:para>The snap-ins that are installed with Windows PowerShell do not appear in this list.</maml:para><maml:para>Without this parameter, Get-PSSnapin gets the Windows PowerShell snap-ins that have been added to the session.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name>None</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You cannot pipe input to Get-PSSnapin.</maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name>System.Management.Automation.PSSnapInInfo</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>Get-PSSnapin returns an object for each snap-in that it gets.</maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><maml:alertSet><maml:title /><maml:alert><maml:para>Beginning in Windows PowerShell 3.0, the core commands that are installed with Windows PowerShell are packaged in modules. In Windows PowerShell 2.0, and in host programs that create older-style sessions in later versions of Windows PowerShell, the core commands are packaged in snap-ins ("PSSnapins"). The exception is Microsoft.PowerShell.Core, which is always a snap-in. Also, remote sessions, such as those started by the New-PSSession cmdlet, are older-style sessions that include core snap-ins.</maml:para><maml:para>For information about the CreateDefault2 method that creates newer-style sessions with core modules, see "CreateDefault2 Method" in MSDN at <maml:navigationLink><maml:linkText>http://msdn.microsoft.com/en-us/library/windows/desktop/system.management.automation.runspaces.initialsessionstate.createdefault2(v=VS.85).aspx</maml:linkText><maml:uri></maml:uri></maml:navigationLink>.</maml:para></maml:alert></maml:alertSet><command:examples><command:example><maml:title>
  
-------------------------- EXAMPLE 1 --------------------------
  
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;get-PSSnapIn
</dev:code><dev:remarks><maml:para>This command gets the Windows PowerShell snap-ins that are currently loaded in the session. This includes the snap-ins that are installed with Windows PowerShell and those that have been added to the session.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 2 --------------------------
  
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;get-PSSnapIn -registered
</dev:code><dev:remarks><maml:para>This command gets the Windows PowerShell snap-ins that have been registered on the computer, including those that have already been added to the session. The output does not include snap-ins that are installed with Windows PowerShell or Windows PowerShell snap-in dynamic-link libraries (DLLs) that have not yet been registered on the system.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 3 --------------------------
  
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;get-PSSnapIn smp*
</dev:code><dev:remarks><maml:para>This command gets the Windows PowerShell snap-ins in the current session that have names that begin with "smp".</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=289590</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Add-PSSnapin</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Remove-PSSnapin</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>Import-Module</command:name><maml:description><maml:para>Adds modules to the current session.</maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>Import</command:verb><command:noun>Module</command:noun><dev:version /></command:details><maml:description><maml:para>The Import-Module cmdlet adds one or more modules to the current session. The modules that you import must be installed on the local computer or a remote computer.</maml:para><maml:para>Beginning in Windows PowerShell 3.0, installed modules are automatically imported to the session when you use any commands or providers in the module. However, you can still use the Import-Module command to import a module and you can enable and disable automatic module importing by using the $PSModuleAutoloadingPreference preference variable. For more information about modules, see about_Modules (http://go.microsoft.com/fwlink/?LinkID=144311). For more information about the $PSModuleAutoloadingPreference variable, see about_Preference_Variables (http://go.microsoft.com/fwlink/?LinkID=113248).</maml:para><maml:para>A module is a package that contains members (such as cmdlets, providers, scripts, functions, variables, and other tools and files) that can be used in Windows PowerShell. After a module is imported, you can use the module members in your session.</maml:para><maml:para>To import a module, use the Name, Assembly, ModuleInfo, MinimumVersion and RequiredVersion parameters to identify the module to import. By default, Import-Module imports all members that the module exports, but you can use the Alias, Function, Cmdlet, and Variable parameters to restrict the members that are imported. You can also use the NoClobber parameter to prevent Import-Module from importing members that have the same names as members in the current session.</maml:para><maml:para>Import-Module imports a module only into the current session. To import the module into all sessions, add an Import-Module command to your Windows PowerShell profile. For more information about profiles, see about_Profiles (http://go.microsoft.com/fwlink/?LinkID=113729).</maml:para><maml:para>Also, beginning in Windows PowerShell 3.0, you can use Import-Module to import Common Information Model (CIM) modules, in which the cmdlets are defined in Cmdlet Definition XML (CDXML) files. This feature allows you to use cmdlets that are implemented in non-managed code assemblies, such as those written in C++.</maml:para><maml:para>With these new features, Import-Module cmdlet becomes a primary tool for managing heterogeneous enterprises that include Windows computers and computers that are running other operating systems. </maml:para><maml:para>To manage remote Windows computers that have Windows PowerShell and Windows PowerShell remoting enabled, create a PSSession on the remote computer and then use the PSSession parameter of Get-Module to get the Windows PowerShell modules in the PSSession. When you import the modules, and then use the imported commands in the current session, the commands run implicitly in the PSSession on the remote computer. You can use this strategy to manage the remote computer.</maml:para><maml:para>You can use a similar strategy to manage computers that do not have Windows PowerShell remoting enabled, including computers that are not running a Windows operating system, and Windows computers that have Windows PowerShell, but do not have Windows PowerShell remoting enabled.</maml:para><maml:para>Begin by creating a "CIM session" on the remote computer; a connection to Windows Management Instrumentation (WMI) on the remote computer. Then use the CIMSession parameter of Import-Module to import CIM modules from the remote computer. When you import a CIM module and then run the imported commands, the commands run implicitly on the remote computer. You can use this WMI and CIM strategy to manage the remote computer.</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>Import-Module</maml:name><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="none"><maml:name>FullyQualifiedName</maml:name><maml:description><maml:para>Imports modules with names that are specified in the form of ModuleSpecification objects (described by the Remarks section of <maml:navigationLink><maml:linkText>Module Specification Constructor (Hashtable)</maml:linkText><maml:uri></maml:uri></maml:navigationLink> on MSDN). For example, the FullyQualifiedName parameter accepts a module name that is specified in the format @{ModuleName = "modulename"; ModuleVersion = "version_number"} or @{ModuleName = "modulename"; ModuleVersion = "version_number"; Guid = "GUID"}. ModuleName and ModuleVersion are required, but Guid is optional.</maml:para><maml:para>You cannot specify the FullyQualifiedName parameter in the same command as a Name parameter; the two parameters are mutually exclusive.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">String[]</command:parameterValue></command:parameter><command:parameter required="true" variableLength="true" globbing="true" pipelineInput="true (ByValue)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Specifies the names of the modules to import. Enter the name of the module or the name of a file in the module, such as a .psd1, .psm1, .dll, or ps1 file. File paths are optional. Wildcards are not permitted. You can also pipe module names and file names to Import-Module.</maml:para><maml:para>If you omit a path, Import-Module looks for the module in the paths saved in the PSModulePath environment variable ($env:PSModulePath).</maml:para><maml:para>Specify only the module name whenever possible. When you specify a file name, only the members that are implemented in that file are imported. If the module contains other files, they are not imported, and you might be missing important members of the module.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>Alias</maml:name><maml:description><maml:para>Imports only the specified aliases from the module into the current session. Enter a comma-separated list of aliases. Wildcard characters are permitted.</maml:para><maml:para>Some modules automatically export selected aliases into your session when you import the module. This parameter lets you select from among the exported aliases.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="Args"><maml:name>ArgumentList</maml:name><maml:description><maml:para>Specifies arguments (parameter values) that are passed to a script module during the Import-Module command. This parameter is valid only when you are importing a script module.</maml:para><maml:para>You can also refer to ArgumentList by its alias, "args". For more information, see about_Aliases.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Object[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>AsCustomObject</maml:name><maml:description><maml:para>Returns a custom object with members that represent the imported module members. This parameter is valid only for script modules.</maml:para><maml:para>When you use the AsCustomObject parameter, Import-Module imports the module members into the session and then returns a PSCustomObject object instead of a PSModuleInfo object. You can save the custom object in a variable and use dot notation to invoke the members.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>Cmdlet</maml:name><maml:description><maml:para>Imports only the specified cmdlets from the module into the current session. Enter a list of cmdlets. Wildcard characters are permitted.</maml:para><maml:para>Some modules automatically export selected cmdlets into your session when you import the module. This parameter lets you select from among the exported cmdlets.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>DisableNameChecking</maml:name><maml:description><maml:para>Suppresses the message that warns you when you import a cmdlet or function whose name includes an unapproved verb or a prohibited character.</maml:para><maml:para>By default, when a module that you import exports cmdlets or functions that have unapproved verbs in their names, the Windows PowerShell displays the following warning message:</maml:para><maml:para>"WARNING: Some imported command names include unapproved verbs which might make them less discoverable. Use the Verbose parameter for more detail or type Get-Verb to see the list of approved verbs."</maml:para><maml:para>This message is only a warning. The complete module is still imported, including the non-conforming commands. Although the message is displayed to module users, the naming problem should be fixed by the module author.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Force</maml:name><maml:description><maml:para>Re-imports a module and its members, even if the module or its members have an access mode of read-only.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>Function</maml:name><maml:description><maml:para>Imports only the specified functions from the module into the current session. Enter a list of functions. Wildcard characters are permitted.</maml:para><maml:para>Some modules automatically export selected functions into your session when you import the module. This parameter lets you select from among the exported functions.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Global</maml:name><maml:description><maml:para>Imports modules into the global session state so they are available to all commands in the session. By default, the commands in a module, including commands from nested modules, are imported into the caller's session state. To restrict the commands that a module exports, use an Export-ModuleMember command in the script module.</maml:para><maml:para>The Global parameter is equivalent to the Scope parameter with a value of Global.</maml:para><maml:para></maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="Version"><maml:name>MinimumVersion</maml:name><maml:description><maml:para>Imports only a version of the module that is greater than or equal to the specified value. If no version qualifies, Import-Module generates an error.</maml:para><maml:para>By default, Import-Module imports the module without checking the version number.</maml:para><maml:para>Use the MinimumVersion parameter name or its alias, Version.</maml:para><maml:para>To specify an exact version, use the RequiredVersion parameter. You can also use the Module and Version parameters of the #Requires keyword to require a specific version of a module in a script.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Version</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="" pipelineInput="false" position="named" aliases="NoOverwrite"><maml:name>NoClobber</maml:name><maml:description><maml:para>Does not import commands that have the same names as existing commands in the current session. By default, Import-Module imports all exported module commands.</maml:para><maml:para>Commands with the same names can hide or replace commands in the session. To avoid command name conflicts in a session, use the Prefix or NoClobber parameters. For more information about name conflicts and command precedence, see "Modules and Name Conflicts" in about_Modules and about_Command_Precedence.</maml:para><maml:para></maml:para><maml:para>This parameter was added in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>PassThru</maml:name><maml:description><maml:para>Returns objects that represent the modules that were imported. By default, this cmdlet does not generate any output.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Prefix</maml:name><maml:description><maml:para>Adds the specified prefix to the nouns in the names of imported module members.</maml:para><maml:para>Use this parameter to avoid name conflicts that might occur when different members in the session have the same name. This parameter does not change the module, and it does not affect files that the module imports for its own use (known as "nested modules"). It affects only the names of members in the current session.</maml:para><maml:para>For example, if you specify the prefix "UTC" and then import a Get-Date cmdlet, the cmdlet is known in the session as Get-UTCDate, and it is not confused with the original Get-Date cmdlet.</maml:para><maml:para>The value of this parameter takes precedence over the DefaultCommandPrefix property of the module, which specifies the default prefix.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>RequiredVersion</maml:name><maml:description><maml:para>Imports only the specified version of the module. If the version is not installed, Import-Module generates an error.</maml:para><maml:para>By default, Import-Module imports the module without checking the version number.</maml:para><maml:para>To specify a minimum version, use the MinimumVersion parameter. You can also use the Module and Version parameters of the #Requires keyword to require a specific version of a module in a script.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para><maml:para>Scripts that use the RequiredVersion parameter to import modules that are included with existing releases of the Windows operating system do not automatically run in future releases of the Windows operating system. This is because Windows PowerShell module version numbers in future releases of the Windows operating system are higher than module version numbers in existing releases of the Windows operating system.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Version</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Scope</maml:name><maml:description><maml:para>Imports the module only into the specified scope.</maml:para><maml:para> Valid values are:</maml:para><maml:para>-- Global: Available to all commands in the session. Equivalent to the Global parameter.
                         </maml:para><maml:para>-- Local: Available only in the current scope.</maml:para><maml:para>By default, the module is imported into the current scope, which could be a script or module.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>Variable</maml:name><maml:description><maml:para>Imports only the specified variables from the module into the current session. Enter a list of variables. Wildcard characters are permitted.</maml:para><maml:para>Some modules automatically export selected variables into your session when you import the module. This parameter lets you select from among the exported variables.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Import-Module</maml:name><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases=""><maml:name>Assembly</maml:name><maml:description><maml:para>Imports the cmdlets and providers implemented in the specified assembly objects. Enter a variable that contains assembly objects or a command that creates assembly objects. You can also pipe an assembly object to Import-Module.</maml:para><maml:para>When you use this parameter, only the cmdlets and providers implemented by the specified assemblies are imported. If the module contains other files, they are not imported, and you might be missing important members of the module. Use this parameter for debugging and testing the module, or when you are instructed to use it by the module author.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Assembly[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>Alias</maml:name><maml:description><maml:para>Imports only the specified aliases from the module into the current session. Enter a comma-separated list of aliases. Wildcard characters are permitted.</maml:para><maml:para>Some modules automatically export selected aliases into your session when you import the module. This parameter lets you select from among the exported aliases.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="Args"><maml:name>ArgumentList</maml:name><maml:description><maml:para>Specifies arguments (parameter values) that are passed to a script module during the Import-Module command. This parameter is valid only when you are importing a script module.</maml:para><maml:para>You can also refer to ArgumentList by its alias, "args". For more information, see about_Aliases.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Object[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>AsCustomObject</maml:name><maml:description><maml:para>Returns a custom object with members that represent the imported module members. This parameter is valid only for script modules.</maml:para><maml:para>When you use the AsCustomObject parameter, Import-Module imports the module members into the session and then returns a PSCustomObject object instead of a PSModuleInfo object. You can save the custom object in a variable and use dot notation to invoke the members.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>Cmdlet</maml:name><maml:description><maml:para>Imports only the specified cmdlets from the module into the current session. Enter a list of cmdlets. Wildcard characters are permitted.</maml:para><maml:para>Some modules automatically export selected cmdlets into your session when you import the module. This parameter lets you select from among the exported cmdlets.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>DisableNameChecking</maml:name><maml:description><maml:para>Suppresses the message that warns you when you import a cmdlet or function whose name includes an unapproved verb or a prohibited character.</maml:para><maml:para>By default, when a module that you import exports cmdlets or functions that have unapproved verbs in their names, the Windows PowerShell displays the following warning message:</maml:para><maml:para>"WARNING: Some imported command names include unapproved verbs which might make them less discoverable. Use the Verbose parameter for more detail or type Get-Verb to see the list of approved verbs."</maml:para><maml:para>This message is only a warning. The complete module is still imported, including the non-conforming commands. Although the message is displayed to module users, the naming problem should be fixed by the module author.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Force</maml:name><maml:description><maml:para>Re-imports a module and its members, even if the module or its members have an access mode of read-only.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>Function</maml:name><maml:description><maml:para>Imports only the specified functions from the module into the current session. Enter a list of functions. Wildcard characters are permitted.</maml:para><maml:para>Some modules automatically export selected functions into your session when you import the module. This parameter lets you select from among the exported functions.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Global</maml:name><maml:description><maml:para>Imports modules into the global session state so they are available to all commands in the session. By default, the commands in a module, including commands from nested modules, are imported into the caller's session state. To restrict the commands that a module exports, use an Export-ModuleMember command in the script module.</maml:para><maml:para>The Global parameter is equivalent to the Scope parameter with a value of Global.</maml:para><maml:para></maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="" pipelineInput="false" position="named" aliases="NoOverwrite"><maml:name>NoClobber</maml:name><maml:description><maml:para>Does not import commands that have the same names as existing commands in the current session. By default, Import-Module imports all exported module commands.</maml:para><maml:para>Commands with the same names can hide or replace commands in the session. To avoid command name conflicts in a session, use the Prefix or NoClobber parameters. For more information about name conflicts and command precedence, see "Modules and Name Conflicts" in about_Modules and about_Command_Precedence.</maml:para><maml:para></maml:para><maml:para>This parameter was added in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>PassThru</maml:name><maml:description><maml:para>Returns objects that represent the modules that were imported. By default, this cmdlet does not generate any output.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Prefix</maml:name><maml:description><maml:para>Adds the specified prefix to the nouns in the names of imported module members.</maml:para><maml:para>Use this parameter to avoid name conflicts that might occur when different members in the session have the same name. This parameter does not change the module, and it does not affect files that the module imports for its own use (known as "nested modules"). It affects only the names of members in the current session.</maml:para><maml:para>For example, if you specify the prefix "UTC" and then import a Get-Date cmdlet, the cmdlet is known in the session as Get-UTCDate, and it is not confused with the original Get-Date cmdlet.</maml:para><maml:para>The value of this parameter takes precedence over the DefaultCommandPrefix property of the module, which specifies the default prefix.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Scope</maml:name><maml:description><maml:para>Imports the module only into the specified scope.</maml:para><maml:para> Valid values are:</maml:para><maml:para>-- Global: Available to all commands in the session. Equivalent to the Global parameter.
                         </maml:para><maml:para>-- Local: Available only in the current scope.</maml:para><maml:para>By default, the module is imported into the current scope, which could be a script or module.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>Variable</maml:name><maml:description><maml:para>Imports only the specified variables from the module into the current session. Enter a list of variables. Wildcard characters are permitted.</maml:para><maml:para>Some modules automatically export selected variables into your session when you import the module. This parameter lets you select from among the exported variables.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Import-Module</maml:name><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="none"><maml:name>FullyQualifiedName</maml:name><maml:description><maml:para>Imports modules with names that are specified in the form of ModuleSpecification objects (described by the Remarks section of <maml:navigationLink><maml:linkText>Module Specification Constructor (Hashtable)</maml:linkText><maml:uri></maml:uri></maml:navigationLink> on MSDN). For example, the FullyQualifiedName parameter accepts a module name that is specified in the format @{ModuleName = "modulename"; ModuleVersion = "version_number"} or @{ModuleName = "modulename"; ModuleVersion = "version_number"; Guid = "GUID"}. ModuleName and ModuleVersion are required, but Guid is optional.</maml:para><maml:para>You cannot specify the FullyQualifiedName parameter in the same command as a Name parameter; the two parameters are mutually exclusive.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">String[]</command:parameterValue></command:parameter><command:parameter required="true" variableLength="true" globbing="true" pipelineInput="true (ByValue)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Specifies the names of the modules to import. Enter the name of the module or the name of a file in the module, such as a .psd1, .psm1, .dll, or ps1 file. File paths are optional. Wildcards are not permitted. You can also pipe module names and file names to Import-Module.</maml:para><maml:para>If you omit a path, Import-Module looks for the module in the paths saved in the PSModulePath environment variable ($env:PSModulePath).</maml:para><maml:para>Specify only the module name whenever possible. When you specify a file name, only the members that are implemented in that file are imported. If the module contains other files, they are not imported, and you might be missing important members of the module.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>Alias</maml:name><maml:description><maml:para>Imports only the specified aliases from the module into the current session. Enter a comma-separated list of aliases. Wildcard characters are permitted.</maml:para><maml:para>Some modules automatically export selected aliases into your session when you import the module. This parameter lets you select from among the exported aliases.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="Args"><maml:name>ArgumentList</maml:name><maml:description><maml:para>Specifies arguments (parameter values) that are passed to a script module during the Import-Module command. This parameter is valid only when you are importing a script module.</maml:para><maml:para>You can also refer to ArgumentList by its alias, "args". For more information, see about_Aliases.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Object[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>AsCustomObject</maml:name><maml:description><maml:para>Returns a custom object with members that represent the imported module members. This parameter is valid only for script modules.</maml:para><maml:para>When you use the AsCustomObject parameter, Import-Module imports the module members into the session and then returns a PSCustomObject object instead of a PSModuleInfo object. You can save the custom object in a variable and use dot notation to invoke the members.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CimNamespace</maml:name><maml:description><maml:para>Specifies the namespace of an alternate CIM provider that exposes CIM modules. The default value is the namespace of the Module Discovery WMI provider.</maml:para><maml:para>Use this parameter to import CIM modules from computers and devices that are not running a Windows operating system.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CimResourceUri</maml:name><maml:description><maml:para>Specifies an alternate location for CIM modules. The default value is the resource URI of the Module Discovery WMI provider on the remote computer.</maml:para><maml:para>Use this parameter to import CIM modules from computers and devices that are not running a Windows operating system.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Uri</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>Cmdlet</maml:name><maml:description><maml:para>Imports only the specified cmdlets from the module into the current session. Enter a list of cmdlets. Wildcard characters are permitted.</maml:para><maml:para>Some modules automatically export selected cmdlets into your session when you import the module. This parameter lets you select from among the exported cmdlets.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>DisableNameChecking</maml:name><maml:description><maml:para>Suppresses the message that warns you when you import a cmdlet or function whose name includes an unapproved verb or a prohibited character.</maml:para><maml:para>By default, when a module that you import exports cmdlets or functions that have unapproved verbs in their names, the Windows PowerShell displays the following warning message:</maml:para><maml:para>"WARNING: Some imported command names include unapproved verbs which might make them less discoverable. Use the Verbose parameter for more detail or type Get-Verb to see the list of approved verbs."</maml:para><maml:para>This message is only a warning. The complete module is still imported, including the non-conforming commands. Although the message is displayed to module users, the naming problem should be fixed by the module author.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Force</maml:name><maml:description><maml:para>Re-imports a module and its members, even if the module or its members have an access mode of read-only.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>Function</maml:name><maml:description><maml:para>Imports only the specified functions from the module into the current session. Enter a list of functions. Wildcard characters are permitted.</maml:para><maml:para>Some modules automatically export selected functions into your session when you import the module. This parameter lets you select from among the exported functions.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Global</maml:name><maml:description><maml:para>Imports modules into the global session state so they are available to all commands in the session. By default, the commands in a module, including commands from nested modules, are imported into the caller's session state. To restrict the commands that a module exports, use an Export-ModuleMember command in the script module.</maml:para><maml:para>The Global parameter is equivalent to the Scope parameter with a value of Global.</maml:para><maml:para></maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="Version"><maml:name>MinimumVersion</maml:name><maml:description><maml:para>Imports only a version of the module that is greater than or equal to the specified value. If no version qualifies, Import-Module generates an error.</maml:para><maml:para>By default, Import-Module imports the module without checking the version number.</maml:para><maml:para>Use the MinimumVersion parameter name or its alias, Version.</maml:para><maml:para>To specify an exact version, use the RequiredVersion parameter. You can also use the Module and Version parameters of the #Requires keyword to require a specific version of a module in a script.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Version</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="" pipelineInput="false" position="named" aliases="NoOverwrite"><maml:name>NoClobber</maml:name><maml:description><maml:para>Does not import commands that have the same names as existing commands in the current session. By default, Import-Module imports all exported module commands.</maml:para><maml:para>Commands with the same names can hide or replace commands in the session. To avoid command name conflicts in a session, use the Prefix or NoClobber parameters. For more information about name conflicts and command precedence, see "Modules and Name Conflicts" in about_Modules and about_Command_Precedence.</maml:para><maml:para></maml:para><maml:para>This parameter was added in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>PassThru</maml:name><maml:description><maml:para>Returns objects that represent the modules that were imported. By default, this cmdlet does not generate any output.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Prefix</maml:name><maml:description><maml:para>Adds the specified prefix to the nouns in the names of imported module members.</maml:para><maml:para>Use this parameter to avoid name conflicts that might occur when different members in the session have the same name. This parameter does not change the module, and it does not affect files that the module imports for its own use (known as "nested modules"). It affects only the names of members in the current session.</maml:para><maml:para>For example, if you specify the prefix "UTC" and then import a Get-Date cmdlet, the cmdlet is known in the session as Get-UTCDate, and it is not confused with the original Get-Date cmdlet.</maml:para><maml:para>The value of this parameter takes precedence over the DefaultCommandPrefix property of the module, which specifies the default prefix.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>RequiredVersion</maml:name><maml:description><maml:para>Imports only the specified version of the module. If the version is not installed, Import-Module generates an error.</maml:para><maml:para>By default, Import-Module imports the module without checking the version number.</maml:para><maml:para>To specify a minimum version, use the MinimumVersion parameter. You can also use the Module and Version parameters of the #Requires keyword to require a specific version of a module in a script.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para><maml:para>Scripts that use the RequiredVersion parameter to import modules that are included with existing releases of the Windows operating system do not automatically run in future releases of the Windows operating system. This is because Windows PowerShell module version numbers in future releases of the Windows operating system are higher than module version numbers in existing releases of the Windows operating system.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Version</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Scope</maml:name><maml:description><maml:para>Imports the module only into the specified scope.</maml:para><maml:para> Valid values are:</maml:para><maml:para>-- Global: Available to all commands in the session. Equivalent to the Global parameter.
                         </maml:para><maml:para>-- Local: Available only in the current scope.</maml:para><maml:para>By default, the module is imported into the current scope, which could be a script or module.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>Variable</maml:name><maml:description><maml:para>Imports only the specified variables from the module into the current session. Enter a list of variables. Wildcard characters are permitted.</maml:para><maml:para>Some modules automatically export selected variables into your session when you import the module. This parameter lets you select from among the exported variables.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CimSession</maml:name><maml:description><maml:para>Specifies a CIM session on the remote computer. Enter a variable that contains the CIM session or a command that gets the CIM session, such as a <maml:navigationLink><maml:linkText>Get-CIMSession</maml:linkText><maml:uri></maml:uri></maml:navigationLink> command.</maml:para><maml:para>Import-Module uses the CIM session connection to import modules from the remote computer into the current session. When you use the commands from the imported module in the current session, the commands actually run on the remote computer.</maml:para><maml:para>You can use this parameter to import modules from computers and devices that are not running a Windows operating system, and Windows computers that have Windows PowerShell, but do not have Windows PowerShell remoting enabled.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">CimSession</command:parameterValue></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Import-Module</maml:name><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="none"><maml:name>FullyQualifiedName</maml:name><maml:description><maml:para>Imports modules with names that are specified in the form of ModuleSpecification objects (described by the Remarks section of <maml:navigationLink><maml:linkText>Module Specification Constructor (Hashtable)</maml:linkText><maml:uri></maml:uri></maml:navigationLink> on MSDN). For example, the FullyQualifiedName parameter accepts a module name that is specified in the format @{ModuleName = "modulename"; ModuleVersion = "version_number"} or @{ModuleName = "modulename"; ModuleVersion = "version_number"; Guid = "GUID"}. ModuleName and ModuleVersion are required, but Guid is optional.</maml:para><maml:para>You cannot specify the FullyQualifiedName parameter in the same command as a Name parameter; the two parameters are mutually exclusive.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">String[]</command:parameterValue></command:parameter><command:parameter required="true" variableLength="true" globbing="true" pipelineInput="true (ByValue)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Specifies the names of the modules to import. Enter the name of the module or the name of a file in the module, such as a .psd1, .psm1, .dll, or ps1 file. File paths are optional. Wildcards are not permitted. You can also pipe module names and file names to Import-Module.</maml:para><maml:para>If you omit a path, Import-Module looks for the module in the paths saved in the PSModulePath environment variable ($env:PSModulePath).</maml:para><maml:para>Specify only the module name whenever possible. When you specify a file name, only the members that are implemented in that file are imported. If the module contains other files, they are not imported, and you might be missing important members of the module.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>Alias</maml:name><maml:description><maml:para>Imports only the specified aliases from the module into the current session. Enter a comma-separated list of aliases. Wildcard characters are permitted.</maml:para><maml:para>Some modules automatically export selected aliases into your session when you import the module. This parameter lets you select from among the exported aliases.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="Args"><maml:name>ArgumentList</maml:name><maml:description><maml:para>Specifies arguments (parameter values) that are passed to a script module during the Import-Module command. This parameter is valid only when you are importing a script module.</maml:para><maml:para>You can also refer to ArgumentList by its alias, "args". For more information, see about_Aliases.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Object[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>AsCustomObject</maml:name><maml:description><maml:para>Returns a custom object with members that represent the imported module members. This parameter is valid only for script modules.</maml:para><maml:para>When you use the AsCustomObject parameter, Import-Module imports the module members into the session and then returns a PSCustomObject object instead of a PSModuleInfo object. You can save the custom object in a variable and use dot notation to invoke the members.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>Cmdlet</maml:name><maml:description><maml:para>Imports only the specified cmdlets from the module into the current session. Enter a list of cmdlets. Wildcard characters are permitted.</maml:para><maml:para>Some modules automatically export selected cmdlets into your session when you import the module. This parameter lets you select from among the exported cmdlets.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>DisableNameChecking</maml:name><maml:description><maml:para>Suppresses the message that warns you when you import a cmdlet or function whose name includes an unapproved verb or a prohibited character.</maml:para><maml:para>By default, when a module that you import exports cmdlets or functions that have unapproved verbs in their names, the Windows PowerShell displays the following warning message:</maml:para><maml:para>"WARNING: Some imported command names include unapproved verbs which might make them less discoverable. Use the Verbose parameter for more detail or type Get-Verb to see the list of approved verbs."</maml:para><maml:para>This message is only a warning. The complete module is still imported, including the non-conforming commands. Although the message is displayed to module users, the naming problem should be fixed by the module author.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Force</maml:name><maml:description><maml:para>Re-imports a module and its members, even if the module or its members have an access mode of read-only.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>Function</maml:name><maml:description><maml:para>Imports only the specified functions from the module into the current session. Enter a list of functions. Wildcard characters are permitted.</maml:para><maml:para>Some modules automatically export selected functions into your session when you import the module. This parameter lets you select from among the exported functions.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Global</maml:name><maml:description><maml:para>Imports modules into the global session state so they are available to all commands in the session. By default, the commands in a module, including commands from nested modules, are imported into the caller's session state. To restrict the commands that a module exports, use an Export-ModuleMember command in the script module.</maml:para><maml:para>The Global parameter is equivalent to the Scope parameter with a value of Global.</maml:para><maml:para></maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="Version"><maml:name>MinimumVersion</maml:name><maml:description><maml:para>Imports only a version of the module that is greater than or equal to the specified value. If no version qualifies, Import-Module generates an error.</maml:para><maml:para>By default, Import-Module imports the module without checking the version number.</maml:para><maml:para>Use the MinimumVersion parameter name or its alias, Version.</maml:para><maml:para>To specify an exact version, use the RequiredVersion parameter. You can also use the Module and Version parameters of the #Requires keyword to require a specific version of a module in a script.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Version</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="" pipelineInput="false" position="named" aliases="NoOverwrite"><maml:name>NoClobber</maml:name><maml:description><maml:para>Does not import commands that have the same names as existing commands in the current session. By default, Import-Module imports all exported module commands.</maml:para><maml:para>Commands with the same names can hide or replace commands in the session. To avoid command name conflicts in a session, use the Prefix or NoClobber parameters. For more information about name conflicts and command precedence, see "Modules and Name Conflicts" in about_Modules and about_Command_Precedence.</maml:para><maml:para></maml:para><maml:para>This parameter was added in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>PassThru</maml:name><maml:description><maml:para>Returns objects that represent the modules that were imported. By default, this cmdlet does not generate any output.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Prefix</maml:name><maml:description><maml:para>Adds the specified prefix to the nouns in the names of imported module members.</maml:para><maml:para>Use this parameter to avoid name conflicts that might occur when different members in the session have the same name. This parameter does not change the module, and it does not affect files that the module imports for its own use (known as "nested modules"). It affects only the names of members in the current session.</maml:para><maml:para>For example, if you specify the prefix "UTC" and then import a Get-Date cmdlet, the cmdlet is known in the session as Get-UTCDate, and it is not confused with the original Get-Date cmdlet.</maml:para><maml:para>The value of this parameter takes precedence over the DefaultCommandPrefix property of the module, which specifies the default prefix.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>RequiredVersion</maml:name><maml:description><maml:para>Imports only the specified version of the module. If the version is not installed, Import-Module generates an error.</maml:para><maml:para>By default, Import-Module imports the module without checking the version number.</maml:para><maml:para>To specify a minimum version, use the MinimumVersion parameter. You can also use the Module and Version parameters of the #Requires keyword to require a specific version of a module in a script.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para><maml:para>Scripts that use the RequiredVersion parameter to import modules that are included with existing releases of the Windows operating system do not automatically run in future releases of the Windows operating system. This is because Windows PowerShell module version numbers in future releases of the Windows operating system are higher than module version numbers in existing releases of the Windows operating system.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Version</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Scope</maml:name><maml:description><maml:para>Imports the module only into the specified scope.</maml:para><maml:para> Valid values are:</maml:para><maml:para>-- Global: Available to all commands in the session. Equivalent to the Global parameter.
                         </maml:para><maml:para>-- Local: Available only in the current scope.</maml:para><maml:para>By default, the module is imported into the current scope, which could be a script or module.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>Variable</maml:name><maml:description><maml:para>Imports only the specified variables from the module into the current session. Enter a list of variables. Wildcard characters are permitted.</maml:para><maml:para>Some modules automatically export selected variables into your session when you import the module. This parameter lets you select from among the exported variables.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>PSSession</maml:name><maml:description><maml:para>Imports modules from the specified Windows PowerShell user-managed session ("PSSession") into the current session. Enter a variable that contains a PSSession or a command that gets a PSSession, such as a Get-PSSession command.</maml:para><maml:para>When you import a module from a different session into the current session, you can use the cmdlets from the module in the current session, just as you would use cmdlets from a local module. Commands that use the remote cmdlets actually run in the remote session, but the remoting details are managed in the background by Windows PowerShell. </maml:para><maml:para>This parameter uses the Implicit Remoting feature of Windows PowerShell. It is equivalent to using the Import-PSSession cmdlet to import particular modules from a session.</maml:para><maml:para>Import-Module cannot import Windows PowerShell Core modules from another session. The Windows PowerShell Core modules have names that begin with Microsoft.PowerShell.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSSession</command:parameterValue></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Import-Module</maml:name><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases=""><maml:name>ModuleInfo</maml:name><maml:description><maml:para>Specifies module objects to import. Enter a variable that contains the module objects, or a command that gets the module objects, such as a "Get-Module -ListAvailable" command. You can also pipe module objects to Import-Module.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">PSModuleInfo[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>Alias</maml:name><maml:description><maml:para>Imports only the specified aliases from the module into the current session. Enter a comma-separated list of aliases. Wildcard characters are permitted.</maml:para><maml:para>Some modules automatically export selected aliases into your session when you import the module. This parameter lets you select from among the exported aliases.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="Args"><maml:name>ArgumentList</maml:name><maml:description><maml:para>Specifies arguments (parameter values) that are passed to a script module during the Import-Module command. This parameter is valid only when you are importing a script module.</maml:para><maml:para>You can also refer to ArgumentList by its alias, "args". For more information, see about_Aliases.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Object[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>AsCustomObject</maml:name><maml:description><maml:para>Returns a custom object with members that represent the imported module members. This parameter is valid only for script modules.</maml:para><maml:para>When you use the AsCustomObject parameter, Import-Module imports the module members into the session and then returns a PSCustomObject object instead of a PSModuleInfo object. You can save the custom object in a variable and use dot notation to invoke the members.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>Cmdlet</maml:name><maml:description><maml:para>Imports only the specified cmdlets from the module into the current session. Enter a list of cmdlets. Wildcard characters are permitted.</maml:para><maml:para>Some modules automatically export selected cmdlets into your session when you import the module. This parameter lets you select from among the exported cmdlets.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>DisableNameChecking</maml:name><maml:description><maml:para>Suppresses the message that warns you when you import a cmdlet or function whose name includes an unapproved verb or a prohibited character.</maml:para><maml:para>By default, when a module that you import exports cmdlets or functions that have unapproved verbs in their names, the Windows PowerShell displays the following warning message:</maml:para><maml:para>"WARNING: Some imported command names include unapproved verbs which might make them less discoverable. Use the Verbose parameter for more detail or type Get-Verb to see the list of approved verbs."</maml:para><maml:para>This message is only a warning. The complete module is still imported, including the non-conforming commands. Although the message is displayed to module users, the naming problem should be fixed by the module author.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Force</maml:name><maml:description><maml:para>Re-imports a module and its members, even if the module or its members have an access mode of read-only.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>Function</maml:name><maml:description><maml:para>Imports only the specified functions from the module into the current session. Enter a list of functions. Wildcard characters are permitted.</maml:para><maml:para>Some modules automatically export selected functions into your session when you import the module. This parameter lets you select from among the exported functions.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Global</maml:name><maml:description><maml:para>Imports modules into the global session state so they are available to all commands in the session. By default, the commands in a module, including commands from nested modules, are imported into the caller's session state. To restrict the commands that a module exports, use an Export-ModuleMember command in the script module.</maml:para><maml:para>The Global parameter is equivalent to the Scope parameter with a value of Global.</maml:para><maml:para></maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="" pipelineInput="false" position="named" aliases="NoOverwrite"><maml:name>NoClobber</maml:name><maml:description><maml:para>Does not import commands that have the same names as existing commands in the current session. By default, Import-Module imports all exported module commands.</maml:para><maml:para>Commands with the same names can hide or replace commands in the session. To avoid command name conflicts in a session, use the Prefix or NoClobber parameters. For more information about name conflicts and command precedence, see "Modules and Name Conflicts" in about_Modules and about_Command_Precedence.</maml:para><maml:para></maml:para><maml:para>This parameter was added in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>PassThru</maml:name><maml:description><maml:para>Returns objects that represent the modules that were imported. By default, this cmdlet does not generate any output.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Prefix</maml:name><maml:description><maml:para>Adds the specified prefix to the nouns in the names of imported module members.</maml:para><maml:para>Use this parameter to avoid name conflicts that might occur when different members in the session have the same name. This parameter does not change the module, and it does not affect files that the module imports for its own use (known as "nested modules"). It affects only the names of members in the current session.</maml:para><maml:para>For example, if you specify the prefix "UTC" and then import a Get-Date cmdlet, the cmdlet is known in the session as Get-UTCDate, and it is not confused with the original Get-Date cmdlet.</maml:para><maml:para>The value of this parameter takes precedence over the DefaultCommandPrefix property of the module, which specifies the default prefix.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Scope</maml:name><maml:description><maml:para>Imports the module only into the specified scope.</maml:para><maml:para> Valid values are:</maml:para><maml:para>-- Global: Available to all commands in the session. Equivalent to the Global parameter.
                         </maml:para><maml:para>-- Local: Available only in the current scope.</maml:para><maml:para>By default, the module is imported into the current scope, which could be a script or module.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>Variable</maml:name><maml:description><maml:para>Imports only the specified variables from the module into the current session. Enter a list of variables. Wildcard characters are permitted.</maml:para><maml:para>Some modules automatically export selected variables into your session when you import the module. This parameter lets you select from among the exported variables.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>Alias</maml:name><maml:description><maml:para>Imports only the specified aliases from the module into the current session. Enter a comma-separated list of aliases. Wildcard characters are permitted.</maml:para><maml:para>Some modules automatically export selected aliases into your session when you import the module. This parameter lets you select from among the exported aliases.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="Args"><maml:name>ArgumentList</maml:name><maml:description><maml:para>Specifies arguments (parameter values) that are passed to a script module during the Import-Module command. This parameter is valid only when you are importing a script module.</maml:para><maml:para>You can also refer to ArgumentList by its alias, "args". For more information, see about_Aliases.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Object[]</command:parameterValue><dev:type><maml:name>Object[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>AsCustomObject</maml:name><maml:description><maml:para>Returns a custom object with members that represent the imported module members. This parameter is valid only for script modules.</maml:para><maml:para>When you use the AsCustomObject parameter, Import-Module imports the module members into the session and then returns a PSCustomObject object instead of a PSModuleInfo object. You can save the custom object in a variable and use dot notation to invoke the members.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases=""><maml:name>Assembly</maml:name><maml:description><maml:para>Imports the cmdlets and providers implemented in the specified assembly objects. Enter a variable that contains assembly objects or a command that creates assembly objects. You can also pipe an assembly object to Import-Module.</maml:para><maml:para>When you use this parameter, only the cmdlets and providers implemented by the specified assemblies are imported. If the module contains other files, they are not imported, and you might be missing important members of the module. Use this parameter for debugging and testing the module, or when you are instructed to use it by the module author.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Assembly[]</command:parameterValue><dev:type><maml:name>Assembly[]</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CimNamespace</maml:name><maml:description><maml:para>Specifies the namespace of an alternate CIM provider that exposes CIM modules. The default value is the namespace of the Module Discovery WMI provider.</maml:para><maml:para>Use this parameter to import CIM modules from computers and devices that are not running a Windows operating system.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CimResourceUri</maml:name><maml:description><maml:para>Specifies an alternate location for CIM modules. The default value is the resource URI of the Module Discovery WMI provider on the remote computer.</maml:para><maml:para>Use this parameter to import CIM modules from computers and devices that are not running a Windows operating system.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Uri</command:parameterValue><dev:type><maml:name>Uri</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>Cmdlet</maml:name><maml:description><maml:para>Imports only the specified cmdlets from the module into the current session. Enter a list of cmdlets. Wildcard characters are permitted.</maml:para><maml:para>Some modules automatically export selected cmdlets into your session when you import the module. This parameter lets you select from among the exported cmdlets.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>DisableNameChecking</maml:name><maml:description><maml:para>Suppresses the message that warns you when you import a cmdlet or function whose name includes an unapproved verb or a prohibited character.</maml:para><maml:para>By default, when a module that you import exports cmdlets or functions that have unapproved verbs in their names, the Windows PowerShell displays the following warning message:</maml:para><maml:para>"WARNING: Some imported command names include unapproved verbs which might make them less discoverable. Use the Verbose parameter for more detail or type Get-Verb to see the list of approved verbs."</maml:para><maml:para>This message is only a warning. The complete module is still imported, including the non-conforming commands. Although the message is displayed to module users, the naming problem should be fixed by the module author.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Force</maml:name><maml:description><maml:para>Re-imports a module and its members, even if the module or its members have an access mode of read-only.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="none"><maml:name>FullyQualifiedName</maml:name><maml:description><maml:para>Imports modules with names that are specified in the form of ModuleSpecification objects (described by the Remarks section of <maml:navigationLink><maml:linkText>Module Specification Constructor (Hashtable)</maml:linkText><maml:uri></maml:uri></maml:navigationLink> on MSDN). For example, the FullyQualifiedName parameter accepts a module name that is specified in the format @{ModuleName = "modulename"; ModuleVersion = "version_number"} or @{ModuleName = "modulename"; ModuleVersion = "version_number"; Guid = "GUID"}. ModuleName and ModuleVersion are required, but Guid is optional.</maml:para><maml:para>You cannot specify the FullyQualifiedName parameter in the same command as a Name parameter; the two parameters are mutually exclusive.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>none</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>Function</maml:name><maml:description><maml:para>Imports only the specified functions from the module into the current session. Enter a list of functions. Wildcard characters are permitted.</maml:para><maml:para>Some modules automatically export selected functions into your session when you import the module. This parameter lets you select from among the exported functions.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Global</maml:name><maml:description><maml:para>Imports modules into the global session state so they are available to all commands in the session. By default, the commands in a module, including commands from nested modules, are imported into the caller's session state. To restrict the commands that a module exports, use an Export-ModuleMember command in the script module.</maml:para><maml:para>The Global parameter is equivalent to the Scope parameter with a value of Global.</maml:para><maml:para></maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases=""><maml:name>ModuleInfo</maml:name><maml:description><maml:para>Specifies module objects to import. Enter a variable that contains the module objects, or a command that gets the module objects, such as a "Get-Module -ListAvailable" command. You can also pipe module objects to Import-Module.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">PSModuleInfo[]</command:parameterValue><dev:type><maml:name>PSModuleInfo[]</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="true" globbing="true" pipelineInput="true (ByValue)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Specifies the names of the modules to import. Enter the name of the module or the name of a file in the module, such as a .psd1, .psm1, .dll, or ps1 file. File paths are optional. Wildcards are not permitted. You can also pipe module names and file names to Import-Module.</maml:para><maml:para>If you omit a path, Import-Module looks for the module in the paths saved in the PSModulePath environment variable ($env:PSModulePath).</maml:para><maml:para>Specify only the module name whenever possible. When you specify a file name, only the members that are implemented in that file are imported. If the module contains other files, they are not imported, and you might be missing important members of the module.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="" pipelineInput="false" position="named" aliases="NoOverwrite"><maml:name>NoClobber</maml:name><maml:description><maml:para>Does not import commands that have the same names as existing commands in the current session. By default, Import-Module imports all exported module commands.</maml:para><maml:para>Commands with the same names can hide or replace commands in the session. To avoid command name conflicts in a session, use the Prefix or NoClobber parameters. For more information about name conflicts and command precedence, see "Modules and Name Conflicts" in about_Modules and about_Command_Precedence.</maml:para><maml:para></maml:para><maml:para>This parameter was added in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>PassThru</maml:name><maml:description><maml:para>Returns objects that represent the modules that were imported. By default, this cmdlet does not generate any output.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Prefix</maml:name><maml:description><maml:para>Adds the specified prefix to the nouns in the names of imported module members.</maml:para><maml:para>Use this parameter to avoid name conflicts that might occur when different members in the session have the same name. This parameter does not change the module, and it does not affect files that the module imports for its own use (known as "nested modules"). It affects only the names of members in the current session.</maml:para><maml:para>For example, if you specify the prefix "UTC" and then import a Get-Date cmdlet, the cmdlet is known in the session as Get-UTCDate, and it is not confused with the original Get-Date cmdlet.</maml:para><maml:para>The value of this parameter takes precedence over the DefaultCommandPrefix property of the module, which specifies the default prefix.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>Variable</maml:name><maml:description><maml:para>Imports only the specified variables from the module into the current session. Enter a list of variables. Wildcard characters are permitted.</maml:para><maml:para>Some modules automatically export selected variables into your session when you import the module. This parameter lets you select from among the exported variables.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>All variables</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CimSession</maml:name><maml:description><maml:para>Specifies a CIM session on the remote computer. Enter a variable that contains the CIM session or a command that gets the CIM session, such as a <maml:navigationLink><maml:linkText>Get-CIMSession</maml:linkText><maml:uri></maml:uri></maml:navigationLink> command.</maml:para><maml:para>Import-Module uses the CIM session connection to import modules from the remote computer into the current session. When you use the commands from the imported module in the current session, the commands actually run on the remote computer.</maml:para><maml:para>You can use this parameter to import modules from computers and devices that are not running a Windows operating system, and Windows computers that have Windows PowerShell, but do not have Windows PowerShell remoting enabled.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">CimSession</command:parameterValue><dev:type><maml:name>CimSession</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="Version"><maml:name>MinimumVersion</maml:name><maml:description><maml:para>Imports only a version of the module that is greater than or equal to the specified value. If no version qualifies, Import-Module generates an error.</maml:para><maml:para>By default, Import-Module imports the module without checking the version number.</maml:para><maml:para>Use the MinimumVersion parameter name or its alias, Version.</maml:para><maml:para>To specify an exact version, use the RequiredVersion parameter. You can also use the Module and Version parameters of the #Requires keyword to require a specific version of a module in a script.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Version</command:parameterValue><dev:type><maml:name>Version</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>PSSession</maml:name><maml:description><maml:para>Imports modules from the specified Windows PowerShell user-managed session ("PSSession") into the current session. Enter a variable that contains a PSSession or a command that gets a PSSession, such as a Get-PSSession command.</maml:para><maml:para>When you import a module from a different session into the current session, you can use the cmdlets from the module in the current session, just as you would use cmdlets from a local module. Commands that use the remote cmdlets actually run in the remote session, but the remoting details are managed in the background by Windows PowerShell. </maml:para><maml:para>This parameter uses the Implicit Remoting feature of Windows PowerShell. It is equivalent to using the Import-PSSession cmdlet to import particular modules from a session.</maml:para><maml:para>Import-Module cannot import Windows PowerShell Core modules from another session. The Windows PowerShell Core modules have names that begin with Microsoft.PowerShell.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSSession</command:parameterValue><dev:type><maml:name>PSSession</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>RequiredVersion</maml:name><maml:description><maml:para>Imports only the specified version of the module. If the version is not installed, Import-Module generates an error.</maml:para><maml:para>By default, Import-Module imports the module without checking the version number.</maml:para><maml:para>To specify a minimum version, use the MinimumVersion parameter. You can also use the Module and Version parameters of the #Requires keyword to require a specific version of a module in a script.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para><maml:para>Scripts that use the RequiredVersion parameter to import modules that are included with existing releases of the Windows operating system do not automatically run in future releases of the Windows operating system. This is because Windows PowerShell module version numbers in future releases of the Windows operating system are higher than module version numbers in existing releases of the Windows operating system.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Version</command:parameterValue><dev:type><maml:name>Version</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Scope</maml:name><maml:description><maml:para>Imports the module only into the specified scope.</maml:para><maml:para> Valid values are:</maml:para><maml:para>-- Global: Available to all commands in the session. Equivalent to the Global parameter.
                         </maml:para><maml:para>-- Local: Available only in the current scope.</maml:para><maml:para>By default, the module is imported into the current scope, which could be a script or module.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>Current scope</dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name>System.String, System.Management.Automation.PSModuleInfo, System.Reflection.Assembly</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You can pipe a module name, module object, or assembly object to Import-Module.</maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name>None, System.Management.Automation.PSModuleInfo, or System.Management.Automation.PSCustomObject</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>By default, Import-Module does not generate any output. If you use the PassThru parameter, it generates a System.Management.Automation.PSModuleInfo object that represents the module. If you use the AsCustomObject parameter, it generates a PSCustomObject object.</maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><maml:alertSet><maml:title /><maml:alert><maml:para>Before you can import a module, the module must be installed on the local computer, that is, the module directory must be copied to a directory that is accessible to your local computer. For more information, see about_Modules (http://go.microsoft.com/fwlink/?LinkID=144311).</maml:para><maml:para>You can also use the PSSession and CIMSession parameters to import modules that are installed on remote computers. However, commands that use the cmdlets in these modules actually run in the remote session on the remote computer.</maml:para></maml:alert><maml:alert><maml:para>If you import members with the same name and the same type into your session, Windows PowerShell uses the member imported last by default. Variables and aliases are replaced, and the originals are not accessible. Functions, cmdlets and providers are merely "shadowed" by the new members, and they can be accessed by qualifying the command name with the name of its snap-in, module, or function path.</maml:para></maml:alert><maml:alert><maml:para>To update the formatting data for commands that have been imported from a module, use the Update-FormatData cmdlet. Update-FormatData also updates the formatting data for commands in the session that were imported from modules. If the formatting file for a module changes, you can run an Update-FormatData command to update the formatting data for imported commands. You do not need to import the module again.</maml:para></maml:alert><maml:alert><maml:para>Beginning in Windows PowerShell 3.0, the core commands that are installed with Windows PowerShell are packaged in modules. In Windows PowerShell 2.0, and in host programs that create older-style sessions in later versions of Windows PowerShell, the core commands are packaged in snap-ins ("PSSnapins"). The exception is Microsoft.PowerShell.Core, which is always a snap-in. Also, remote sessions, such as those started by the New-PSSession cmdlet, are older-style sessions that include core snap-ins.</maml:para><maml:para>For information about the CreateDefault2 method that creates newer-style sessions with core modules, see "CreateDefault2 Method" in MSDN at <maml:navigationLink><maml:linkText>http://msdn.microsoft.com/en-us/library/windows/desktop/system.management.automation.runspaces.initialsessionstate.createdefault2(v=VS.85).aspx</maml:linkText><maml:uri></maml:uri></maml:navigationLink>.</maml:para></maml:alert><maml:alert><maml:para>Import-Module cannot import Windows PowerShell Core modules from another session. The Windows PowerShell Core modules have names that begin with Microsoft.PowerShell.</maml:para></maml:alert><maml:alert><maml:para>In Windows PowerShell 2.0, some of the property values of the module object, such as the ExportedCmdlets and NestedModules property values, were not populated until the module was imported and were not available on the module object that the PassThru parameter returns. In Windows PowerShell 3.0, all module property values are populated.</maml:para></maml:alert><maml:alert><maml:para>If you attempt to import a module that contains mixed-mode assemblies that are not compatible with Windows PowerShell 3.0, Import-Module returns an error message like the following one.</maml:para><maml:para>Import-Module : Mixed mode assembly is built against version 'v2.0.50727' of the runtime and cannot be loaded in the 4.0 runtime without additional configuration information.</maml:para><maml:para>This error occurs when a module that is designed for Windows PowerShell 2.0 contains at least one mixed-module assembly, that is, an assembly that includes both managed and non-managed code, such as C++ and C#.</maml:para><maml:para>To import a module that contains mixed-mode assemblies, start Windows PowerShell 2.0 by using the following command, and then try the Import-Module command again.</maml:para><maml:para>PowerShell.exe -Version 2.0</maml:para></maml:alert><maml:alert><maml:para>To use the CIM session feature, the remote computer must have WS-Management remoting and Windows Management Instrumentation (WMI), which is the Microsoft implementation of the Common Information Model (CIM) standard. The computer must also have the Module Discovery WMI provider or an alternate CIM provider that has the same basic features.</maml:para><maml:para>You can use the CIM session feature on computers that are not running a Windows operating system and on Windows computers that have Windows PowerShell, but do not have Windows PowerShell remoting enabled.</maml:para><maml:para>You can also use the CIM parameters to get CIM modules from computers that have Windows PowerShell remoting enabled, including the local computer. When you create a CIM session on the local computer, Windows PowerShell uses DCOM, instead of WMI, to create the session.</maml:para></maml:alert></maml:alertSet><command:examples><command:example><maml:title>
  
-------------------------- EXAMPLE 1 --------------------------
  
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Import-Module -Name BitsTransfer
</dev:code><dev:remarks><maml:para>This command imports the members of the BitsTransfer module into the current session.</maml:para><maml:para>The Name parameter name (-Name) is optional and can be omitted.</maml:para><maml:para>By default, Import-Module does not generate any output when it imports a module. To request output, use the PassThru or AsCustomObject parameter, or the Verbose common parameter.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 2 --------------------------
  
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-Module -ListAvailable | Import-Module
</dev:code><dev:remarks><maml:para>This command imports all available modules in the path specified by the PSModulePath environment variable ($env:PSModulePath) into the current session.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 3 --------------------------
  
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;$m = Get-Module -ListAvailable BitsTransfer, ServerManager
PS C:\&gt;Import-Module -ModuleInfo $m
</dev:code><dev:remarks><maml:para>These commands import the members of the BitsTransfer and ServerManager modules into the current session.</maml:para><maml:para>The first command uses the Get-Module-Module cmdlet to get the BitsTransfer and ServerManager modules. It saves the objects in the $m variable. The ListAvailable parameter is required when you are getting modules that are not yet imported into the session.</maml:para><maml:para>The second command uses the ModuleInfo parameter of Import-Module to import the modules into the current session.</maml:para><maml:para>These commands are equivalent to using a pipeline operator (|) to send the output of a Get-Module command to Import-Module.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 4 --------------------------
  
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Import-Module -Name c:\ps-test\modules\test -Verbose
VERBOSE: Loading module from path 'C:\ps-test\modules\Test\Test.psm1'.
VERBOSE: Exporting function 'my-parm'.
VERBOSE: Exporting function 'Get-Parameter'.
VERBOSE: Exporting function 'Get-Specification'.
VERBOSE: Exporting function 'Get-SpecDetails'.
</dev:code><dev:remarks><maml:para>This command uses an explicit path to identify the module to import.</maml:para><maml:para>It also uses the Verbose common parameter to get a list of the items imported from the module. Without the Verbose, PassThru, or AsCustomObject parameter, Import-Module does not generate any output when it imports a module.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 5 --------------------------
  
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Import-Module BitsTransfer -cmdlet Add-BitsTransferFile, Get-BitsTransfer
PS C:\&gt;Get-Module BitsTransfer
 
Name : BitsTransfer
Path : C:\Windows\system32\WindowsPowerShell\v1.0\Modules\BitsTransfer\BitsTransfer.psd1
Description :
Guid : 8fa5064b-8479-4c5c-86ea-0d311fe48875
Version : 1.0.0.0
ModuleBase : C:\Windows\system32\WindowsPowerShell\v1.0\Modules\BitsTransfer
ModuleType : Manifest
PrivateData :
AccessMode : ReadWrite
ExportedAliases : {}
ExportedCmdlets : {[Add-BitsTransfer, Add-BitsTransfer], [Complete-BitsTransfer, Complete-BitsTransfer],
 [Get-BitsTransfer, Get-BitsTransfer], [Remove-BitsTransfer, Remove-BitsTransfer]...}
ExportedFunctions : {}
ExportedVariables : {}
NestedModules : {Microsoft.BackgroundIntelligentTransfer.Management}
 
PS C:\&gt;Get-Command -Module BitsTransfer
 
CommandType Name ModuleName
----------- ---- ----------
Cmdlet Add-BitsFile bitstransfer
Cmdlet Complete-BitsTransfer bitstransfer
Cmdlet Get-BitsTransfer bitstransfer
Cmdlet Remove-BitsTransfer bitstransfer
Cmdlet Resume-BitsTransfer bitstransfer
Cmdlet Set-BitsTransfer bitstransfer
Cmdlet Start-BitsTransfer bitstransfer
Cmdlet Suspend-BitsTransfer bitstransfer
</dev:code><dev:remarks><maml:para>This example shows how to restrict the module members that are imported into the session and the effect of this command on the session.</maml:para><maml:para>The first command imports only the Add-BitsTransfer and Get-BitsTransfer cmdlets from the BitsTransfer module. The command uses the Cmdlet parameter to restrict the cmdlets that the module imports. You can also use the Alias, Variable, and Function parameters to restrict other members that a module imports.</maml:para><maml:para>The second command uses the Get-Module cmdlet to get the object that represents the BitsTransfer module. The ExportedCmdlets property lists all of the cmdlets that the module exports, even when they were not all imported.</maml:para><maml:para>The third command uses the Module parameter of the Get-Command cmdlet to get the commands that were imported from the BitsTransfer module. The results confirm that only the Add-BitsTransfer and Get-BitsTransfer cmdlets were imported.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 6 --------------------------
  
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Import-Module BitsTransfer -Prefix PS -PassThru
 
ModuleType Name ExportedCommands
---------- ---- ----------------
Manifest bitstransfer {Add-BitsFile, Complete-...
 
PS C:\&gt;Get-Command -Module BitsTransfer
 
CommandType Name ModuleName
----------- ---- ----------
Cmdlet Add-BitsFile bitstransfer
Cmdlet Add-PSBitsFile bitstransfer
Cmdlet Complete-BitsTransfer bitstransfer
Cmdlet Complete-PSBitsTransfer bitstransfer
Cmdlet Get-BitsTransfer bitstransfer
Cmdlet Get-PSBitsTransfer bitstransfer
Cmdlet Remove-BitsTransfer bitstransfer
Cmdlet Remove-PSBitsTransfer bitstransfer
Cmdlet Resume-BitsTransfer bitstransfer
Cmdlet Resume-PSBitsTransfer bitstransfer
Cmdlet Set-BitsTransfer bitstransfer
Cmdlet Set-PSBitsTransfer bitstransfer
Cmdlet Start-BitsTransfer bitstransfer
Cmdlet Start-PSBitsTransfer bitstransfer
Cmdlet Suspend-BitsTransfer bitstransfer
Cmdlet Suspend-PSBitsTransfer bitstransfer
</dev:code><dev:remarks><maml:para>These commands import the BitsTransfer module into the current session, add a prefix to the member names, and then display the prefixed member names.</maml:para><maml:para>The first command uses the Import-Module cmdlet to import the BitsTransfer module. It uses the Prefix parameter to add the PS prefix to all members that are imported from the module and the PassThru parameter to return a module object that represents the imported module.</maml:para><maml:para>The second command uses the Get-Command cmdlet to get the members that have been imported from the module. It uses the Module parameter to specify the module. The output shows that the module members were correctly prefixed.</maml:para><maml:para>The prefix that you use applies only to the members in the current session. It does not change the module.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 7 --------------------------
  
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-Module -List | Format-Table -Property Name, ModuleType -AutoSize
 
Name ModuleType
---- ----------
Show-Calendar Script
BitsTransfer Manifest
PSDiagnostics Manifest
TestCmdlets Script
 
PS C:\&gt;$a = Import-Module -Name Show-Calendar -AsCustomObject -Passthru
 
PS C:\&gt;$a | Get-Member
 
    TypeName: System.Management.Automation.PSCustomObject
Name MemberType Definition
---- ---------- ----------
Equals Method bool Equals(System.Object obj)
GetHashCode Method int GetHashCode()
GetType Method type GetType()
ToString Method string ToString()
Show-Calendar ScriptMethod System.Object Show-Calendar();
 
PS C:\&gt;$a."Show-Calendar"()
</dev:code><dev:remarks><maml:para>These commands demonstrate how to get and use the custom object that Import-Module returns.</maml:para><maml:para>Custom objects include synthetic members that represent each of the imported module members. For example, the cmdlets and functions in a module are converted to script methods of the custom object.</maml:para><maml:para>Custom objects are very useful in scripting. They are also useful when several imported objects have the same names. Using the script method of an object is equivalent to specifying the fully qualified name of an imported member, including its module name.</maml:para><maml:para>The AsCustomObject parameter can be used only when importing a script module, so the first task is to determine which of the available modules is a script module.</maml:para><maml:para>The first command uses the Get-Module cmdlet to get the available modules. The command uses a pipeline operator (|) to pass the module objects to the Format-Tablee cmdlet, which lists the Name and ModuleType of each module in a table.</maml:para><maml:para>The second command uses the Import-Module cmdlet to import the PSDiagnostics script module. The command uses the AsCustomObject parameter to request a custom object and the PassThru parameter to return the object. The command saves the resulting custom object in the $a variable.</maml:para><maml:para>The third command uses a pipeline operator to send the $a variable to the Get-Member cmdlet, which gets the properties and methods of the PSCustomObject in $a. The output shows a Show-Calendar script method.</maml:para><maml:para>The last command uses the Show-Calendar script method. The method name must be enclosed in quotation marks, because it includes a hyphen.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 8 --------------------------
  
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Import-Module BitsTransfer
PS C:\&gt;Import-Module BitsTransfer -force -Prefix PS
</dev:code><dev:remarks><maml:para>This example shows how to use the Force parameter of Import-Module when you are re-importing a module into the same session.</maml:para><maml:para>The first command imports the BitsTransfer module. The second command imports the module again, this time using the Prefix parameter.</maml:para><maml:para>The second command also includes the Force parameter, which removes the module and then imports it again. Without this parameter, the session would include two copies of each BitsTransfer cmdlet, one with the standard name and one with the prefixed name.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 9 --------------------------
  
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-Date
Thursday, March 15, 2012 6:47:04 PM
 
PS C:\&gt;Import-Module TestModule
 
PS C:\&gt;Get-Date
12075
 
PS C:\&gt;Get-Command Get-Date -All | Format-Table -Property CommandType, Name, ModuleName -AutoSize
 
CommandType Name ModuleName
----------- ---- ----------
Function Get-Date TestModule
Cmdlet Get-Date Microsoft.PowerShell.Utility
 
PS C:\&gt;Microsoft.PowerShell.Utility\Get-Date
Saturday, September 12, 2009 6:33:23 PM
</dev:code><dev:remarks><maml:para>This example shows how to run commands that have been hidden by imported commands.</maml:para><maml:para>The first command run the Get-Date cmdlet. It returns a DateTime object with the current date.</maml:para><maml:para>The second command imports the TestModule module. This module includes a function named Get-Date that returns the year and day of the year.</maml:para><maml:para>The third command runs the Get-Date command again. Because functions take precedence over cmdlets, the Get-Date function from the TestModule module runs, instead of the Get-Date cmdlet.</maml:para><maml:para>The fourth command uses the All parameter of the Get-Command to get all of the Get-Date commands in the session. The results show that there are two Get-Date commands in the session, a function from the TestModule module and a cmdlet from the Microsoft.PowerShell.Utility module.</maml:para><maml:para>The fifth command runs the hidden cmdlet by qualifying the command name with the module name.</maml:para><maml:para>For more information about command precedence in Windows PowerShell, see about_Command_Precedence (http://go.microsoft.com/fwlink/?LinkID=113214).</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 10 --------------------------
  
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Import-Module -Name PSWorkflow -MinimumVersion 3.0.0.0
</dev:code><dev:remarks><maml:para>This command imports the PSWorkflow module. It uses the MinimumVersion (alias=Version) parameter of Import-Module to import only version 3.0.0.0 or greater of the module.</maml:para><maml:para>You can also use the RequiredVersion parameter to import a particular version of a module, or use the Module and Version parameters of the #Requires keyword to require a particular version of a module in a script.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 10 --------------------------
  
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>The first command uses the New-PSSession cmdlet to create a remote session (PSSession) to the Server01 computer. The command saves the PSSession in the $s variable
PS C:\&gt;$s = New-PSSession -ComputerName Server01
 
The second command uses the PSSession parameter of the Get-Module cmdlet to get the NetSecurity module in the session in the $s variable.This command is equivalent to using the Invoke-Command cmdlet to run a Get-Module command in the session in $s (Invoke-Command $s {Get-Module -ListAvailable -Name NetSecurity).The output shows that the NetSecurity module is installed on the computer and is available to the session in the $s variable.
PS C:\&gt;Get-Module -PSSession $s -ListAvailable -Name NetSecurity
ModuleType Name ExportedCommands
---------- ---- ----------------
Manifest NetSecurity {New-NetIPsecAuthProposal, New-NetIPsecMainModeCryptoProposal, New-Ne...
 
The third command uses the PSSession parameter of the Import-Module cmdlet to import the NetSecurity module from the session in the $s variable into the current session.
PS C:\&gt;Import-Module -PSSession $s -Name NetSecurity
 
The fourth command uses the Get-Command cmdlet to get commands that begin with "Get" and include "Firewall" from the Net-Security module.The output gets the commands and confirms that the module and its cmdlets were imported into the current session.
PS C:\&gt;Get-Command -Module NetSecurity -Name Get-*Firewall*
CommandType Name ModuleName
----------- ---- ----------
Function Get-NetFirewallAddressFilter NetSecurity
Function Get-NetFirewallApplicationFilter NetSecurity
Function Get-NetFirewallInterfaceFilter NetSecurity
Function Get-NetFirewallInterfaceTypeFilter NetSecurity
Function Get-NetFirewallPortFilter NetSecurity
Function Get-NetFirewallProfile NetSecurity
Function Get-NetFirewallRule NetSecurity
Function Get-NetFirewallSecurityFilter NetSecurity
Function Get-NetFirewallServiceFilter NetSecurity
Function Get-NetFirewallSetting NetSecurity
 
The fifth command uses the Get-NetFirewallRule cmdlet to get Windows Remote Management firewall rules on the Server01 computer. This command is equivalent to using the Invoke-Command cmdlet to run a Get-NetFirewallRule command on the session in the $s variable (Invoke-Command -Session $s {Get-NetFirewallRule -DisplayName "Windows Remote Management*"}).
PS C:\&gt;Get-NetFirewallRule -DisplayName "Windows Remote Management*" | Format-Table -Property DisplayName, Name -AutoSize
DisplayName Name
----------- ----
Windows Remote Management (HTTP-In) WINRM-HTTP-In-TCP
Windows Remote Management (HTTP-In) WINRM-HTTP-In-TCP-PUBLIC
Windows Remote Management - Compatibility Mode (HTTP-In) WINRM-HTTP-Compat-In-TCP
</dev:code><dev:remarks><maml:para>This example shows how to use the Import-Module cmdlet to import a module from a remote computer. This command uses the Implicit Remoting feature of Windows PowerShell.</maml:para><maml:para>When you import modules from another session, you can use the cmdlets in the current session. However, commands that use the cmdlets actually run in the remote session.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 11 --------------------------
  
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>The first command uses the New-CimSession cmdlet to create a session on the RSDGF03 remote computer. The session connects to WMI on the remote computer. The command saves the CIM session in the $cs variable.
PS C:\&gt;$cs = New-CimSession -ComputerName RSDGF03
 
The second command uses the CIM session in the $cs variable to run an Import-Module command on the RSDGF03 computer. The command uses the Name parameter to specify the Storage CIM module.
PS C:\&gt;Import-Module -CimSession $cs -Name Storage
 
The third command runs the a Get-Command command on the Get-Disk command in the Storage module.When you import a CIM module into the local session, Windows PowerShell converts the CDXML files for each command into Windows PowerShell scripts, which appear as functions in the local session.
PS C:\&gt;Get-Command Get-Disk
CommandType Name ModuleName
----------- ---- ----------
Function Get-Disk Storage
 
The fourth command runs the Get-Disk command. Although the command is typed in the local session, it runs implicitly on the remote computer from which it was imported.The command gets objects from the remote computer and returns them to the local session.
PS C:\&gt;Get-Disk
Number Friendly Name OperationalStatus Total Size Partition Style
------ ------------- ----------------- ---------- ---------------
0 Virtual HD ATA Device Online 40 GB MBR
</dev:code><dev:remarks><maml:para>The commands in this example enable you to manage the storage systems of a remote computer that is not running a Windows operating system. In this example, because the administrator of the computer has installed the Module Discovery WMI provider, the CIM commands can use the default values, which are designed for the provider.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=289591</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Export-ModuleMember</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Get-Module</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>New-Module</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Remove-Module</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Get-Verb</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Modules</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>Invoke-Command</command:name><maml:description><maml:para>Runs commands on local and remote computers.</maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>Invoke</command:verb><command:noun>Command</command:noun><dev:version /></command:details><maml:description><maml:para>The Invoke-Command cmdlet runs commands on a local or remote computer and returns all output from the commands, including errors. With a single Invoke-Command command, you can run commands on multiple computers.</maml:para><maml:para>To run a single command on a remote computer, use the ComputerName parameter. To run a series of related commands that share data, use the New-PSSession cmdlet to create a PSSession (a persistent connection) on the remote computer, and then use the Session parameter of Invoke-Command to run the command in the PSSession. To run a command in a disconnected session, use the InDisconnectedSession parameter. To run a command in a background job, use the AsJob parameter.</maml:para><maml:para>You can also use Invoke-Command on a local computer to evaluate or run a string in a script block as a command. Windows PowerShell converts the script block to a command and runs the command immediately in the current scope, instead of just echoing the string at the command line.</maml:para><maml:para>To start an interactive session with a remote computer, use the Enter-PSSession cmdlet. To establish a persistent connection to a remote computer, use the New-PSSession cmdlet.</maml:para><maml:para>Before using Invoke-Command to run commands on a remote computer, read about_Remote (http://go.microsoft.com/fwlink/?LinkID=135182).</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>Invoke-Command</maml:name><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1" aliases="Command"><maml:name>ScriptBlock</maml:name><maml:description><maml:para>Specifies the commands to run. Enclose the commands in braces ( { } ) to create a script block. This parameter is required.</maml:para><maml:para>By default, any variables in the command are evaluated on the remote computer. To include local variables in the command, use the ArgumentList parameter.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">ScriptBlock</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="Args"><maml:name>ArgumentList</maml:name><maml:description><maml:para>Supplies the values of local variables in the command. The variables in the command are replaced by these values before the command is run on the remote computer. Enter the values in a comma-separated list. Values are associated with variables in the order that they are listed. The alias for ArgumentList is "Args".</maml:para><maml:para>The values in ArgumentList can be actual values, such as "1024", or they can be references to local variables, such as "$max".</maml:para><maml:para>To use local variables in a command, use the following command format:</maml:para><maml:para>{param($&lt;name1&gt;[, $&lt;name2&gt;]...) &lt;command-with-local-variables&gt;} -ArgumentList &lt;value&gt; -or- &lt;local-variable&gt;</maml:para><maml:para>The "param" keyword lists the local variables that are used in the command. The ArgumentList parameter supplies the values of the variables, in the order that they are listed.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Object[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Specifies input to the command. Enter a variable that contains the objects or type a command or expression that gets the objects.</maml:para><maml:para>When using InputObject, use the $input automatic variable in the value of the ScriptBlock parameter to represent the input objects.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>NoNewScope</maml:name><maml:description><maml:para>Runs the specified command in the current scope. By default, Invoke-Command runs commands in their own scope.</maml:para><maml:para>This parameter is valid only in commands that are run in the current session, that is, commands that omit both the ComputerName and Session parameters.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Invoke-Command</maml:name><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="1" aliases="URI,CU"><maml:name>ConnectionUri</maml:name><maml:description><maml:para>Specifies a Uniform Resource Identifier (URI) that defines the connection endpoint of the session. The URI must be fully qualified.</maml:para><maml:para>The format of this string is as follows:
 
&lt;Transport&gt;://&lt;ComputerName&gt;:&lt;Port&gt;/&lt;ApplicationName&gt;
 
The default value is as follows:
 
http://localhost:5985/WSMAN</maml:para><maml:para>If you do not specify a connection URI, you can use the UseSSL and Port parameters to specify the connection URI values.</maml:para><maml:para>Valid values for the Transport segment of the URI are HTTP and HTTPS. If you specify a connection URI with a Transport segment, but do not specify a port, the session is created with standards ports: 80 for HTTP and 443 for HTTPS. To use the default ports for Windows PowerShell remoting, specify port 5985 for HTTP or 5986 for HTTPS.</maml:para><maml:para>If the destination computer redirects the connection to a different URI, Windows PowerShell prevents the redirection unless you use the AllowRedirection parameter in the command.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Uri[]</command:parameterValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="2" aliases="Command"><maml:name>ScriptBlock</maml:name><maml:description><maml:para>Specifies the commands to run. Enclose the commands in braces ( { } ) to create a script block. This parameter is required.</maml:para><maml:para>By default, any variables in the command are evaluated on the remote computer. To include local variables in the command, use the ArgumentList parameter.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">ScriptBlock</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>AllowRedirection</maml:name><maml:description><maml:para>Allows redirection of this connection to an alternate Uniform Resource Identifier (URI).</maml:para><maml:para>When you use the ConnectionURI parameter, the remote destination can return an instruction to redirect to a different URI. By default, Windows PowerShell does not redirect connections, but you can use this parameter to allow it to redirect the connection.</maml:para><maml:para>You can also limit the number of times the connection is redirected by changing the MaximumConnectionRedirectionCount session option value. Use the MaximumRedirection parameter of the New-PSSessionOption cmdlet or set the MaximumConnectionRedirectionCount property of the $PSSessionOption preference variable. The default value is 5.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="Args"><maml:name>ArgumentList</maml:name><maml:description><maml:para>Supplies the values of local variables in the command. The variables in the command are replaced by these values before the command is run on the remote computer. Enter the values in a comma-separated list. Values are associated with variables in the order that they are listed. The alias for ArgumentList is "Args".</maml:para><maml:para>The values in ArgumentList can be actual values, such as "1024", or they can be references to local variables, such as "$max".</maml:para><maml:para>To use local variables in a command, use the following command format:</maml:para><maml:para>{param($&lt;name1&gt;[, $&lt;name2&gt;]...) &lt;command-with-local-variables&gt;} -ArgumentList &lt;value&gt; -or- &lt;local-variable&gt;</maml:para><maml:para>The "param" keyword lists the local variables that are used in the command. The ArgumentList parameter supplies the values of the variables, in the order that they are listed.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Object[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>AsJob</maml:name><maml:description><maml:para>Runs the command as a background job on a remote computer. Use this parameter to run commands that take an extensive time to complete.</maml:para><maml:para>When you use AsJob, the command returns an object that represents the job, and then displays the command prompt. You can continue to work in the session while the job completes. To manage the job, use the Job cmdlets. To get the job results, use the Receive-Job cmdlet.</maml:para><maml:para>The AsJob parameter is similar to using the Invoke-Command cmdlet to run a Start-Job command remotely. However, with AsJob, the job is created on the local computer, even though the job runs on a remote computer, and the results of the remote job are automatically returned to the local computer.</maml:para><maml:para>For more information about Windows PowerShell background jobs, see about_Jobs (http://go.microsoft.com/fwlink/?LinkID=113251) and about_Remote_Jobs (http://go.microsoft.com/fwlink/?LinkID=135184).</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Authentication</maml:name><maml:description><maml:para>Specifies the mechanism that is used to authenticate the user's credentials. Valid values are Default, Basic, Credssp, Digest, Kerberos, Negotiate, and NegotiateWithImplicitCredential. The default value is Default.</maml:para><maml:para>CredSSP authentication is available only in Windows Vista, Windows Server 2008, and later versions of Windows.</maml:para><maml:para>For information about the values of this parameter, see the description of the System.Management.Automation.Runspaces.AuthenticationMechanism enumeration in MSDN.</maml:para><maml:para>CAUTION: Credential Security Support Provider (CredSSP) authentication, in which the user's credentials are passed to a remote computer to be authenticated, is designed for commands that require authentication on more than one resource, such as accessing a remote network share. This mechanism increases the security risk of the remote operation. If the remote computer is compromised, the credentials that are passed to it can be used to control the network session.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">AuthenticationMechanism</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CertificateThumbprint</maml:name><maml:description><maml:para>Specifies the digital public key certificate (X509) of a user account that has permission to perform this action. Enter the certificate thumbprint of the certificate.</maml:para><maml:para>Certificates are used in client certificate-based authentication. They can only be mapped to local user accounts; they do not work with domain accounts.</maml:para><maml:para>To get a certificate, use the Get-Item or Get-ChildItem commands in the Windows PowerShell Cert: drive.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>ConfigurationName</maml:name><maml:description><maml:para>Specifies the session configuration that is used for the new PSSession.</maml:para><maml:para>Enter a configuration name or the fully qualified resource URI for a session configuration. If you specify only the configuration name, the following schema URI is prepended: http://schemas.microsoft.com/PowerShell.</maml:para><maml:para>The session configuration for a session is located on the remote computer. If the specified session configuration does not exist on the remote computer, the command fails.</maml:para><maml:para>The default value is the value of the $PSSessionConfigurationName preference variable on the local computer. If this preference variable is not set, the default is Microsoft.PowerShell. For more information, see about_preference_variables.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>Credential</maml:name><maml:description><maml:para>Specifies a user account that has permission to perform this action. The default is the current user.</maml:para><maml:para>Type a user name, such as "User01" or "Domain01\User01", or enter a variable that contains a PSCredential object, such as one generated by the Get-Credential cmdlet. When you type a user name, you will be prompted for a password.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>EnableNetworkAccess</maml:name><maml:description><maml:para>Adds an interactive security token to loopback sessions. The interactive token lets you run commands in the loopback session that get data from other computers. For example, you can run a command in the session that copies XML files from a remote computer to the local computer.</maml:para><maml:para>A "loopback session" is a PSSession that originates and terminates on the same computer. To create a loopback session, omit the ComputerName parameter or set its value to ".", "localhost", or the name of the local computer.</maml:para><maml:para>By default, loopback sessions are created with a network token, which might not provide sufficient permission to authenticate to remote computers.</maml:para><maml:para>The EnableNetworkAccess parameter is effective only in loopback sessions. If you use the EnableNetworkAccess parameter when creating a session on a remote computer, the command succeeds, but the parameter is ignored.</maml:para><maml:para>You can also allow remote access in a loopback session by using the CredSSP value of the Authentication parameter, which delegates the session credentials to other computers.</maml:para><maml:para>To protect the computer from malicious access, disconnected loopback sessions that have interactive tokens (those created with the EnableNetworkAccess parameter) can be reconnected only from the computer on which the session was created. Disconnected sessions that use CredSSP authentication can be reconnected from other computers. For more information, see Disconnect-PSSession.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="HCN"><maml:name>HideComputerName</maml:name><maml:description><maml:para>Omits the computer name of each object from the output display. By default, the name of the computer that generated the object appears in the display.</maml:para><maml:para>This parameter affects only the output display. It does not change the object.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="Disconnected"><maml:name>InDisconnectedSession</maml:name><maml:description><maml:para>Runs a command or script in a disconnected session.</maml:para><maml:para>When you use the InDisconnectedSession parameter, Invoke-Command creates a persistent session on each remote computer, starts the command specified by the ScriptBlock or FilePath parameter, and then disconnects from the session. The commands continue to run in the disconnected sessions.The InDisconnectedSession parameter enables you to run commands without maintaining a connection to the remote sessions. Also, because the session is disconnected before any results are returned, the InDisconnectedSession parameter assures that all command results are returned to the reconnected session, instead of being split between sessions.</maml:para><maml:para>You cannot use the InDisconnectedSession parameter with the Session parameter or the AsJob parameter.</maml:para><maml:para>Commands that use the InDisconnectedSession parameter return a PSSession object that represents the disconnected session. They do not return the command output. To connect to the disconnected session, use the Connect-PSSession or Receive-PSSession cmdlets. To get the results of commands that ran in the session, use the Receive-PSSession cmdlet.To run commands that generate output in a disconnected session, set the value of the OutputBufferingMode session option to Drop. If you intend to connect to the disconnected session, set the idle timeout in the session so that it provides sufficient time for you to connect before deleting the session.</maml:para><maml:para>You can set the output buffering mode and idle timeout in the SessionOption parameter or in the $PSSessionOption preference variable. For more information about session options, see New-PSSessionOption and about_Preference_Variables.</maml:para><maml:para>For more information about the Disconnected Sessions feature, see about_Remote_Disconnected_Sessions.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Specifies input to the command. Enter a variable that contains the objects or type a command or expression that gets the objects.</maml:para><maml:para>When using InputObject, use the $input automatic variable in the value of the ScriptBlock parameter to represent the input objects.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>JobName</maml:name><maml:description><maml:para>Specifies a friendly name for the background job. By default, jobs are named "Job&lt;n&gt;", where &lt;n&gt; is an ordinal number.</maml:para><maml:para>If you use the JobName parameter in a command, the command is run as a job, and Invoke-Command returns a job object, even if you do not include the AsJob parameter in the command.</maml:para><maml:para>For more information about Windows PowerShell background jobs, see about_Jobs (http://go.microsoft.com/fwlink/?LinkID=113251).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SessionOption</maml:name><maml:description><maml:para>Sets advanced options for the session. Enter a SessionOption object, such as one that you create by using the New-PSSessionOption cmdlet, or a hash table in which the keys are session option names and the values are session option values.</maml:para><maml:para>The default values for the options are determined by the value of the $PSSessionOption preference variable, if it is set. Otherwise, the default values are established by options set in the session configuration.</maml:para><maml:para>The session option values take precedence over default values for sessions set in the $PSSessionOption preference variable and in the session configuration. However, they do not take precedence over maximum values, quotas or limits set in the session configuration. </maml:para><maml:para>For a description of the session options, including the default values, see New-PSSessionOption. For information about the $PSSessionOption preference variable, see about_Preference_Variables (http://go.microsoft.com/fwlink/?LinkID=113248). For more information about session configurations, see about_Session_Configurations (http://go.microsoft.com/fwlink/?LinkID=145152).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSSessionOption</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ThrottleLimit</maml:name><maml:description><maml:para>Specifies the maximum number of concurrent connections that can be established to run this command. If you omit this parameter or enter a value of 0, the default value, 32, is used.</maml:para><maml:para>The throttle limit applies only to the current command, not to the session or to the computer.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Invoke-Command</maml:name><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="1" aliases="URI,CU"><maml:name>ConnectionUri</maml:name><maml:description><maml:para>Specifies a Uniform Resource Identifier (URI) that defines the connection endpoint of the session. The URI must be fully qualified.</maml:para><maml:para>The format of this string is as follows:
 
&lt;Transport&gt;://&lt;ComputerName&gt;:&lt;Port&gt;/&lt;ApplicationName&gt;
 
The default value is as follows:
 
http://localhost:5985/WSMAN</maml:para><maml:para>If you do not specify a connection URI, you can use the UseSSL and Port parameters to specify the connection URI values.</maml:para><maml:para>Valid values for the Transport segment of the URI are HTTP and HTTPS. If you specify a connection URI with a Transport segment, but do not specify a port, the session is created with standards ports: 80 for HTTP and 443 for HTTPS. To use the default ports for Windows PowerShell remoting, specify port 5985 for HTTP or 5986 for HTTPS.</maml:para><maml:para>If the destination computer redirects the connection to a different URI, Windows PowerShell prevents the redirection unless you use the AllowRedirection parameter in the command.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Uri[]</command:parameterValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="2" aliases="PSPath"><maml:name>FilePath</maml:name><maml:description><maml:para>Runs the specified local script on one or more remote computers. Enter the path and file name of the script, or pipe a script path to Invoke-Command. The script must reside on the local computer or in a directory that the local computer can access. Use the ArgumentList parameter to specify the values of parameters in the script.</maml:para><maml:para>When you use this parameter, Windows PowerShell converts the contents of the specified script file to a script block, transmits the script block to the remote computer, and runs it on the remote computer.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>AllowRedirection</maml:name><maml:description><maml:para>Allows redirection of this connection to an alternate Uniform Resource Identifier (URI).</maml:para><maml:para>When you use the ConnectionURI parameter, the remote destination can return an instruction to redirect to a different URI. By default, Windows PowerShell does not redirect connections, but you can use this parameter to allow it to redirect the connection.</maml:para><maml:para>You can also limit the number of times the connection is redirected by changing the MaximumConnectionRedirectionCount session option value. Use the MaximumRedirection parameter of the New-PSSessionOption cmdlet or set the MaximumConnectionRedirectionCount property of the $PSSessionOption preference variable. The default value is 5.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="Args"><maml:name>ArgumentList</maml:name><maml:description><maml:para>Supplies the values of local variables in the command. The variables in the command are replaced by these values before the command is run on the remote computer. Enter the values in a comma-separated list. Values are associated with variables in the order that they are listed. The alias for ArgumentList is "Args".</maml:para><maml:para>The values in ArgumentList can be actual values, such as "1024", or they can be references to local variables, such as "$max".</maml:para><maml:para>To use local variables in a command, use the following command format:</maml:para><maml:para>{param($&lt;name1&gt;[, $&lt;name2&gt;]...) &lt;command-with-local-variables&gt;} -ArgumentList &lt;value&gt; -or- &lt;local-variable&gt;</maml:para><maml:para>The "param" keyword lists the local variables that are used in the command. The ArgumentList parameter supplies the values of the variables, in the order that they are listed.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Object[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>AsJob</maml:name><maml:description><maml:para>Runs the command as a background job on a remote computer. Use this parameter to run commands that take an extensive time to complete.</maml:para><maml:para>When you use AsJob, the command returns an object that represents the job, and then displays the command prompt. You can continue to work in the session while the job completes. To manage the job, use the Job cmdlets. To get the job results, use the Receive-Job cmdlet.</maml:para><maml:para>The AsJob parameter is similar to using the Invoke-Command cmdlet to run a Start-Job command remotely. However, with AsJob, the job is created on the local computer, even though the job runs on a remote computer, and the results of the remote job are automatically returned to the local computer.</maml:para><maml:para>For more information about Windows PowerShell background jobs, see about_Jobs (http://go.microsoft.com/fwlink/?LinkID=113251) and about_Remote_Jobs (http://go.microsoft.com/fwlink/?LinkID=135184).</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Authentication</maml:name><maml:description><maml:para>Specifies the mechanism that is used to authenticate the user's credentials. Valid values are Default, Basic, Credssp, Digest, Kerberos, Negotiate, and NegotiateWithImplicitCredential. The default value is Default.</maml:para><maml:para>CredSSP authentication is available only in Windows Vista, Windows Server 2008, and later versions of Windows.</maml:para><maml:para>For information about the values of this parameter, see the description of the System.Management.Automation.Runspaces.AuthenticationMechanism enumeration in MSDN.</maml:para><maml:para>CAUTION: Credential Security Support Provider (CredSSP) authentication, in which the user's credentials are passed to a remote computer to be authenticated, is designed for commands that require authentication on more than one resource, such as accessing a remote network share. This mechanism increases the security risk of the remote operation. If the remote computer is compromised, the credentials that are passed to it can be used to control the network session.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">AuthenticationMechanism</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>ConfigurationName</maml:name><maml:description><maml:para>Specifies the session configuration that is used for the new PSSession.</maml:para><maml:para>Enter a configuration name or the fully qualified resource URI for a session configuration. If you specify only the configuration name, the following schema URI is prepended: http://schemas.microsoft.com/PowerShell.</maml:para><maml:para>The session configuration for a session is located on the remote computer. If the specified session configuration does not exist on the remote computer, the command fails.</maml:para><maml:para>The default value is the value of the $PSSessionConfigurationName preference variable on the local computer. If this preference variable is not set, the default is Microsoft.PowerShell. For more information, see about_preference_variables.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>Credential</maml:name><maml:description><maml:para>Specifies a user account that has permission to perform this action. The default is the current user.</maml:para><maml:para>Type a user name, such as "User01" or "Domain01\User01", or enter a variable that contains a PSCredential object, such as one generated by the Get-Credential cmdlet. When you type a user name, you will be prompted for a password.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>EnableNetworkAccess</maml:name><maml:description><maml:para>Adds an interactive security token to loopback sessions. The interactive token lets you run commands in the loopback session that get data from other computers. For example, you can run a command in the session that copies XML files from a remote computer to the local computer.</maml:para><maml:para>A "loopback session" is a PSSession that originates and terminates on the same computer. To create a loopback session, omit the ComputerName parameter or set its value to ".", "localhost", or the name of the local computer.</maml:para><maml:para>By default, loopback sessions are created with a network token, which might not provide sufficient permission to authenticate to remote computers.</maml:para><maml:para>The EnableNetworkAccess parameter is effective only in loopback sessions. If you use the EnableNetworkAccess parameter when creating a session on a remote computer, the command succeeds, but the parameter is ignored.</maml:para><maml:para>You can also allow remote access in a loopback session by using the CredSSP value of the Authentication parameter, which delegates the session credentials to other computers.</maml:para><maml:para>To protect the computer from malicious access, disconnected loopback sessions that have interactive tokens (those created with the EnableNetworkAccess parameter) can be reconnected only from the computer on which the session was created. Disconnected sessions that use CredSSP authentication can be reconnected from other computers. For more information, see Disconnect-PSSession.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="HCN"><maml:name>HideComputerName</maml:name><maml:description><maml:para>Omits the computer name of each object from the output display. By default, the name of the computer that generated the object appears in the display.</maml:para><maml:para>This parameter affects only the output display. It does not change the object.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="Disconnected"><maml:name>InDisconnectedSession</maml:name><maml:description><maml:para>Runs a command or script in a disconnected session.</maml:para><maml:para>When you use the InDisconnectedSession parameter, Invoke-Command creates a persistent session on each remote computer, starts the command specified by the ScriptBlock or FilePath parameter, and then disconnects from the session. The commands continue to run in the disconnected sessions.The InDisconnectedSession parameter enables you to run commands without maintaining a connection to the remote sessions. Also, because the session is disconnected before any results are returned, the InDisconnectedSession parameter assures that all command results are returned to the reconnected session, instead of being split between sessions.</maml:para><maml:para>You cannot use the InDisconnectedSession parameter with the Session parameter or the AsJob parameter.</maml:para><maml:para>Commands that use the InDisconnectedSession parameter return a PSSession object that represents the disconnected session. They do not return the command output. To connect to the disconnected session, use the Connect-PSSession or Receive-PSSession cmdlets. To get the results of commands that ran in the session, use the Receive-PSSession cmdlet.To run commands that generate output in a disconnected session, set the value of the OutputBufferingMode session option to Drop. If you intend to connect to the disconnected session, set the idle timeout in the session so that it provides sufficient time for you to connect before deleting the session.</maml:para><maml:para>You can set the output buffering mode and idle timeout in the SessionOption parameter or in the $PSSessionOption preference variable. For more information about session options, see New-PSSessionOption and about_Preference_Variables.</maml:para><maml:para>For more information about the Disconnected Sessions feature, see about_Remote_Disconnected_Sessions.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Specifies input to the command. Enter a variable that contains the objects or type a command or expression that gets the objects.</maml:para><maml:para>When using InputObject, use the $input automatic variable in the value of the ScriptBlock parameter to represent the input objects.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>JobName</maml:name><maml:description><maml:para>Specifies a friendly name for the background job. By default, jobs are named "Job&lt;n&gt;", where &lt;n&gt; is an ordinal number.</maml:para><maml:para>If you use the JobName parameter in a command, the command is run as a job, and Invoke-Command returns a job object, even if you do not include the AsJob parameter in the command.</maml:para><maml:para>For more information about Windows PowerShell background jobs, see about_Jobs (http://go.microsoft.com/fwlink/?LinkID=113251).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SessionOption</maml:name><maml:description><maml:para>Sets advanced options for the session. Enter a SessionOption object, such as one that you create by using the New-PSSessionOption cmdlet, or a hash table in which the keys are session option names and the values are session option values.</maml:para><maml:para>The default values for the options are determined by the value of the $PSSessionOption preference variable, if it is set. Otherwise, the default values are established by options set in the session configuration.</maml:para><maml:para>The session option values take precedence over default values for sessions set in the $PSSessionOption preference variable and in the session configuration. However, they do not take precedence over maximum values, quotas or limits set in the session configuration. </maml:para><maml:para>For a description of the session options, including the default values, see New-PSSessionOption. For information about the $PSSessionOption preference variable, see about_Preference_Variables (http://go.microsoft.com/fwlink/?LinkID=113248). For more information about session configurations, see about_Session_Configurations (http://go.microsoft.com/fwlink/?LinkID=145152).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSSessionOption</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ThrottleLimit</maml:name><maml:description><maml:para>Specifies the maximum number of concurrent connections that can be established to run this command. If you omit this parameter or enter a value of 0, the default value, 32, is used.</maml:para><maml:para>The throttle limit applies only to the current command, not to the session or to the computer.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Invoke-Command</maml:name><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="1" aliases="Cn"><maml:name>ComputerName</maml:name><maml:description><maml:para>Specifies the computers on which the command runs. The default is the local computer.</maml:para><maml:para>When you use the ComputerName parameter, Windows PowerShell creates a temporary connection that is used only to run the specified command and is then closed. If you need a persistent connection, use the Session parameter.</maml:para><maml:para>Type the NETBIOS name, IP address, or fully-qualified domain name of one or more computers in a comma-separated list. To specify the local computer, type the computer name, "localhost", or a dot (.).</maml:para><maml:para>To use an IP address in the value of the ComputerName parameter, the command must include the Credential parameter. Also, the computer must be configured for HTTPS transport or the IP address of the remote computer must be included in the WinRM TrustedHosts list on the local computer. For instructions for adding a computer name to the TrustedHosts list, see "How to Add a Computer to the Trusted Host List" in about_Remote_Troubleshooting.</maml:para><maml:para>Note: On Windows Vista, and later versions of Windows, to include the local computer in the value of the ComputerName parameter, you must open Windows PowerShell with the "Run as administrator" option.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="2" aliases="PSPath"><maml:name>FilePath</maml:name><maml:description><maml:para>Runs the specified local script on one or more remote computers. Enter the path and file name of the script, or pipe a script path to Invoke-Command. The script must reside on the local computer or in a directory that the local computer can access. Use the ArgumentList parameter to specify the values of parameters in the script.</maml:para><maml:para>When you use this parameter, Windows PowerShell converts the contents of the specified script file to a script block, transmits the script block to the remote computer, and runs it on the remote computer.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>ApplicationName</maml:name><maml:description><maml:para>Specifies the application name segment of the connection URI. Use this parameter to specify the application name when you are not using the ConnectionURI parameter in the command.</maml:para><maml:para>The default value is the value of the $PSSessionApplicationName preference variable on the local computer. If this preference variable is not defined, the default value is WSMAN. This value is appropriate for most uses. For more information, see about_Preference_Variables (http://go.microsoft.com/fwlink/?LinkID=113248).</maml:para><maml:para>The WinRM service uses the application name to select a listener to service the connection request. The value of this parameter should match the value of the URLPrefix property of a listener on the remote computer.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="Args"><maml:name>ArgumentList</maml:name><maml:description><maml:para>Supplies the values of local variables in the command. The variables in the command are replaced by these values before the command is run on the remote computer. Enter the values in a comma-separated list. Values are associated with variables in the order that they are listed. The alias for ArgumentList is "Args".</maml:para><maml:para>The values in ArgumentList can be actual values, such as "1024", or they can be references to local variables, such as "$max".</maml:para><maml:para>To use local variables in a command, use the following command format:</maml:para><maml:para>{param($&lt;name1&gt;[, $&lt;name2&gt;]...) &lt;command-with-local-variables&gt;} -ArgumentList &lt;value&gt; -or- &lt;local-variable&gt;</maml:para><maml:para>The "param" keyword lists the local variables that are used in the command. The ArgumentList parameter supplies the values of the variables, in the order that they are listed.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Object[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>AsJob</maml:name><maml:description><maml:para>Runs the command as a background job on a remote computer. Use this parameter to run commands that take an extensive time to complete.</maml:para><maml:para>When you use AsJob, the command returns an object that represents the job, and then displays the command prompt. You can continue to work in the session while the job completes. To manage the job, use the Job cmdlets. To get the job results, use the Receive-Job cmdlet.</maml:para><maml:para>The AsJob parameter is similar to using the Invoke-Command cmdlet to run a Start-Job command remotely. However, with AsJob, the job is created on the local computer, even though the job runs on a remote computer, and the results of the remote job are automatically returned to the local computer.</maml:para><maml:para>For more information about Windows PowerShell background jobs, see about_Jobs (http://go.microsoft.com/fwlink/?LinkID=113251) and about_Remote_Jobs (http://go.microsoft.com/fwlink/?LinkID=135184).</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Authentication</maml:name><maml:description><maml:para>Specifies the mechanism that is used to authenticate the user's credentials. Valid values are Default, Basic, Credssp, Digest, Kerberos, Negotiate, and NegotiateWithImplicitCredential. The default value is Default.</maml:para><maml:para>CredSSP authentication is available only in Windows Vista, Windows Server 2008, and later versions of Windows.</maml:para><maml:para>For information about the values of this parameter, see the description of the System.Management.Automation.Runspaces.AuthenticationMechanism enumeration in MSDN.</maml:para><maml:para>CAUTION: Credential Security Support Provider (CredSSP) authentication, in which the user's credentials are passed to a remote computer to be authenticated, is designed for commands that require authentication on more than one resource, such as accessing a remote network share. This mechanism increases the security risk of the remote operation. If the remote computer is compromised, the credentials that are passed to it can be used to control the network session.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">AuthenticationMechanism</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>ConfigurationName</maml:name><maml:description><maml:para>Specifies the session configuration that is used for the new PSSession.</maml:para><maml:para>Enter a configuration name or the fully qualified resource URI for a session configuration. If you specify only the configuration name, the following schema URI is prepended: http://schemas.microsoft.com/PowerShell.</maml:para><maml:para>The session configuration for a session is located on the remote computer. If the specified session configuration does not exist on the remote computer, the command fails.</maml:para><maml:para>The default value is the value of the $PSSessionConfigurationName preference variable on the local computer. If this preference variable is not set, the default is Microsoft.PowerShell. For more information, see about_preference_variables.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>Credential</maml:name><maml:description><maml:para>Specifies a user account that has permission to perform this action. The default is the current user.</maml:para><maml:para>Type a user name, such as "User01" or "Domain01\User01", or enter a variable that contains a PSCredential object, such as one generated by the Get-Credential cmdlet. When you type a user name, you will be prompted for a password.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>EnableNetworkAccess</maml:name><maml:description><maml:para>Adds an interactive security token to loopback sessions. The interactive token lets you run commands in the loopback session that get data from other computers. For example, you can run a command in the session that copies XML files from a remote computer to the local computer.</maml:para><maml:para>A "loopback session" is a PSSession that originates and terminates on the same computer. To create a loopback session, omit the ComputerName parameter or set its value to ".", "localhost", or the name of the local computer.</maml:para><maml:para>By default, loopback sessions are created with a network token, which might not provide sufficient permission to authenticate to remote computers.</maml:para><maml:para>The EnableNetworkAccess parameter is effective only in loopback sessions. If you use the EnableNetworkAccess parameter when creating a session on a remote computer, the command succeeds, but the parameter is ignored.</maml:para><maml:para>You can also allow remote access in a loopback session by using the CredSSP value of the Authentication parameter, which delegates the session credentials to other computers.</maml:para><maml:para>To protect the computer from malicious access, disconnected loopback sessions that have interactive tokens (those created with the EnableNetworkAccess parameter) can be reconnected only from the computer on which the session was created. Disconnected sessions that use CredSSP authentication can be reconnected from other computers. For more information, see Disconnect-PSSession.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="HCN"><maml:name>HideComputerName</maml:name><maml:description><maml:para>Omits the computer name of each object from the output display. By default, the name of the computer that generated the object appears in the display.</maml:para><maml:para>This parameter affects only the output display. It does not change the object.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="Disconnected"><maml:name>InDisconnectedSession</maml:name><maml:description><maml:para>Runs a command or script in a disconnected session.</maml:para><maml:para>When you use the InDisconnectedSession parameter, Invoke-Command creates a persistent session on each remote computer, starts the command specified by the ScriptBlock or FilePath parameter, and then disconnects from the session. The commands continue to run in the disconnected sessions.The InDisconnectedSession parameter enables you to run commands without maintaining a connection to the remote sessions. Also, because the session is disconnected before any results are returned, the InDisconnectedSession parameter assures that all command results are returned to the reconnected session, instead of being split between sessions.</maml:para><maml:para>You cannot use the InDisconnectedSession parameter with the Session parameter or the AsJob parameter.</maml:para><maml:para>Commands that use the InDisconnectedSession parameter return a PSSession object that represents the disconnected session. They do not return the command output. To connect to the disconnected session, use the Connect-PSSession or Receive-PSSession cmdlets. To get the results of commands that ran in the session, use the Receive-PSSession cmdlet.To run commands that generate output in a disconnected session, set the value of the OutputBufferingMode session option to Drop. If you intend to connect to the disconnected session, set the idle timeout in the session so that it provides sufficient time for you to connect before deleting the session.</maml:para><maml:para>You can set the output buffering mode and idle timeout in the SessionOption parameter or in the $PSSessionOption preference variable. For more information about session options, see New-PSSessionOption and about_Preference_Variables.</maml:para><maml:para>For more information about the Disconnected Sessions feature, see about_Remote_Disconnected_Sessions.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Specifies input to the command. Enter a variable that contains the objects or type a command or expression that gets the objects.</maml:para><maml:para>When using InputObject, use the $input automatic variable in the value of the ScriptBlock parameter to represent the input objects.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>JobName</maml:name><maml:description><maml:para>Specifies a friendly name for the background job. By default, jobs are named "Job&lt;n&gt;", where &lt;n&gt; is an ordinal number.</maml:para><maml:para>If you use the JobName parameter in a command, the command is run as a job, and Invoke-Command returns a job object, even if you do not include the AsJob parameter in the command.</maml:para><maml:para>For more information about Windows PowerShell background jobs, see about_Jobs (http://go.microsoft.com/fwlink/?LinkID=113251).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Port</maml:name><maml:description><maml:para>Specifies the network port on the remote computer used for this command. To connect to a remote computer, the remote computer must be listening on the port that the connection uses. The default ports are 5985 (the WinRM port for HTTP) and 5986 (the WinRM port for HTTPS).</maml:para><maml:para>Before using an alternate port, configure the WinRM listener on the remote computer to listen at that port. To configure the listener, type the following two commands at the Windows PowerShell prompt:</maml:para><maml:para>Remove-Item -Path WSMan:\Localhost\listener\listener* -Recurse</maml:para><maml:para>New-Item -Path WSMan:\Localhost\listener -Transport http -Address * -Port &lt;port-number&gt;</maml:para><maml:para>Do not use the Port parameter unless you must. The port that is set in the command applies to all computers or sessions on which the command runs. An alternate port setting might prevent the command from running on all computers.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SessionName</maml:name><maml:description><maml:para>Specifies a friendly name for a disconnected session. You can use the name to refer to the session in subsequent commands, such as a Get-PSSession command. This parameter is valid only with the InDisconnectedSession parameter.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SessionOption</maml:name><maml:description><maml:para>Sets advanced options for the session. Enter a SessionOption object, such as one that you create by using the New-PSSessionOption cmdlet, or a hash table in which the keys are session option names and the values are session option values.</maml:para><maml:para>The default values for the options are determined by the value of the $PSSessionOption preference variable, if it is set. Otherwise, the default values are established by options set in the session configuration.</maml:para><maml:para>The session option values take precedence over default values for sessions set in the $PSSessionOption preference variable and in the session configuration. However, they do not take precedence over maximum values, quotas or limits set in the session configuration. </maml:para><maml:para>For a description of the session options, including the default values, see New-PSSessionOption. For information about the $PSSessionOption preference variable, see about_Preference_Variables (http://go.microsoft.com/fwlink/?LinkID=113248). For more information about session configurations, see about_Session_Configurations (http://go.microsoft.com/fwlink/?LinkID=145152).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSSessionOption</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ThrottleLimit</maml:name><maml:description><maml:para>Specifies the maximum number of concurrent connections that can be established to run this command. If you omit this parameter or enter a value of 0, the default value, 32, is used.</maml:para><maml:para>The throttle limit applies only to the current command, not to the session or to the computer.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>UseSSL</maml:name><maml:description><maml:para>Uses the Secure Sockets Layer (SSL) protocol to establish a connection to the remote computer. By default, SSL is not used.</maml:para><maml:para>WS-Management encrypts all Windows PowerShell content transmitted over the network. UseSSL is an additional protection that sends the data across an HTTPS, instead of HTTP.</maml:para><maml:para>If you use this parameter, but SSL is not available on the port used for the command, the command fails.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Invoke-Command</maml:name><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="1" aliases="Cn"><maml:name>ComputerName</maml:name><maml:description><maml:para>Specifies the computers on which the command runs. The default is the local computer.</maml:para><maml:para>When you use the ComputerName parameter, Windows PowerShell creates a temporary connection that is used only to run the specified command and is then closed. If you need a persistent connection, use the Session parameter.</maml:para><maml:para>Type the NETBIOS name, IP address, or fully-qualified domain name of one or more computers in a comma-separated list. To specify the local computer, type the computer name, "localhost", or a dot (.).</maml:para><maml:para>To use an IP address in the value of the ComputerName parameter, the command must include the Credential parameter. Also, the computer must be configured for HTTPS transport or the IP address of the remote computer must be included in the WinRM TrustedHosts list on the local computer. For instructions for adding a computer name to the TrustedHosts list, see "How to Add a Computer to the Trusted Host List" in about_Remote_Troubleshooting.</maml:para><maml:para>Note: On Windows Vista, and later versions of Windows, to include the local computer in the value of the ComputerName parameter, you must open Windows PowerShell with the "Run as administrator" option.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="2" aliases="Command"><maml:name>ScriptBlock</maml:name><maml:description><maml:para>Specifies the commands to run. Enclose the commands in braces ( { } ) to create a script block. This parameter is required.</maml:para><maml:para>By default, any variables in the command are evaluated on the remote computer. To include local variables in the command, use the ArgumentList parameter.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">ScriptBlock</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>ApplicationName</maml:name><maml:description><maml:para>Specifies the application name segment of the connection URI. Use this parameter to specify the application name when you are not using the ConnectionURI parameter in the command.</maml:para><maml:para>The default value is the value of the $PSSessionApplicationName preference variable on the local computer. If this preference variable is not defined, the default value is WSMAN. This value is appropriate for most uses. For more information, see about_Preference_Variables (http://go.microsoft.com/fwlink/?LinkID=113248).</maml:para><maml:para>The WinRM service uses the application name to select a listener to service the connection request. The value of this parameter should match the value of the URLPrefix property of a listener on the remote computer.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="Args"><maml:name>ArgumentList</maml:name><maml:description><maml:para>Supplies the values of local variables in the command. The variables in the command are replaced by these values before the command is run on the remote computer. Enter the values in a comma-separated list. Values are associated with variables in the order that they are listed. The alias for ArgumentList is "Args".</maml:para><maml:para>The values in ArgumentList can be actual values, such as "1024", or they can be references to local variables, such as "$max".</maml:para><maml:para>To use local variables in a command, use the following command format:</maml:para><maml:para>{param($&lt;name1&gt;[, $&lt;name2&gt;]...) &lt;command-with-local-variables&gt;} -ArgumentList &lt;value&gt; -or- &lt;local-variable&gt;</maml:para><maml:para>The "param" keyword lists the local variables that are used in the command. The ArgumentList parameter supplies the values of the variables, in the order that they are listed.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Object[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>AsJob</maml:name><maml:description><maml:para>Runs the command as a background job on a remote computer. Use this parameter to run commands that take an extensive time to complete.</maml:para><maml:para>When you use AsJob, the command returns an object that represents the job, and then displays the command prompt. You can continue to work in the session while the job completes. To manage the job, use the Job cmdlets. To get the job results, use the Receive-Job cmdlet.</maml:para><maml:para>The AsJob parameter is similar to using the Invoke-Command cmdlet to run a Start-Job command remotely. However, with AsJob, the job is created on the local computer, even though the job runs on a remote computer, and the results of the remote job are automatically returned to the local computer.</maml:para><maml:para>For more information about Windows PowerShell background jobs, see about_Jobs (http://go.microsoft.com/fwlink/?LinkID=113251) and about_Remote_Jobs (http://go.microsoft.com/fwlink/?LinkID=135184).</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Authentication</maml:name><maml:description><maml:para>Specifies the mechanism that is used to authenticate the user's credentials. Valid values are Default, Basic, Credssp, Digest, Kerberos, Negotiate, and NegotiateWithImplicitCredential. The default value is Default.</maml:para><maml:para>CredSSP authentication is available only in Windows Vista, Windows Server 2008, and later versions of Windows.</maml:para><maml:para>For information about the values of this parameter, see the description of the System.Management.Automation.Runspaces.AuthenticationMechanism enumeration in MSDN.</maml:para><maml:para>CAUTION: Credential Security Support Provider (CredSSP) authentication, in which the user's credentials are passed to a remote computer to be authenticated, is designed for commands that require authentication on more than one resource, such as accessing a remote network share. This mechanism increases the security risk of the remote operation. If the remote computer is compromised, the credentials that are passed to it can be used to control the network session.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">AuthenticationMechanism</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CertificateThumbprint</maml:name><maml:description><maml:para>Specifies the digital public key certificate (X509) of a user account that has permission to perform this action. Enter the certificate thumbprint of the certificate.</maml:para><maml:para>Certificates are used in client certificate-based authentication. They can only be mapped to local user accounts; they do not work with domain accounts.</maml:para><maml:para>To get a certificate, use the Get-Item or Get-ChildItem commands in the Windows PowerShell Cert: drive.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>ConfigurationName</maml:name><maml:description><maml:para>Specifies the session configuration that is used for the new PSSession.</maml:para><maml:para>Enter a configuration name or the fully qualified resource URI for a session configuration. If you specify only the configuration name, the following schema URI is prepended: http://schemas.microsoft.com/PowerShell.</maml:para><maml:para>The session configuration for a session is located on the remote computer. If the specified session configuration does not exist on the remote computer, the command fails.</maml:para><maml:para>The default value is the value of the $PSSessionConfigurationName preference variable on the local computer. If this preference variable is not set, the default is Microsoft.PowerShell. For more information, see about_preference_variables.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>Credential</maml:name><maml:description><maml:para>Specifies a user account that has permission to perform this action. The default is the current user.</maml:para><maml:para>Type a user name, such as "User01" or "Domain01\User01", or enter a variable that contains a PSCredential object, such as one generated by the Get-Credential cmdlet. When you type a user name, you will be prompted for a password.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>EnableNetworkAccess</maml:name><maml:description><maml:para>Adds an interactive security token to loopback sessions. The interactive token lets you run commands in the loopback session that get data from other computers. For example, you can run a command in the session that copies XML files from a remote computer to the local computer.</maml:para><maml:para>A "loopback session" is a PSSession that originates and terminates on the same computer. To create a loopback session, omit the ComputerName parameter or set its value to ".", "localhost", or the name of the local computer.</maml:para><maml:para>By default, loopback sessions are created with a network token, which might not provide sufficient permission to authenticate to remote computers.</maml:para><maml:para>The EnableNetworkAccess parameter is effective only in loopback sessions. If you use the EnableNetworkAccess parameter when creating a session on a remote computer, the command succeeds, but the parameter is ignored.</maml:para><maml:para>You can also allow remote access in a loopback session by using the CredSSP value of the Authentication parameter, which delegates the session credentials to other computers.</maml:para><maml:para>To protect the computer from malicious access, disconnected loopback sessions that have interactive tokens (those created with the EnableNetworkAccess parameter) can be reconnected only from the computer on which the session was created. Disconnected sessions that use CredSSP authentication can be reconnected from other computers. For more information, see Disconnect-PSSession.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="HCN"><maml:name>HideComputerName</maml:name><maml:description><maml:para>Omits the computer name of each object from the output display. By default, the name of the computer that generated the object appears in the display.</maml:para><maml:para>This parameter affects only the output display. It does not change the object.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="Disconnected"><maml:name>InDisconnectedSession</maml:name><maml:description><maml:para>Runs a command or script in a disconnected session.</maml:para><maml:para>When you use the InDisconnectedSession parameter, Invoke-Command creates a persistent session on each remote computer, starts the command specified by the ScriptBlock or FilePath parameter, and then disconnects from the session. The commands continue to run in the disconnected sessions.The InDisconnectedSession parameter enables you to run commands without maintaining a connection to the remote sessions. Also, because the session is disconnected before any results are returned, the InDisconnectedSession parameter assures that all command results are returned to the reconnected session, instead of being split between sessions.</maml:para><maml:para>You cannot use the InDisconnectedSession parameter with the Session parameter or the AsJob parameter.</maml:para><maml:para>Commands that use the InDisconnectedSession parameter return a PSSession object that represents the disconnected session. They do not return the command output. To connect to the disconnected session, use the Connect-PSSession or Receive-PSSession cmdlets. To get the results of commands that ran in the session, use the Receive-PSSession cmdlet.To run commands that generate output in a disconnected session, set the value of the OutputBufferingMode session option to Drop. If you intend to connect to the disconnected session, set the idle timeout in the session so that it provides sufficient time for you to connect before deleting the session.</maml:para><maml:para>You can set the output buffering mode and idle timeout in the SessionOption parameter or in the $PSSessionOption preference variable. For more information about session options, see New-PSSessionOption and about_Preference_Variables.</maml:para><maml:para>For more information about the Disconnected Sessions feature, see about_Remote_Disconnected_Sessions.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Specifies input to the command. Enter a variable that contains the objects or type a command or expression that gets the objects.</maml:para><maml:para>When using InputObject, use the $input automatic variable in the value of the ScriptBlock parameter to represent the input objects.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>JobName</maml:name><maml:description><maml:para>Specifies a friendly name for the background job. By default, jobs are named "Job&lt;n&gt;", where &lt;n&gt; is an ordinal number.</maml:para><maml:para>If you use the JobName parameter in a command, the command is run as a job, and Invoke-Command returns a job object, even if you do not include the AsJob parameter in the command.</maml:para><maml:para>For more information about Windows PowerShell background jobs, see about_Jobs (http://go.microsoft.com/fwlink/?LinkID=113251).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Port</maml:name><maml:description><maml:para>Specifies the network port on the remote computer used for this command. To connect to a remote computer, the remote computer must be listening on the port that the connection uses. The default ports are 5985 (the WinRM port for HTTP) and 5986 (the WinRM port for HTTPS).</maml:para><maml:para>Before using an alternate port, configure the WinRM listener on the remote computer to listen at that port. To configure the listener, type the following two commands at the Windows PowerShell prompt:</maml:para><maml:para>Remove-Item -Path WSMan:\Localhost\listener\listener* -Recurse</maml:para><maml:para>New-Item -Path WSMan:\Localhost\listener -Transport http -Address * -Port &lt;port-number&gt;</maml:para><maml:para>Do not use the Port parameter unless you must. The port that is set in the command applies to all computers or sessions on which the command runs. An alternate port setting might prevent the command from running on all computers.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SessionName</maml:name><maml:description><maml:para>Specifies a friendly name for a disconnected session. You can use the name to refer to the session in subsequent commands, such as a Get-PSSession command. This parameter is valid only with the InDisconnectedSession parameter.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SessionOption</maml:name><maml:description><maml:para>Sets advanced options for the session. Enter a SessionOption object, such as one that you create by using the New-PSSessionOption cmdlet, or a hash table in which the keys are session option names and the values are session option values.</maml:para><maml:para>The default values for the options are determined by the value of the $PSSessionOption preference variable, if it is set. Otherwise, the default values are established by options set in the session configuration.</maml:para><maml:para>The session option values take precedence over default values for sessions set in the $PSSessionOption preference variable and in the session configuration. However, they do not take precedence over maximum values, quotas or limits set in the session configuration. </maml:para><maml:para>For a description of the session options, including the default values, see New-PSSessionOption. For information about the $PSSessionOption preference variable, see about_Preference_Variables (http://go.microsoft.com/fwlink/?LinkID=113248). For more information about session configurations, see about_Session_Configurations (http://go.microsoft.com/fwlink/?LinkID=145152).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSSessionOption</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ThrottleLimit</maml:name><maml:description><maml:para>Specifies the maximum number of concurrent connections that can be established to run this command. If you omit this parameter or enter a value of 0, the default value, 32, is used.</maml:para><maml:para>The throttle limit applies only to the current command, not to the session or to the computer.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>UseSSL</maml:name><maml:description><maml:para>Uses the Secure Sockets Layer (SSL) protocol to establish a connection to the remote computer. By default, SSL is not used.</maml:para><maml:para>WS-Management encrypts all Windows PowerShell content transmitted over the network. UseSSL is an additional protection that sends the data across an HTTPS, instead of HTTP.</maml:para><maml:para>If you use this parameter, but SSL is not available on the port used for the command, the command fails.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Invoke-Command</maml:name><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="1" aliases=""><maml:name>Session</maml:name><maml:description><maml:para>Runs the command in the specified Windows PowerShell sessions (PSSessions). Enter a variable that contains the PSSessions or a command that creates or gets the PSSessions, such as a New-PSSession or Get-PSSession command.</maml:para><maml:para>Runs the command in the specified Windows PowerShell sessions (PSSessions). Enter a variable that contains the PSSessions or a command that creates or gets the PSSessions, such as a New-PSSession or Get-PSSession command.</maml:para><maml:para>When you create a PSSession, Windows PowerShell establishes a persistent connection to the remote computer. Use a PSSession to run a series of related commands that share data. To run a single command or a series of unrelated commands, use the ComputerName parameter.</maml:para><maml:para>To create a PSSession, use the New-PSSession cmdlet. For more information, see about_PSSessions.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">PSSession[]</command:parameterValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="2" aliases="PSPath"><maml:name>FilePath</maml:name><maml:description><maml:para>Runs the specified local script on one or more remote computers. Enter the path and file name of the script, or pipe a script path to Invoke-Command. The script must reside on the local computer or in a directory that the local computer can access. Use the ArgumentList parameter to specify the values of parameters in the script.</maml:para><maml:para>When you use this parameter, Windows PowerShell converts the contents of the specified script file to a script block, transmits the script block to the remote computer, and runs it on the remote computer.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="Args"><maml:name>ArgumentList</maml:name><maml:description><maml:para>Supplies the values of local variables in the command. The variables in the command are replaced by these values before the command is run on the remote computer. Enter the values in a comma-separated list. Values are associated with variables in the order that they are listed. The alias for ArgumentList is "Args".</maml:para><maml:para>The values in ArgumentList can be actual values, such as "1024", or they can be references to local variables, such as "$max".</maml:para><maml:para>To use local variables in a command, use the following command format:</maml:para><maml:para>{param($&lt;name1&gt;[, $&lt;name2&gt;]...) &lt;command-with-local-variables&gt;} -ArgumentList &lt;value&gt; -or- &lt;local-variable&gt;</maml:para><maml:para>The "param" keyword lists the local variables that are used in the command. The ArgumentList parameter supplies the values of the variables, in the order that they are listed.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Object[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>AsJob</maml:name><maml:description><maml:para>Runs the command as a background job on a remote computer. Use this parameter to run commands that take an extensive time to complete.</maml:para><maml:para>When you use AsJob, the command returns an object that represents the job, and then displays the command prompt. You can continue to work in the session while the job completes. To manage the job, use the Job cmdlets. To get the job results, use the Receive-Job cmdlet.</maml:para><maml:para>The AsJob parameter is similar to using the Invoke-Command cmdlet to run a Start-Job command remotely. However, with AsJob, the job is created on the local computer, even though the job runs on a remote computer, and the results of the remote job are automatically returned to the local computer.</maml:para><maml:para>For more information about Windows PowerShell background jobs, see about_Jobs (http://go.microsoft.com/fwlink/?LinkID=113251) and about_Remote_Jobs (http://go.microsoft.com/fwlink/?LinkID=135184).</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="HCN"><maml:name>HideComputerName</maml:name><maml:description><maml:para>Omits the computer name of each object from the output display. By default, the name of the computer that generated the object appears in the display.</maml:para><maml:para>This parameter affects only the output display. It does not change the object.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Specifies input to the command. Enter a variable that contains the objects or type a command or expression that gets the objects.</maml:para><maml:para>When using InputObject, use the $input automatic variable in the value of the ScriptBlock parameter to represent the input objects.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>JobName</maml:name><maml:description><maml:para>Specifies a friendly name for the background job. By default, jobs are named "Job&lt;n&gt;", where &lt;n&gt; is an ordinal number.</maml:para><maml:para>If you use the JobName parameter in a command, the command is run as a job, and Invoke-Command returns a job object, even if you do not include the AsJob parameter in the command.</maml:para><maml:para>For more information about Windows PowerShell background jobs, see about_Jobs (http://go.microsoft.com/fwlink/?LinkID=113251).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ThrottleLimit</maml:name><maml:description><maml:para>Specifies the maximum number of concurrent connections that can be established to run this command. If you omit this parameter or enter a value of 0, the default value, 32, is used.</maml:para><maml:para>The throttle limit applies only to the current command, not to the session or to the computer.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Invoke-Command</maml:name><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="1" aliases=""><maml:name>Session</maml:name><maml:description><maml:para>Runs the command in the specified Windows PowerShell sessions (PSSessions). Enter a variable that contains the PSSessions or a command that creates or gets the PSSessions, such as a New-PSSession or Get-PSSession command.</maml:para><maml:para>Runs the command in the specified Windows PowerShell sessions (PSSessions). Enter a variable that contains the PSSessions or a command that creates or gets the PSSessions, such as a New-PSSession or Get-PSSession command.</maml:para><maml:para>When you create a PSSession, Windows PowerShell establishes a persistent connection to the remote computer. Use a PSSession to run a series of related commands that share data. To run a single command or a series of unrelated commands, use the ComputerName parameter.</maml:para><maml:para>To create a PSSession, use the New-PSSession cmdlet. For more information, see about_PSSessions.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">PSSession[]</command:parameterValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="2" aliases="Command"><maml:name>ScriptBlock</maml:name><maml:description><maml:para>Specifies the commands to run. Enclose the commands in braces ( { } ) to create a script block. This parameter is required.</maml:para><maml:para>By default, any variables in the command are evaluated on the remote computer. To include local variables in the command, use the ArgumentList parameter.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">ScriptBlock</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="Args"><maml:name>ArgumentList</maml:name><maml:description><maml:para>Supplies the values of local variables in the command. The variables in the command are replaced by these values before the command is run on the remote computer. Enter the values in a comma-separated list. Values are associated with variables in the order that they are listed. The alias for ArgumentList is "Args".</maml:para><maml:para>The values in ArgumentList can be actual values, such as "1024", or they can be references to local variables, such as "$max".</maml:para><maml:para>To use local variables in a command, use the following command format:</maml:para><maml:para>{param($&lt;name1&gt;[, $&lt;name2&gt;]...) &lt;command-with-local-variables&gt;} -ArgumentList &lt;value&gt; -or- &lt;local-variable&gt;</maml:para><maml:para>The "param" keyword lists the local variables that are used in the command. The ArgumentList parameter supplies the values of the variables, in the order that they are listed.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Object[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>AsJob</maml:name><maml:description><maml:para>Runs the command as a background job on a remote computer. Use this parameter to run commands that take an extensive time to complete.</maml:para><maml:para>When you use AsJob, the command returns an object that represents the job, and then displays the command prompt. You can continue to work in the session while the job completes. To manage the job, use the Job cmdlets. To get the job results, use the Receive-Job cmdlet.</maml:para><maml:para>The AsJob parameter is similar to using the Invoke-Command cmdlet to run a Start-Job command remotely. However, with AsJob, the job is created on the local computer, even though the job runs on a remote computer, and the results of the remote job are automatically returned to the local computer.</maml:para><maml:para>For more information about Windows PowerShell background jobs, see about_Jobs (http://go.microsoft.com/fwlink/?LinkID=113251) and about_Remote_Jobs (http://go.microsoft.com/fwlink/?LinkID=135184).</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="HCN"><maml:name>HideComputerName</maml:name><maml:description><maml:para>Omits the computer name of each object from the output display. By default, the name of the computer that generated the object appears in the display.</maml:para><maml:para>This parameter affects only the output display. It does not change the object.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Specifies input to the command. Enter a variable that contains the objects or type a command or expression that gets the objects.</maml:para><maml:para>When using InputObject, use the $input automatic variable in the value of the ScriptBlock parameter to represent the input objects.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>JobName</maml:name><maml:description><maml:para>Specifies a friendly name for the background job. By default, jobs are named "Job&lt;n&gt;", where &lt;n&gt; is an ordinal number.</maml:para><maml:para>If you use the JobName parameter in a command, the command is run as a job, and Invoke-Command returns a job object, even if you do not include the AsJob parameter in the command.</maml:para><maml:para>For more information about Windows PowerShell background jobs, see about_Jobs (http://go.microsoft.com/fwlink/?LinkID=113251).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ThrottleLimit</maml:name><maml:description><maml:para>Specifies the maximum number of concurrent connections that can be established to run this command. If you omit this parameter or enter a value of 0, the default value, 32, is used.</maml:para><maml:para>The throttle limit applies only to the current command, not to the session or to the computer.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>AllowRedirection</maml:name><maml:description><maml:para>Allows redirection of this connection to an alternate Uniform Resource Identifier (URI).</maml:para><maml:para>When you use the ConnectionURI parameter, the remote destination can return an instruction to redirect to a different URI. By default, Windows PowerShell does not redirect connections, but you can use this parameter to allow it to redirect the connection.</maml:para><maml:para>You can also limit the number of times the connection is redirected by changing the MaximumConnectionRedirectionCount session option value. Use the MaximumRedirection parameter of the New-PSSessionOption cmdlet or set the MaximumConnectionRedirectionCount property of the $PSSessionOption preference variable. The default value is 5.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>ApplicationName</maml:name><maml:description><maml:para>Specifies the application name segment of the connection URI. Use this parameter to specify the application name when you are not using the ConnectionURI parameter in the command.</maml:para><maml:para>The default value is the value of the $PSSessionApplicationName preference variable on the local computer. If this preference variable is not defined, the default value is WSMAN. This value is appropriate for most uses. For more information, see about_Preference_Variables (http://go.microsoft.com/fwlink/?LinkID=113248).</maml:para><maml:para>The WinRM service uses the application name to select a listener to service the connection request. The value of this parameter should match the value of the URLPrefix property of a listener on the remote computer.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>WSMAN</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="Args"><maml:name>ArgumentList</maml:name><maml:description><maml:para>Supplies the values of local variables in the command. The variables in the command are replaced by these values before the command is run on the remote computer. Enter the values in a comma-separated list. Values are associated with variables in the order that they are listed. The alias for ArgumentList is "Args".</maml:para><maml:para>The values in ArgumentList can be actual values, such as "1024", or they can be references to local variables, such as "$max".</maml:para><maml:para>To use local variables in a command, use the following command format:</maml:para><maml:para>{param($&lt;name1&gt;[, $&lt;name2&gt;]...) &lt;command-with-local-variables&gt;} -ArgumentList &lt;value&gt; -or- &lt;local-variable&gt;</maml:para><maml:para>The "param" keyword lists the local variables that are used in the command. The ArgumentList parameter supplies the values of the variables, in the order that they are listed.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Object[]</command:parameterValue><dev:type><maml:name>Object[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>AsJob</maml:name><maml:description><maml:para>Runs the command as a background job on a remote computer. Use this parameter to run commands that take an extensive time to complete.</maml:para><maml:para>When you use AsJob, the command returns an object that represents the job, and then displays the command prompt. You can continue to work in the session while the job completes. To manage the job, use the Job cmdlets. To get the job results, use the Receive-Job cmdlet.</maml:para><maml:para>The AsJob parameter is similar to using the Invoke-Command cmdlet to run a Start-Job command remotely. However, with AsJob, the job is created on the local computer, even though the job runs on a remote computer, and the results of the remote job are automatically returned to the local computer.</maml:para><maml:para>For more information about Windows PowerShell background jobs, see about_Jobs (http://go.microsoft.com/fwlink/?LinkID=113251) and about_Remote_Jobs (http://go.microsoft.com/fwlink/?LinkID=135184).</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Authentication</maml:name><maml:description><maml:para>Specifies the mechanism that is used to authenticate the user's credentials. Valid values are Default, Basic, Credssp, Digest, Kerberos, Negotiate, and NegotiateWithImplicitCredential. The default value is Default.</maml:para><maml:para>CredSSP authentication is available only in Windows Vista, Windows Server 2008, and later versions of Windows.</maml:para><maml:para>For information about the values of this parameter, see the description of the System.Management.Automation.Runspaces.AuthenticationMechanism enumeration in MSDN.</maml:para><maml:para>CAUTION: Credential Security Support Provider (CredSSP) authentication, in which the user's credentials are passed to a remote computer to be authenticated, is designed for commands that require authentication on more than one resource, such as accessing a remote network share. This mechanism increases the security risk of the remote operation. If the remote computer is compromised, the credentials that are passed to it can be used to control the network session.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">AuthenticationMechanism</command:parameterValue><dev:type><maml:name>AuthenticationMechanism</maml:name><maml:uri /></dev:type><dev:defaultValue>Default</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CertificateThumbprint</maml:name><maml:description><maml:para>Specifies the digital public key certificate (X509) of a user account that has permission to perform this action. Enter the certificate thumbprint of the certificate.</maml:para><maml:para>Certificates are used in client certificate-based authentication. They can only be mapped to local user accounts; they do not work with domain accounts.</maml:para><maml:para>To get a certificate, use the Get-Item or Get-ChildItem commands in the Windows PowerShell Cert: drive.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="1" aliases="Cn"><maml:name>ComputerName</maml:name><maml:description><maml:para>Specifies the computers on which the command runs. The default is the local computer.</maml:para><maml:para>When you use the ComputerName parameter, Windows PowerShell creates a temporary connection that is used only to run the specified command and is then closed. If you need a persistent connection, use the Session parameter.</maml:para><maml:para>Type the NETBIOS name, IP address, or fully-qualified domain name of one or more computers in a comma-separated list. To specify the local computer, type the computer name, "localhost", or a dot (.).</maml:para><maml:para>To use an IP address in the value of the ComputerName parameter, the command must include the Credential parameter. Also, the computer must be configured for HTTPS transport or the IP address of the remote computer must be included in the WinRM TrustedHosts list on the local computer. For instructions for adding a computer name to the TrustedHosts list, see "How to Add a Computer to the Trusted Host List" in about_Remote_Troubleshooting.</maml:para><maml:para>Note: On Windows Vista, and later versions of Windows, to include the local computer in the value of the ComputerName parameter, you must open Windows PowerShell with the "Run as administrator" option.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>Local computer</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>ConfigurationName</maml:name><maml:description><maml:para>Specifies the session configuration that is used for the new PSSession.</maml:para><maml:para>Enter a configuration name or the fully qualified resource URI for a session configuration. If you specify only the configuration name, the following schema URI is prepended: http://schemas.microsoft.com/PowerShell.</maml:para><maml:para>The session configuration for a session is located on the remote computer. If the specified session configuration does not exist on the remote computer, the command fails.</maml:para><maml:para>The default value is the value of the $PSSessionConfigurationName preference variable on the local computer. If this preference variable is not set, the default is Microsoft.PowerShell. For more information, see about_preference_variables.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>Microsoft.PowerShell</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="1" aliases="URI,CU"><maml:name>ConnectionUri</maml:name><maml:description><maml:para>Specifies a Uniform Resource Identifier (URI) that defines the connection endpoint of the session. The URI must be fully qualified.</maml:para><maml:para>The format of this string is as follows:
 
&lt;Transport&gt;://&lt;ComputerName&gt;:&lt;Port&gt;/&lt;ApplicationName&gt;
 
The default value is as follows:
 
http://localhost:5985/WSMAN</maml:para><maml:para>If you do not specify a connection URI, you can use the UseSSL and Port parameters to specify the connection URI values.</maml:para><maml:para>Valid values for the Transport segment of the URI are HTTP and HTTPS. If you specify a connection URI with a Transport segment, but do not specify a port, the session is created with standards ports: 80 for HTTP and 443 for HTTPS. To use the default ports for Windows PowerShell remoting, specify port 5985 for HTTP or 5986 for HTTPS.</maml:para><maml:para>If the destination computer redirects the connection to a different URI, Windows PowerShell prevents the redirection unless you use the AllowRedirection parameter in the command.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Uri[]</command:parameterValue><dev:type><maml:name>Uri[]</maml:name><maml:uri /></dev:type><dev:defaultValue>http://localhost:5985/WSMAN</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>Credential</maml:name><maml:description><maml:para>Specifies a user account that has permission to perform this action. The default is the current user.</maml:para><maml:para>Type a user name, such as "User01" or "Domain01\User01", or enter a variable that contains a PSCredential object, such as one generated by the Get-Credential cmdlet. When you type a user name, you will be prompted for a password.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue><dev:type><maml:name>PSCredential</maml:name><maml:uri /></dev:type><dev:defaultValue>Current user</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>EnableNetworkAccess</maml:name><maml:description><maml:para>Adds an interactive security token to loopback sessions. The interactive token lets you run commands in the loopback session that get data from other computers. For example, you can run a command in the session that copies XML files from a remote computer to the local computer.</maml:para><maml:para>A "loopback session" is a PSSession that originates and terminates on the same computer. To create a loopback session, omit the ComputerName parameter or set its value to ".", "localhost", or the name of the local computer.</maml:para><maml:para>By default, loopback sessions are created with a network token, which might not provide sufficient permission to authenticate to remote computers.</maml:para><maml:para>The EnableNetworkAccess parameter is effective only in loopback sessions. If you use the EnableNetworkAccess parameter when creating a session on a remote computer, the command succeeds, but the parameter is ignored.</maml:para><maml:para>You can also allow remote access in a loopback session by using the CredSSP value of the Authentication parameter, which delegates the session credentials to other computers.</maml:para><maml:para>To protect the computer from malicious access, disconnected loopback sessions that have interactive tokens (those created with the EnableNetworkAccess parameter) can be reconnected only from the computer on which the session was created. Disconnected sessions that use CredSSP authentication can be reconnected from other computers. For more information, see Disconnect-PSSession.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="2" aliases="PSPath"><maml:name>FilePath</maml:name><maml:description><maml:para>Runs the specified local script on one or more remote computers. Enter the path and file name of the script, or pipe a script path to Invoke-Command. The script must reside on the local computer or in a directory that the local computer can access. Use the ArgumentList parameter to specify the values of parameters in the script.</maml:para><maml:para>When you use this parameter, Windows PowerShell converts the contents of the specified script file to a script block, transmits the script block to the remote computer, and runs it on the remote computer.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="HCN"><maml:name>HideComputerName</maml:name><maml:description><maml:para>Omits the computer name of each object from the output display. By default, the name of the computer that generated the object appears in the display.</maml:para><maml:para>This parameter affects only the output display. It does not change the object.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="Disconnected"><maml:name>InDisconnectedSession</maml:name><maml:description><maml:para>Runs a command or script in a disconnected session.</maml:para><maml:para>When you use the InDisconnectedSession parameter, Invoke-Command creates a persistent session on each remote computer, starts the command specified by the ScriptBlock or FilePath parameter, and then disconnects from the session. The commands continue to run in the disconnected sessions.The InDisconnectedSession parameter enables you to run commands without maintaining a connection to the remote sessions. Also, because the session is disconnected before any results are returned, the InDisconnectedSession parameter assures that all command results are returned to the reconnected session, instead of being split between sessions.</maml:para><maml:para>You cannot use the InDisconnectedSession parameter with the Session parameter or the AsJob parameter.</maml:para><maml:para>Commands that use the InDisconnectedSession parameter return a PSSession object that represents the disconnected session. They do not return the command output. To connect to the disconnected session, use the Connect-PSSession or Receive-PSSession cmdlets. To get the results of commands that ran in the session, use the Receive-PSSession cmdlet.To run commands that generate output in a disconnected session, set the value of the OutputBufferingMode session option to Drop. If you intend to connect to the disconnected session, set the idle timeout in the session so that it provides sufficient time for you to connect before deleting the session.</maml:para><maml:para>You can set the output buffering mode and idle timeout in the SessionOption parameter or in the $PSSessionOption preference variable. For more information about session options, see New-PSSessionOption and about_Preference_Variables.</maml:para><maml:para>For more information about the Disconnected Sessions feature, see about_Remote_Disconnected_Sessions.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Specifies input to the command. Enter a variable that contains the objects or type a command or expression that gets the objects.</maml:para><maml:para>When using InputObject, use the $input automatic variable in the value of the ScriptBlock parameter to represent the input objects.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue><dev:type><maml:name>PSObject</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>JobName</maml:name><maml:description><maml:para>Specifies a friendly name for the background job. By default, jobs are named "Job&lt;n&gt;", where &lt;n&gt; is an ordinal number.</maml:para><maml:para>If you use the JobName parameter in a command, the command is run as a job, and Invoke-Command returns a job object, even if you do not include the AsJob parameter in the command.</maml:para><maml:para>For more information about Windows PowerShell background jobs, see about_Jobs (http://go.microsoft.com/fwlink/?LinkID=113251).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>Job&lt;n&gt;</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Port</maml:name><maml:description><maml:para>Specifies the network port on the remote computer used for this command. To connect to a remote computer, the remote computer must be listening on the port that the connection uses. The default ports are 5985 (the WinRM port for HTTP) and 5986 (the WinRM port for HTTPS).</maml:para><maml:para>Before using an alternate port, configure the WinRM listener on the remote computer to listen at that port. To configure the listener, type the following two commands at the Windows PowerShell prompt:</maml:para><maml:para>Remove-Item -Path WSMan:\Localhost\listener\listener* -Recurse</maml:para><maml:para>New-Item -Path WSMan:\Localhost\listener -Transport http -Address * -Port &lt;port-number&gt;</maml:para><maml:para>Do not use the Port parameter unless you must. The port that is set in the command applies to all computers or sessions on which the command runs. An alternate port setting might prevent the command from running on all computers.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue><dev:type><maml:name>Int32</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1" aliases="Command"><maml:name>ScriptBlock</maml:name><maml:description><maml:para>Specifies the commands to run. Enclose the commands in braces ( { } ) to create a script block. This parameter is required.</maml:para><maml:para>By default, any variables in the command are evaluated on the remote computer. To include local variables in the command, use the ArgumentList parameter.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">ScriptBlock</command:parameterValue><dev:type><maml:name>ScriptBlock</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="1" aliases=""><maml:name>Session</maml:name><maml:description><maml:para>Runs the command in the specified Windows PowerShell sessions (PSSessions). Enter a variable that contains the PSSessions or a command that creates or gets the PSSessions, such as a New-PSSession or Get-PSSession command.</maml:para><maml:para>Runs the command in the specified Windows PowerShell sessions (PSSessions). Enter a variable that contains the PSSessions or a command that creates or gets the PSSessions, such as a New-PSSession or Get-PSSession command.</maml:para><maml:para>When you create a PSSession, Windows PowerShell establishes a persistent connection to the remote computer. Use a PSSession to run a series of related commands that share data. To run a single command or a series of unrelated commands, use the ComputerName parameter.</maml:para><maml:para>To create a PSSession, use the New-PSSession cmdlet. For more information, see about_PSSessions.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">PSSession[]</command:parameterValue><dev:type><maml:name>PSSession[]</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SessionOption</maml:name><maml:description><maml:para>Sets advanced options for the session. Enter a SessionOption object, such as one that you create by using the New-PSSessionOption cmdlet, or a hash table in which the keys are session option names and the values are session option values.</maml:para><maml:para>The default values for the options are determined by the value of the $PSSessionOption preference variable, if it is set. Otherwise, the default values are established by options set in the session configuration.</maml:para><maml:para>The session option values take precedence over default values for sessions set in the $PSSessionOption preference variable and in the session configuration. However, they do not take precedence over maximum values, quotas or limits set in the session configuration. </maml:para><maml:para>For a description of the session options, including the default values, see New-PSSessionOption. For information about the $PSSessionOption preference variable, see about_Preference_Variables (http://go.microsoft.com/fwlink/?LinkID=113248). For more information about session configurations, see about_Session_Configurations (http://go.microsoft.com/fwlink/?LinkID=145152).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSSessionOption</command:parameterValue><dev:type><maml:name>PSSessionOption</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ThrottleLimit</maml:name><maml:description><maml:para>Specifies the maximum number of concurrent connections that can be established to run this command. If you omit this parameter or enter a value of 0, the default value, 32, is used.</maml:para><maml:para>The throttle limit applies only to the current command, not to the session or to the computer.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue><dev:type><maml:name>Int32</maml:name><maml:uri /></dev:type><dev:defaultValue>32</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>UseSSL</maml:name><maml:description><maml:para>Uses the Secure Sockets Layer (SSL) protocol to establish a connection to the remote computer. By default, SSL is not used.</maml:para><maml:para>WS-Management encrypts all Windows PowerShell content transmitted over the network. UseSSL is an additional protection that sends the data across an HTTPS, instead of HTTP.</maml:para><maml:para>If you use this parameter, but SSL is not available on the port used for the command, the command fails.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>NoNewScope</maml:name><maml:description><maml:para>Runs the specified command in the current scope. By default, Invoke-Command runs commands in their own scope.</maml:para><maml:para>This parameter is valid only in commands that are run in the current session, that is, commands that omit both the ComputerName and Session parameters.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SessionName</maml:name><maml:description><maml:para>Specifies a friendly name for a disconnected session. You can use the name to refer to the session in subsequent commands, such as a Get-PSSession command. This parameter is valid only with the InDisconnectedSession parameter.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name>System.Management.Automation.ScriptBlock</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You can pipe a command in a script block to Invoke-Command. Use the $input automatic variable to represent the input objects in the command.</maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name>System.Management.Automation.PSRemotingJob, System.Management.Automation.Runspaces.PSSession, or the output of the invoked command</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>When you use the AsJob parameter, Invoke-Command returns a job object. When you use the InDisconnectedSession parameter, Invoke-Command returns a PSSession object. Otherwise, it returns the output of the invoked command (the value of the ScriptBlock parameter).</maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><maml:alertSet><maml:title /><maml:alert><maml:para>On Windows Vista, and later versions of Windows, to use the ComputerName parameter of Invoke-Command to run a command on the local computer, you must open Windows PowerShell with the "Run as administrator" option.</maml:para></maml:alert><maml:alert><maml:para>When you run commands on multiple computers, Windows PowerShell connects to the computers in the order in which they appear in the list. However, the command output is displayed in the order that it is received from the remote computers, which might be different.</maml:para></maml:alert><maml:alert><maml:para>Errors that result from the command that Invoke-Command runs are included in the command results. Errors that would be terminating errors in a local command are treated as non-terminating errors in a remote command. This strategy ensures that terminating errors on one computer do not terminate the command on all computers on which it is run. This practice is used even when a remote command is run on a single computer.</maml:para></maml:alert><maml:alert><maml:para>If the remote computer is not in a domain that the local computer trusts, the computer might not be able to authenticate the user's credentials. To add the remote computer to the list of "trusted hosts" in WS-Management, use the following command in the WSMAN provider, where &lt;Remote-Computer-Name&gt; is the name of the remote computer:</maml:para><maml:para>Set-Item -Path WSMan:\Localhost\Client\TrustedHosts -Value &lt;Remote-Computer-Name&gt;</maml:para></maml:alert><maml:alert><maml:para>In Windows PowerShell 2.0, you cannot use the Select-Object cmdlet to select the PSComputerName property of the object that Invoke-Command returns. Instead, to display the value of the PSComputerName property, use the dot method to get the PSComputerName property value ($result.PSComputerName), use a Format cmdlet, such as the Format-Table cmdlet, to display the value of the PSComputerName property, or use a Select-Object command where the value of the property parameter is a calculated property that has a label other than "PSComputerName".</maml:para><maml:para>This limitation does not apply to Windows PowerShell 3.0 or later versions of Windows PowerShell.</maml:para></maml:alert><maml:alert><maml:para>When you disconnect a PSSession, such as by using the InDisconnectedSession parameter, the session state is Disconnected and the availability is None. </maml:para><maml:para>The value of the State property is relative to the current session. Therefore, a value of Disconnected means that the PSSession is not connected to the current session. However, it does not mean that the PSSession is disconnected from all sessions. It might be connected to a different session. To determine whether you can connect or reconnect to the session, use the Availability property.</maml:para><maml:para>An Availability value of None indicates that you can connect to the session. A value of Busy indicates that you cannot connect to the PSSession because it is connected to another session.</maml:para><maml:para>For more information about the values of the State property of sessions, see "RunspaceState Enumeration" in MSDN at <maml:navigationLink><maml:linkText>http://msdn.microsoft.com/en-us/library/windows/desktop/system.management.automation.runspaces.runspacestate(v=VS.85).aspx</maml:linkText><maml:uri></maml:uri></maml:navigationLink>.</maml:para><maml:para>For more information about the values of the Availability property of sessions, see RunspaceAvailability Enumeration at <maml:navigationLink><maml:linkText>http://msdn.microsoft.com/en-us/library/windows/desktop/system.management.automation.runspaces.runspaceavailability(v=vs.85).aspx</maml:linkText><maml:uri></maml:uri></maml:navigationLink>.</maml:para></maml:alert></maml:alertSet><command:examples><command:example><maml:title>
-------------------------- EXAMPLE 1 --------------------------
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Invoke-Command -FilePath c:\scripts\test.ps1 -ComputerName Server01
</dev:code><dev:remarks><maml:para>This command runs the Test.ps1 script on the Server01 computer.</maml:para><maml:para>The command uses the FilePath parameter to specify a script that is located on the local computer. The script runs on the remote computer and the results are returned to the local computer.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
-------------------------- EXAMPLE 2 --------------------------
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Invoke-Command -ComputerName server01 -Credential domain01\user01 -ScriptBlock {Get-Culture}
</dev:code><dev:remarks><maml:para>This command runs a Get-Culture command on the Server01 remote computer.</maml:para><maml:para>It uses the ComputerName parameter to specify the computer name and the Credential parameter to run the command in the security context of "Domain01\User01," a user with permission to run commands. It uses the ScriptBlock parameter to specify the command to be run on the remote computer.</maml:para><maml:para>In response, Windows PowerShell displays a dialog box that requests the password and an authentication method for the User01 account. It then runs the command on the Server01 computer and returns the result.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
-------------------------- EXAMPLE 3 --------------------------
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;$s = New-PSSession -ComputerName Server02 -Credential Domain01\User01
PS C:\&gt;Invoke-Command -Session $s -ScriptBlock {Get-Culture}
</dev:code><dev:remarks><maml:para>This example runs the same "Get-Culture" command in a session (a persistent connection) on the Server02 remote computer. Typically, you create a session only when you are running a series of commands on the remote computer.</maml:para><maml:para>The first command uses the New-PSSession cmdlet to create a session on the Server02 remote computer. Then, it saves the session in the $s variable.</maml:para><maml:para>The second command uses the Invoke-Command cmdlet to run the Get-Culture command on Server02. It uses the Session parameter to specify the session saved in the $s variable.</maml:para><maml:para>In response, Windows PowerShell runs the command in the session on the Server02 computer.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
-------------------------- EXAMPLE 4 --------------------------
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Invoke-Command -ComputerName Server02 -ScriptBlock {$p = Get-Process PowerShell}
PS C:\&gt;Invoke-Command -ComputerName Server02 -ScriptBlock {$p.VirtualMemorySize}
PS C:\&gt;
PS C:\&gt;$s = New-PSSession -ComputerName Server02
PS C:\&gt;Invoke-Command -Session $s -ScriptBlock {$p = Get-Process PowerShell}
PS C:\&gt;Invoke-Command -Session $s -ScriptBlock {$p.VirtualMemorySize}
17930240
</dev:code><dev:remarks><maml:para>This example compares the effects of using ComputerName and Session parameters of Invoke-Command. It shows how to use a session to run a series of commands that share the same data.</maml:para><maml:para>The first two commands use the ComputerName parameter of Invoke-Command to run commands on the Server02 remote computer. The first command uses the Get-Process cmdlet to get the PowerShell process on the remote computer and to save it in the $p variable. The second command gets the value of the VirtualMemorySize property of the PowerShell process.</maml:para><maml:para>The first command succeeds. But the second command fails, because when you use the ComputerName parameter, Windows PowerShell creates a connection just to run the command. Then, it closes the connection when the command is complete. The $p variable was created in one connection, but it does not exist in the connection created for the second command.</maml:para><maml:para>The problem is solved by creating a session (a persistent connection) on the remote computer and by running both of the related commands in the same session.</maml:para><maml:para>The third command uses the New-PSSession cmdlet to create a session on the Server02 computer. Then it saves the session in the $s variable. The fourth and fifth commands repeat the series of commands used in the first set, but in this case, the Invoke-Command command uses the Session parameter to run both of the commands in the same session.</maml:para><maml:para>In this case, because both commands run in the same session, the commands succeed, and the $p value remains active in the $s session for later use.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
-------------------------- EXAMPLE 5 --------------------------
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;$command = { Get-EventLog -log "Windows PowerShell" | where {$_.Message -like "*certificate*"} }
PS C:\&gt;Invoke-Command -ComputerName S1, S2 -ScriptBlock $command
</dev:code><dev:remarks><maml:para>This example shows how to enter a command that is saved in a local variable.</maml:para><maml:para>When the entire command is saved in a local variable, you can specify the variable as the value of the ScriptBlock parameter. You do not have to use the "param" keyword or the ArgumentList variable to submit the value of the local variable.</maml:para><maml:para>The first command saves a Get-EventLog command in the $command variable. The command is formatted as a script block.</maml:para><maml:para>The second command uses the Invoke-Command cmdlet to run the command in $command on the S1 and S2 remote computers.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
-------------------------- EXAMPLE 6 --------------------------
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Invoke-Command -ComputerName Server01, Server02, TST-0143, localhost -ConfigurationName MySession.PowerShell -ScriptBlock {Get-EventLog "Windows PowerShell"}
</dev:code><dev:remarks><maml:para>This example demonstrates how to use the Invoke-Command cmdlet to run a single command on multiple computers.</maml:para><maml:para>The command uses the ComputerName parameter to specify the computers. The computer names are presented in a comma-separated list. The list of computers includes the "localhost" value, which represents the local computer.</maml:para><maml:para>The command uses the ConfigurationName parameter to specify an alternate session configuration for Windows PowerShell and the ScriptBlock parameter to specify the command.</maml:para><maml:para>In this example, the command in the script block gets the events in the Windows PowerShell event log on each remote computer.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
-------------------------- EXAMPLE 7 --------------------------
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;$version = Invoke-Command -ComputerName (Get-Content Machines.txt) -ScriptBlock {(Get-Host).Version}
</dev:code><dev:remarks><maml:para>This command gets the version of the Windows PowerShell host program running on 200 remote computers.</maml:para><maml:para>Because only one command is run, it is not necessary to create persistent connections (sessions) to each of the computers. Instead, the command uses the ComputerName parameter to indicate the computers.</maml:para><maml:para>The command uses the Invoke-Command cmdlet to run a Get-Host command. It uses dot notation to get the Version property of the Windows PowerShell host.</maml:para><maml:para>To specify the computers, it uses the Get-Content cmdlet to get the contents of the Machine.txt file, a file of computer names.</maml:para><maml:para>These commands run synchronously (one at a time). When the commands complete, the output of the commands from all of the computers is saved in the $version variable. The output includes the name of the computer from which the data originated.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
-------------------------- EXAMPLE 8 --------------------------
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;$s = New-PSSession -ComputerName Server01, Server02
PS C:\&gt;Invoke-Command -Session $s -ScriptBlock {Get-EventLog system} -AsJob
 
Id Name State HasMoreData Location Command
--- ---- ----- ----- ----------- ---------------
1 Job1 Running True Server01,Server02 Get-EventLog system
 
PS C:\&gt;$j = Get-Job
 
PS C:\&gt;$j | Format-List -Property *
 
HasMoreData : True
StatusMessage :
Location : Server01,Server02
Command : Get-EventLog system
JobStateInfo : Running
Finished : System.Threading.ManualResetEvent
InstanceId : e124bb59-8cb2-498b-a0d2-2e07d4e030ca
Id : 1
Name : Job1
ChildJobs : {Job2, Job3}
Output : {}
Error : {}
Progress : {}
Verbose : {}
Debug : {}
Warning : {}
StateChanged :
 
PS C:\&gt;$results = $j | Receive-Job
</dev:code><dev:remarks><maml:para>These commands run a background job on two remote computers. Because the Invoke-Command command uses the AsJob parameter, the commands run on the remote computers, but the job actually resides on the local computer and the results are transmitted to the local computer.</maml:para><maml:para>The first command uses the New-PSSession cmdlet to create sessions on the Server01 and Server02 remote computers.</maml:para><maml:para>The second command uses the Invoke-Command cmdlet to run a background job in each of the sessions. The command uses the AsJob parameter to run the command as a background job. This command returns a job object that contains two child job objects, one for each of the jobs run on the two remote computers.</maml:para><maml:para>The third command uses a Get-Job command to save the job object in the $j variable.</maml:para><maml:para>The fourth command uses a pipeline operator (|) to send the value of the $j variable to the Format-List cmdlet, which displays all properties of the job object in a list.</maml:para><maml:para>The fifth command gets the results of the jobs. It pipes the job object in $j to the Receive-Job cmdlet and stores the results in the $results variable.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
-------------------------- EXAMPLE 9 --------------------------
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;$MWFO_Log = "Microsoft-Windows-Forwarding/Operational"
PS C:\&gt;Invoke-Command -ComputerName Server01 -ScriptBlock {Get-EventLog -LogName $Using:MWFO_Log -Newest 10}
</dev:code><dev:remarks><maml:para>This example shows how to include the values of local variables in a command run on a remote computer. The command uses the Using scope modifier to identify a local variable in a remote command. By default, all variables are assumed to be defined in the remote session. The Using scope modifier was introduced in Windows PowerShell 3.0. For more information about the Using scope modifier, see about_Remote_Variables http://go.microsoft.com/fwlink/?LinkID=252653.</maml:para><maml:para>The first command saves the name of the Microsoft-Windows-Forwarding/Operational event log in the $MWFO_Log variable.</maml:para><maml:para>The second command uses the Invoke-Command cmdlet to run a Get-EventLog command on the Server01 remote computer that gets the 10 newest events from the Microsoft-Windows-Forwarding/Operational event log on Server01. The value of the LogName parameter is the $MWFO_Log variable, which is prefixed by the Using scope modifier to indicate that it was created in the local session, not in the remote session.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
-------------------------- EXAMPLE 10 --------------------------
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Invoke-Command -ComputerName S1, S2 -ScriptBlock {Get-Process PowerShell}
 
PSComputerName Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
-------------- ------- ------ ----- ----- ----- ------ -- -----------
S1 575 15 45100 40988 200 4.68 1392 PowerShell
S2 777 14 35100 30988 150 3.68 67 PowerShell
 
PS C:\&gt;Invoke-Command -ComputerName S1, S2 -ScriptBlock {Get-Process PowerShell} -HideComputerName
 
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
------- ------ ----- ----- ----- ------ -- -----------
575 15 45100 40988 200 4.68 1392 PowerShell
777 14 35100 30988 150 3.68 67 PowerShell
</dev:code><dev:remarks><maml:para>This example shows the effect of using the HideComputerName parameter of Invoke-Command.</maml:para><maml:para>The first two commands use the Invoke-Command cmdlet to run a Get-Process command for the PowerShell process. The output of the first command includes the PsComputerName property, which contains the name of the computer on which the command ran. The output of the second command, which uses the HideComputerName parameter, does not include the PsComputerName column.</maml:para><maml:para>Using the HideComputerName parameter does not change the object; it just changes the display. You can still use the Format cmdlets to display the PsComputerName property of any of the affected objects.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
-------------------------- EXAMPLE 11 --------------------------
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Invoke-Command -ComputerName (Get-Content Servers.txt) -FilePath C:\Scripts\Sample.ps1 -ArgumentList Process, Service
</dev:code><dev:remarks><maml:para>This example uses the Invoke-Command cmdlet to run the Sample.ps1 script on all of the computers listed in the Servers.txt file. The command uses the FilePath parameter to specify the script file. This command allows you to run the script on the remote computers, even if the script file is not accessible to the remote computers.</maml:para><maml:para>When you submit the command, the content of the Sample.ps1 file is copied into a script block and the script block is run on each of the remote computers. This procedure is equivalent to using the ScriptBlock parameter to submit the contents of the script.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
-------------------------- EXAMPLE 12 --------------------------
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;$LiveCred = Get-Credential
 
PS C:\&gt;Invoke-Command -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.exchangelabs.com/PowerShell -Credential $LiveCred -Authentication Basic -ScriptBlock {Set-Mailbox Dan -DisplayName "Dan Park"}
</dev:code><dev:remarks><maml:para>This example shows how to run a command on a remote computer that is identified by a URI (Internet address). This particular example runs a Set-Mailbox command on a remote Exchange server. The backtick (`) in the command is the Windows PowerShell continuation character.</maml:para><maml:para>The first command uses the Get-Credential cmdlet to store Windows Live ID credentials in the $LiveCred variable. A credentials dialog box prompts the user to enter Windows Live ID credentials.</maml:para><maml:para>The second command uses the Invoke-Command cmdlet to run a Set-Mailbox command. The command uses the ConfigurationName parameter to specify that the command should run in a session that uses the Microsoft.Exchange session configuration. The ConnectionURI parameter specifies the URL of the Exchange server endpoint.</maml:para><maml:para>The Credential parameter specifies the Windows Live credentials stored in the $LiveCred variable. The AuthenticationMechanism parameter specifies the use of basic authentication. The ScriptBlock parameter specifies a script block that contains the command.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
-------------------------- EXAMPLE 13 --------------------------
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;$max = New-PSSessionOption -MaximumRedirection 1
 
PS C:\&gt;Invoke-Command -ConnectionUri https://ps.exchangelabs.com/PowerShell -ScriptBlock {Get-Mailbox dan} -AllowRedirection -SessionOption $max
</dev:code><dev:remarks><maml:para>This command shows how to use the AllowRedirection and SessionOption parameters to manage URI redirection in a remote command.</maml:para><maml:para>The first command uses the New-PSSessionOption cmdlet to create a PSSessionOpption object that it saves in the $Max variable. The command uses the MaximumRedirection parameter to set the MaximumConnectionRedirectionCount property of the PSSessionOption object to 1.</maml:para><maml:para>The second command uses the Invoke-Command cmdlet to run a Get-Mailbox command on a remote server running Microsoft Exchange Server. The command uses the AllowRedirection parameter to provide explicit permission to redirect the connection to an alternate endpoint. It also uses the SessionOption parameter to specify the session object in the $max variable.</maml:para><maml:para>As a result, if the remote computer specified by the ConnectionURI parameter returns a redirection message, Windows PowerShell will redirect the connection, but if the new destination returns another redirection message, the redirection count value of 1 is exceeded, and Invoke-Command returns a non-terminating error.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
-------------------------- EXAMPLE 14 --------------------------
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;$so = New-PSSessionOption -SkipCACheck
PS C:\&gt;Invoke-Command -Session $s -ScriptBlock { Get-Hotfix } -SessionOption $so -Credential server01\user01
</dev:code><dev:remarks><maml:para>This example shows how to create and use a SessionOption parameter.</maml:para><maml:para>The first command uses the New-PSSessionOption cmdlet to create a session option. It saves the resulting SessionOption object in the $so parameter.</maml:para><maml:para>The second command uses the Invoke-Command cmdlet to run a Get-HotFix command remotely. The value of the SessionOption parameter is the SessionOption object in the $so variable.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
-------------------------- EXAMPLE 15 --------------------------
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Enable-WSManCredSSP -Delegate Server02
PS C:\&gt;Connect-WSMan Server02
PS C:\&gt;Set-Item WSMan:\Server02*\Service\Auth\CredSSP -Value $true
PS C:\&gt;$s = New-PSSession Server02
PS C:\&gt;Invoke-Command -Session $s -ScriptBlock {Get-Item \\Net03\Scripts\LogFiles.ps1} -Authentication CredSSP -Credential Domain01\Admin01
</dev:code><dev:remarks><maml:para>This example shows how to access a network share from within a remote session.</maml:para><maml:para>The command requires that CredSSP delegation be enabled in the client settings on the local computer and in the service settings on the remote computer. To run the commands in this example, you must be a member of the Administrators group on the local computer and the remote computer.</maml:para><maml:para>The first command uses the Enable-WSManCredSSP cmdlet to enable CredSSP delegation from the Server01 local computer to the Server02 remote computer. This configures the CredSSP client setting on the local computer.</maml:para><maml:para>The second command uses the Connect-WSMan cmdlet to connect to the Server02 computer. This action adds a node for the Server02 computer to the WSMan: drive on the local computer, allowing you to view and change the WS-Management settings on the Server02 computer.</maml:para><maml:para>The third command uses the Set-Item cmdlet to change the value of the CredSSP item in the Service node of the Server02 computer to True. This action enables CredSSP in the service settings on the remote computer.</maml:para><maml:para>The fourth command uses the New-PSSession cmdlet to create a PSSession on the Server02 computer. It saves the PSSession in the $s variable.</maml:para><maml:para>The fifth command uses the Invoke-Command cmdlet to run a Get-Item command in the session in $s that gets a script from the Net03\Scripts network share. The command uses the Credential parameter and it uses the Authentication parameter with a value of CredSSP.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
-------------------------- EXAMPLE 16 --------------------------
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Invoke-Command -ComputerName (Get-Content Servers.txt) -InDisconnectedSession -FilePath \\Scripts\Public\ConfigInventory.ps1 -SessionOption @{OutputBufferingMode="Drop";IdleTimeout=43200000}
</dev:code><dev:remarks><maml:para>This command runs a script on more than a hundred computers. To minimize the impact on the local computer, it connects to each computer, starts the script, and then disconnects from each computer. The script continues to run in the disconnected sessions.</maml:para><maml:para>The command uses the Invoke-Command cmdlet to run the script. The value of the ComputerName parameter is a Get-Content command that gets the names of the remote computers from a text file. The InDisconnectedSession parameter disconnects the sessions as soon as it starts the command. The value of the FilePath parameter is the script that Invoke-Command runs on each computer that is named in the Servers.txt file.</maml:para><maml:para>The value of the SessionOption parameter is a hash table that sets the value of the OutputBufferingMode option to Drop and the value of the IdleTimeout option to 43200000 milliseconds (12 hours).</maml:para><maml:para>To get the results of commands and scripts that run in disconnected sessions, use the Receive-PSSession cmdlet.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=289592</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Enter-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Exit-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Get-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Invoke-Item</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>New-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Remove-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>WSMan Provider</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_PSSessions</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Remote</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Remote_Disconnected_Sessions</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Remote_Variables</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Scopes</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>Invoke-History</command:name><maml:description><maml:para>Runs commands from the session history.</maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>Invoke</command:verb><command:noun>History</command:noun><dev:version /></command:details><maml:description><maml:para>The Invoke-History cmdlet runs commands from the session history. You can pass objects representing the commands from Get-History to Invoke-History, or you can identify commands in the current history by using their ID number. To find the identification number of a command, use the Get-History cmdlet.</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>Invoke-History</maml:name><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="true (ByPropertyName)" position="1" aliases=""><maml:name>Id</maml:name><maml:description><maml:para>Identifies a command in the history. You can type the ID number of the command or the first few characters of the command.</maml:para><maml:para>If you type characters, Invoke-History matches the most recent commands first. If you omit this parameter, Invoke-History runs the last (most recent) command. The parameter name ("id") is optional. To find the ID number of a command, use the Get-History cmdlet.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="true (ByPropertyName)" position="1" aliases=""><maml:name>Id</maml:name><maml:description><maml:para>Identifies a command in the history. You can type the ID number of the command or the first few characters of the command.</maml:para><maml:para>If you type characters, Invoke-History matches the most recent commands first. If you omit this parameter, Invoke-History runs the last (most recent) command. The parameter name ("id") is optional. To find the ID number of a command, use the Get-History cmdlet.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>false</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>false</dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name>System.String</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You can pipe a history ID to Invoke-History.</maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name>None</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>Invoke-History does not generate any output, but output might be generated by the commands that Invoke-History runs.</maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><maml:alertSet><maml:title /><maml:alert><maml:para>The session history is a list of the commands entered during the session along with the ID. The session history represents the order of execution, the status, and the start and end times of the command. As you enter each command, Windows PowerShell adds it to the history so that you can reuse it. For more information about the session history, see about_History (http://go.microsoft.com/fwlink/?LinkID=113233).</maml:para><maml:para>You can also refer to Invoke-History by its built-in aliases, "r" and "ihy". For more information, see about_Aliases (http://go.microsoft.com/fwlink/?LinkID=113207).</maml:para></maml:alert><maml:alert><maml:para></maml:para></maml:alert></maml:alertSet><command:examples><command:example><maml:title>
  
-------------------------- EXAMPLE 1 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Invoke-History
</dev:code><dev:remarks><maml:para>This command runs the last (most recent) command in the session history. You can abbreviate this command as "r" (think "repeat" or "rerun"), the alias for Invoke-History.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 2 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Invoke-History -Id 132
</dev:code><dev:remarks><maml:para>This command runs the command in the session history with ID 132. Because the name of the Id parameter is optional, you can abbreviate this command as "Invoke-History 132", "ihy 132", or "r 132".</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 3 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Invoke-History get-pr
</dev:code><dev:remarks><maml:para>This command runs the most recent Get-Process command in the session history. When you type characters for the Id parameter, Invoke-History runs the first command that it finds that matches the pattern, beginning with the most recent commands. This command uses the Id parameter, but it omits the optional parameter name.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 4 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;16..24 | ForEach {Invoke-History -Id $_ }
</dev:code><dev:remarks><maml:para>This command runs commands 16 through 24. Because you can list only one ID value, the command uses the ForEach-Object cmdlet to run the Invoke-History command once for each ID value.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 5 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-History -Id 255 -Count 7 | Invoke-History
</dev:code><dev:remarks><maml:para>This command runs the 7 commands in the history that end with command 255 (typically 249 through 255). It uses the Get-History cmdlet to retrieve the commands. The pipeline operator (|) passes the commands to Invoke-History, which executes them.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=289593</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Add-History</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Clear-History</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Get-History</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_History</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>New-Module</command:name><maml:description><maml:para>Creates a new dynamic module that exists only in memory.</maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>New</command:verb><command:noun>Module</command:noun><dev:version /></command:details><maml:description><maml:para>The New-Module cmdlet creates a dynamic module from a script block. The members of the dynamic module, such as functions and variables, are immediately available in the session and remain available until you close the session.</maml:para><maml:para>Like static modules, by default, the cmdlets and functions in a dynamic module are exported and the variables and aliases are not. However, you can use the Export-ModuleMember cmdlet and the parameters of New-Module to override the defaults.</maml:para><maml:para>You can also use the AsCustomObject parameter of the New-Module cmdlet to return the dynamic module as a custom object. The members of the modules, such as functions, are implemented as script methods of the custom object instead of being imported into the session.</maml:para><maml:para>Dynamic modules exist only in memory, not on disk. Like all modules, the members of dynamic modules run in a private module scope that is a child of the global scope. Get-Module cannot get a dynamic module, but Get-Command can get the exported members.</maml:para><maml:para>To make a dynamic module available to Get-Module, pipe a New-Module command to Import-Module, or pipe the module object that New-Module returns to Import-Module. This action adds the dynamic module to the Get-Module list, but it does not save the module to disk or make it persistent.</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>New-Module</maml:name><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1" aliases=""><maml:name>ScriptBlock</maml:name><maml:description><maml:para>Specifies the contents of the dynamic module. Enclose the contents in braces ( { } ) to create a script block. This parameter is required.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">ScriptBlock</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ArgumentList</maml:name><maml:description><maml:para>Specifies arguments (parameter values) that are passed to the script block.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Object[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>AsCustomObject</maml:name><maml:description><maml:para>Returns a custom object that represents the dynamic module. The module members are implemented as script methods of the custom object, but they are not imported into the session. You can save the custom object in a variable and use dot notation to invoke the members.</maml:para><maml:para>If the module has multiple members with the same name, such as a function and a variable that are both named "A," only one member with each name is accessible from the custom object.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>Cmdlet</maml:name><maml:description><maml:para>Exports only the specified cmdlets from the module into the current session. Enter a comma-separated list of cmdlets. Wildcard characters are permitted. By default, all cmdlets in the module are exported.</maml:para><maml:para>You cannot define cmdlets in a script block, but a dynamic module can include cmdlets if it imports the cmdlets from a binary module.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>Function</maml:name><maml:description><maml:para>Exports only the specified functions from the module into the current session. Enter a comma-separated list of functions. Wildcard characters are permitted. By default, all functions defined in a module are exported.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ReturnResult</maml:name><maml:description><maml:para>Runs the script block and returns the script block results instead of returning a module object.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>New-Module</maml:name><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Specifies a name for the new module. You can also pipe a module name to New-Module.</maml:para><maml:para>The default value is an autogenerated name that begins with "__DynamicModule_" and is followed by a GUID that specifies the path to the dynamic module.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="2" aliases=""><maml:name>ScriptBlock</maml:name><maml:description><maml:para>Specifies the contents of the dynamic module. Enclose the contents in braces ( { } ) to create a script block. This parameter is required.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">ScriptBlock</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ArgumentList</maml:name><maml:description><maml:para>Specifies arguments (parameter values) that are passed to the script block.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Object[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>AsCustomObject</maml:name><maml:description><maml:para>Returns a custom object that represents the dynamic module. The module members are implemented as script methods of the custom object, but they are not imported into the session. You can save the custom object in a variable and use dot notation to invoke the members.</maml:para><maml:para>If the module has multiple members with the same name, such as a function and a variable that are both named "A," only one member with each name is accessible from the custom object.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>Cmdlet</maml:name><maml:description><maml:para>Exports only the specified cmdlets from the module into the current session. Enter a comma-separated list of cmdlets. Wildcard characters are permitted. By default, all cmdlets in the module are exported.</maml:para><maml:para>You cannot define cmdlets in a script block, but a dynamic module can include cmdlets if it imports the cmdlets from a binary module.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>Function</maml:name><maml:description><maml:para>Exports only the specified functions from the module into the current session. Enter a comma-separated list of functions. Wildcard characters are permitted. By default, all functions defined in a module are exported.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ReturnResult</maml:name><maml:description><maml:para>Runs the script block and returns the script block results instead of returning a module object.</maml:para></maml:description></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ArgumentList</maml:name><maml:description><maml:para>Specifies arguments (parameter values) that are passed to the script block.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Object[]</command:parameterValue><dev:type><maml:name>Object[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>AsCustomObject</maml:name><maml:description><maml:para>Returns a custom object that represents the dynamic module. The module members are implemented as script methods of the custom object, but they are not imported into the session. You can save the custom object in a variable and use dot notation to invoke the members.</maml:para><maml:para>If the module has multiple members with the same name, such as a function and a variable that are both named "A," only one member with each name is accessible from the custom object.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>Cmdlet</maml:name><maml:description><maml:para>Exports only the specified cmdlets from the module into the current session. Enter a comma-separated list of cmdlets. Wildcard characters are permitted. By default, all cmdlets in the module are exported.</maml:para><maml:para>You cannot define cmdlets in a script block, but a dynamic module can include cmdlets if it imports the cmdlets from a binary module.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>Function</maml:name><maml:description><maml:para>Exports only the specified functions from the module into the current session. Enter a comma-separated list of functions. Wildcard characters are permitted. By default, all functions defined in a module are exported.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Specifies a name for the new module. You can also pipe a module name to New-Module.</maml:para><maml:para>The default value is an autogenerated name that begins with "__DynamicModule_" and is followed by a GUID that specifies the path to the dynamic module.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>"__DynamicModule_" + GUID</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ReturnResult</maml:name><maml:description><maml:para>Runs the script block and returns the script block results instead of returning a module object.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1" aliases=""><maml:name>ScriptBlock</maml:name><maml:description><maml:para>Specifies the contents of the dynamic module. Enclose the contents in braces ( { } ) to create a script block. This parameter is required.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">ScriptBlock</command:parameterValue><dev:type><maml:name>ScriptBlock</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name>System.String</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You can pipe a module name string to New-Module.</maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name>System.Management.Automation.PSModuleInfo, System.Management.Automation.PSCustomObject, or None</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>By default, New-Module generates a PSModuleInfo object. If you use the AsCustomObject parameter, it generates a PSCustomObject object. If you use the ReturnResult parameter, it returns the result of evaluating the script block in the dynamic module.</maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><maml:alertSet><maml:title /><maml:alert><maml:para>You can also refer to New-Module by its alias, "nmo". For more information, see about_Aliases.</maml:para></maml:alert><maml:alert><maml:para></maml:para></maml:alert></maml:alertSet><command:examples><command:example><maml:title>
  
-------------------------- EXAMPLE 1 --------------------------
  
  
                        
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;new-module -scriptblock {function Hello {"Hello!"}}
 
Name : __DynamicModule_2ceb1d0a-990f-45e4-9fe4-89f0f6ead0e5
Path : 2ceb1d0a-990f-45e4-9fe4-89f0f6ead0e5
Description :
Guid : 00000000-0000-0000-0000-000000000000
Version : 0.0
ModuleBase :
ModuleType : Script
PrivateData :
AccessMode : ReadWrite
ExportedAliases : {}
ExportedCmdlets : {}
ExportedFunctions : {[Hello, Hello]}
ExportedVariables : {}
NestedModules : {}
</dev:code><dev:remarks><maml:para>This command creates a new dynamic module with a function called "Hello". The command returns a module object that represents the new dynamic module.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 2 --------------------------
  
  
                        
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;new-module -scriptblock {function Hello {"Hello!"}}
 
Name : __DynamicModule_2ceb1d0a-990f-45e4-9fe4-89f0f6ead0e5
Path : 2ceb1d0a-990f-45e4-9fe4-89f0f6ead0e5
Description :
Guid : 00000000-0000-0000-0000-000000000000
Version : 0.0
ModuleBase :
ModuleType : Script
PrivateData :
AccessMode : ReadWrite
ExportedAliases : {}
ExportedCmdlets : {}
ExportedFunctions : {[Hello, Hello]}
ExportedVariables : {}
NestedModules : {}
PS C:\&gt;get-module
PS C:\&gt;
PS C:\&gt;get-command Hello
 
CommandType Name Definition
----------- ---- ----------
Function Hello "Hello!"
</dev:code><dev:remarks><maml:para>This example demonstrates that dynamic modules are not returned by the Get-Module cmdlet, but the members that they export are returned by the Get-Command cmdlet.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 3 --------------------------
  
  
                        
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;New-Module -scriptblock {$SayHelloHelp="Type 'SayHello', a space, and a name."; function SayHello ($name) { "Hello, $name" }; Export-ModuleMember -function SayHello -Variable SayHelloHelp}
 
PS C:\&gt;$SayHelloHelp
 
Type 'SayHello', a space, and a name.
 
PS C:\&gt;SayHello Jeffrey
Hello, Jeffrey
</dev:code><dev:remarks><maml:para>This command uses the Export-ModuleMember cmdlet to export a variable into the current session. Without the Export-ModuleMember command, only the function is exported.</maml:para><maml:para>The output shows that both the variable and the function were exported into the session.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 4 --------------------------
  
  
                        
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;new-module -scriptblock {function Hello {"Hello!"}} -name GreetingModule | import-module
PS C:\&gt;get-module
 
Name : GreetingModule
Path : d54dfdac-4531-4db2-9dec-0b4b9c57a1e5
Description :
Guid : 00000000-0000-0000-0000-000000000000
Version : 0.0
ModuleBase :
ModuleType : Script
PrivateData :
AccessMode : ReadWrite
ExportedAliases : {}
ExportedCmdlets : {}
ExportedFunctions : {[Hello, Hello]}
ExportedVariables : {}
NestedModules : {}
 
PS C:\&gt;get-command hello
 
CommandType Name Definition
----------- ---- ----------
Function Hello "Hello!"
</dev:code><dev:remarks><maml:para>This command demonstrates that you can make a dynamic module available to the Get-Module cmdlet by piping the dynamic module to the Import-Module cmdlet.</maml:para><maml:para>The first command uses a pipeline operator (|) to send the module object that New-Module generates to the Import-Module cmdlet. The command uses the Name parameter of New-Module to assign a friendly name to the module. Because Import-Module does not return any objects by default, there is no output from this command.</maml:para><maml:para>The second command uses the Get-Module cmdlet to get the modules in the session. The result shows that Get-Module can get the new dynamic module.</maml:para><maml:para>The third command uses the Get-Command cmdlet to get the Hello function that the dynamic module exports.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 5 --------------------------
  
  
                        
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;$m = new-module -scriptblock {function Hello ($name) {"Hello, $name"}; function Goodbye ($name) {"Goodbye, $name"}} -AsCustomObject
PS C:\&gt;$m
PS C:\&gt;$m | get-member
TypeName: System.Management.Automation.PSCustomObject
 
Name MemberType Definition
---- ---------- ----------
Equals Method bool Equals(System.Object obj)
GetHashCode Method int GetHashCode()
GetType Method type GetType()
ToString Method string ToString()
Goodbye ScriptMethod System.Object Goodbye();
Hello ScriptMethod System.Object Hello();
 
PS C:\ps-test&gt; $m.goodbye("Jane")
Goodbye, Jane
 
PS C:\ps-test&gt; $m.hello("Manoj")
Hello, Manoj
</dev:code><dev:remarks><maml:para></maml:para><maml:para>This example shows how to use the AsCustomObject parameter of New-Module to generate a custom object with script methods that represent the exported functions.</maml:para><maml:para>The first command uses the New-Module cmdlet to generate a dynamic module with two functions, Hello and Goodbye. The command uses the AsCustomObject parameter to generate a custom object instead of the PSModuleInfo object that New-Module generates by default. The command saves the custom object in the $m variable.</maml:para><maml:para>The second command attempts to display the value of the $m variable. No content appears.</maml:para><maml:para>The third command uses a pipeline operator (|) to send the custom object to the Get-Member cmdlet, which displays the properties and methods of the custom object. The output shows that the object has script methods that represent the Hello and Goodbye functions.</maml:para><maml:para>The fourth and fifth commands use the script method format to call the Hello and Goodbye functions.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 6 --------------------------
  
  
                        
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;new-module -scriptblock {function SayHello {"Hello, World!"}; SayHello} -returnResult
Hello, World!
</dev:code><dev:remarks><maml:para>This command uses the ReturnResult parameter to request the results of running the script block instead of requesting a module object.</maml:para><maml:para>The script block in the new module defines the SayHello function and then calls the function.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=289594</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Export-ModuleMember</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Get-Module</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Import-Module</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Remove-Module</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Modules</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>New-ModuleManifest</command:name><maml:description><maml:para>Creates a new module manifest.</maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>New</command:verb><command:noun>ModuleManifest</command:noun><dev:version /></command:details><maml:description><maml:para>The New-ModuleManifest cmdlet creates a new module manifest (.psd1) file, populates its values, and saves the manifest file in the specified path.</maml:para><maml:para>Module authors can use this cmdlet to create a manifest for their module. A module manifest is a .psd1 file that contains a hash table. The keys and values in the hash table describe the contents and attributes of the module, define the prerequisites, and determine how the components are processed. Manifests are not required for a module.</maml:para><maml:para>New-ModuleManifest creates a manifest that includes all of the commonly used manifest keys, so you can use the default output as a manifest template. To add or change values, or to add module keys that this cmdlet does not add, open the resulting file in a text editor.</maml:para><maml:para>Each parameter of this cmdlet (except for Path and PassThru) creates a module manifest key and its value. In a module manifest, only the ModuleVersion key is required. Unless specified in the parameter description, if you omit a parameter from the command, New-ModuleManifest creates a comment string for the associated value that has no effect.</maml:para><maml:para>In Windows PowerShell 2.0, New-ModuleManifest prompts you for the values of commonly used parameters that are not specified in the command, in addition to required parameter values. Beginning in Windows PowerShell 3.0, it prompts only when required parameter values are not specified.</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>New-ModuleManifest</maml:name><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1" aliases=""><maml:name>Path</maml:name><maml:description><maml:para>Specifies the path and file name of the new module manifest. Enter a path and file name with a .psd1 file name extension, such as "$pshome\Modules\MyModule\MyModule.psd1". This parameter is required.</maml:para><maml:para>If you specify the path to an existing file, New-ModuleManifest replaces the file without warning unless the file has the read-only attribute.</maml:para><maml:para>The manifest should be located in the module's directory, and the manifest file name should be the same as the module directory name, but with a .psd1 file name extension.</maml:para><maml:para>Note: You cannot use variables, such as $pshome or $home, in response to a prompt for a Path parameter value. To use a variable, include the Path parameter in the command.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>AliasesToExport</maml:name><maml:description><maml:para>Specifies the aliases that the module exports. Wildcards are permitted.</maml:para><maml:para>You can use this parameter to restrict the aliases that are exported by the module. It can remove aliases from the list of exported aliases, but it cannot add aliases to the list.</maml:para><maml:para>If you omit this parameter, New-ModuleManifest creates an AliasesToExport key with a value of * (all), meaning that all aliases that are exported by the module are exported by the manifest.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Author</maml:name><maml:description><maml:para>Specifies the module author.</maml:para><maml:para>If you omit this parameter, New-ModuleManifest creates an Author key with the name of the current user.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ClrVersion</maml:name><maml:description><maml:para>Specifies the minimum version of the Common Language Runtime (CLR) of the Microsoft .NET Framework that the module requires.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Version</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>CmdletsToExport</maml:name><maml:description><maml:para>Specifies the cmdlets that the module exports. Wildcards are permitted.</maml:para><maml:para>You can use this parameter to restrict the cmdlets that are exported by the module. It can remove cmdlets from the list of exported cmdlets, but it cannot add cmdlets to the list.</maml:para><maml:para>If you omit this parameter, New-ModuleManifest creates a CmdletsToExport key with a value of * (all), meaning that all cmdlets that are exported by the module are exported by the manifest.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CompanyName</maml:name><maml:description><maml:para>Identifies the company or vendor who created the module.</maml:para><maml:para>If you omit this parameter, New-ModuleManifest creates a CompanyName key with a value of "Unknown".</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Copyright</maml:name><maml:description><maml:para>Specifies a copyright statement for the module.</maml:para><maml:para>If you omit this parameter, New-ModuleManifest creates a Copyright key with a value of "(c) &lt;year&gt; &lt;username&gt;. All rights reserved." where &lt;year&gt; is the current year and &lt;username&gt; is the value of the Author key (if one is specified) or the name of the current user.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>DefaultCommandPrefix</maml:name><maml:description><maml:para>Specifies a prefix that is prepended to the nouns of all commands in the module when they are imported into a session. Enter a prefix string. Prefixes prevent command name conflicts in a user's session.</maml:para><maml:para>Module users can override this prefix by specifying the Prefix parameter of the Import-Module cmdlet.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Description</maml:name><maml:description><maml:para>Describes the contents of the module.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>DotNetFrameworkVersion</maml:name><maml:description><maml:para>Specifies the minimum version of the Microsoft .NET Framework that the module requires.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Version</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>FileList</maml:name><maml:description><maml:para>Specifies all items that are included in the module.</maml:para><maml:para>This key is designed to act as a module inventory. The files listed in the key are not automatically exported with the module.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>FormatsToProcess</maml:name><maml:description><maml:para>Specifies the formatting files (.ps1xml) that run when the module is imported.</maml:para><maml:para>When you import a module, Windows PowerShell runs the Update-FormatData cmdlet with the specified files. Because formatting files are not scoped, they affect all session states in the session.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>FunctionsToExport</maml:name><maml:description><maml:para>Specifies the functions that the module exports. Wildcards are permitted.</maml:para><maml:para>You can use this parameter to restrict the functions that are exported by the module. It can remove functions from the list of exported aliases, but it cannot add functions to the list.</maml:para><maml:para>If you omit this parameter, New-ModuleManifest creates an FunctionsToExport key with a value of * (all), meaning that all functions that are exported by the module are exported by the manifest.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Guid</maml:name><maml:description><maml:para>Specifies a unique identifier for the module. The GUID can be used to distinguish among modules with the same name.</maml:para><maml:para>If you omit this parameter, New-ModuleManifest creates a GUID key in the manifest and generates a GUID for the value.</maml:para><maml:para>To create a new GUID in Windows PowerShell, type "[guid]::NewGuid()".</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Guid</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="" pipelineInput="false" position="named" aliases=""><maml:name>HelpInfoUri</maml:name><maml:description><maml:para>Specifies the Internet address of the HelpInfo XML file for the module. Enter an Uniform Resource Identifier (URI) that begins with "http" or "https".</maml:para><maml:para>The HelpInfo XML file supports the Updatable Help feature that was introduced in Windows PowerShell 3.0. It contains information about the location of downloadable help files for the module and the version numbers of the newest help files for each supported locale. For information about Updatable Help, see about_Updatable_Help (http://go.microsoft.com/fwlink/?LinkID=235801). For information about the HelpInfo XML file, see "Supporting Updatable Help" in MSDN.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ModuleList</maml:name><maml:description><maml:para>Lists all modules that are included in this module.</maml:para><maml:para>Enter each module name as a string or as a hash table with ModuleName and ModuleVersion keys. The hash table can also have an optional GUID key. You can combine strings and hash tables in the parameter value. For more information, see the examples.</maml:para><maml:para>This key is designed to act as a module inventory. The modules that are listed in the value of this key are not automatically processed.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Object[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ModuleVersion</maml:name><maml:description><maml:para>Specifies the version of the module.</maml:para><maml:para>This parameter is not required by the cmdlet, but a ModuleVersion key is required in the manifest. If you omit this parameter, New-ModuleManifest creates a ModuleVersion key with a value of "1.0".</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Version</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>NestedModules</maml:name><maml:description><maml:para>Specifies script modules (.psm1) and binary modules (.dll) that are imported into the module's session state. The files in the NestedModules key run in the order in which they are listed in the value.</maml:para><maml:para>Enter each module name as a string or as a hash table with ModuleName and ModuleVersion keys. The hash table can also have an optional GUID key. You can combine strings and hash tables in the parameter value. For more information, see the examples.</maml:para><maml:para>Typically, nested modules contain commands that the root module needs for its internal processing. By default, the commands in nested modules are exported from the module's session state into the caller's session state, but the root module can restrict the commands that it exports (for example, by using an Export-ModuleMembercommand).</maml:para><maml:para>Nested modules in the module session state are available to the root module, but they are not returned by a Get-Module command in the caller's session state.</maml:para><maml:para>Scripts (.ps1) that are listed in the NestedModules key are run in the module's session state, not in the caller's session state. To run a script in the caller's session state, list the script file name in the value of the ScriptsToProcess key in the manifest.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Object[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>PassThru</maml:name><maml:description><maml:para>Writes the resulting module manifest to the console, in addition to creating a .psd1 file. By default, this cmdlet does not generate any output.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>PowerShellHostName</maml:name><maml:description><maml:para>Specifies the name of the Windows PowerShell host program that the module requires. Enter the name of the host program, such as "Windows PowerShell ISE Host" or "ConsoleHost". Wildcards are not permitted.</maml:para><maml:para>To find the name of a host program, in the program, type "$host.name".</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>PowerShellHostVersion</maml:name><maml:description><maml:para>Specifies the minimum version of the Windows PowerShell host program that works with the module. Enter a version number, such as 1.1.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Version</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>PowerShellVersion</maml:name><maml:description><maml:para>Specifies the minimum version of Windows PowerShell that will work with this module. Enter 1.0, 2.0, or 3.0. Requirements for versions greater than 3.0 are not enforced.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Version</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>PrivateData</maml:name><maml:description><maml:para>Specifies data that is passed to the module when it is imported.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Object</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ProcessorArchitecture</maml:name><maml:description><maml:para>Specifies the processor architecture that the module requires. Valid values are x86, AMD64, IA64, and None (unknown or unspecified).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">ProcessorArchitecture</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>RequiredAssemblies</maml:name><maml:description><maml:para>Specifies the assembly (.dll) files that the module requires. Enter the assembly file names. Windows PowerShell loads the specified assemblies before updating types or formats, importing nested modules, or importing the module file that is specified in the value of the RootModule key.</maml:para><maml:para>Use this parameter to list all the assemblies that the module requires, including assemblies that must be loaded to update any formatting or type files that are listed in the FormatsToProcess or TypesToProcess keys, even if those assemblies are also listed as binary modules in the NestedModules key.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>RequiredModules</maml:name><maml:description><maml:para>Specifies modules that must be in the global session state. If the required modules are not in the global session state, Windows PowerShell imports them. If the required modules are not available, the Import-Module command fails.</maml:para><maml:para>Enter each module name as a string or as a hash table with ModuleName and ModuleVersion keys. The hash table can also have an optional GUID key. You can combine strings and hash tables in the parameter value. For more information, see the examples.</maml:para><maml:para>In Windows PowerShell 2.0, Import-Module does not import required modules automatically. It just verifies that the required modules are in the global session state.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Object[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="ModuleToProcess"><maml:name>RootModule</maml:name><maml:description><maml:para>Specifies the primary or "root" file of the module. Enter the file name of a script (.ps1), a script module (.psm1), a module manifest(.psd1), an assembly (.dll), a cmdlet definition XML file (.cdxml), or a workflow (.xaml). When the module is imported, the members that are exported from the root module file are imported into the caller's session state. </maml:para><maml:para>If a module has a manifest file and no root file has been designated in the RootModule key, the manifest becomes the primary file for the module, and the module becomes a "manifest module" (ModuleType = Manifest).</maml:para><maml:para>To export members from .psm1 or .dll files in a module that has a manifest, the names of those files must be specified in the values of the RootModule or NestedModules keys in the manifest. Otherwise, their members are not exported.</maml:para><maml:para>Note: In Windows PowerShell 2.0, this key was called "ModuleToProcess." You can use the "RootModule" parameter name or its "ModuleToProcess" alias.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ScriptsToProcess</maml:name><maml:description><maml:para>Specifies script (.ps1) files that run in the caller's session state when the module is imported. You can use these scripts to prepare an environment, just as you might use a login script.</maml:para><maml:para>To specify scripts that run in the module's session state, use the NestedModules key.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>TypesToProcess</maml:name><maml:description><maml:para>Specifies the type files (.ps1xml) that run when the module is imported.</maml:para><maml:para>When you import the module, Windows PowerShell runs the Update-TypeData cmdlet with the specified files. Because type files are not scoped, they affect all session states in the session.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>VariablesToExport</maml:name><maml:description><maml:para>Specifies the variables that the module exports. Wildcards are permitted.</maml:para><maml:para>You can use this parameter to restrict the variables that are exported by the module. It can remove variables from the list of exported variables, but it cannot add variables to the list.</maml:para><maml:para>If you omit this parameter, New-ModuleManifest creates a VariablesToExport key with a value of * (all), meaning that all variables that are exported by the module are exported by the manifest.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>AliasesToExport</maml:name><maml:description><maml:para>Specifies the aliases that the module exports. Wildcards are permitted.</maml:para><maml:para>You can use this parameter to restrict the aliases that are exported by the module. It can remove aliases from the list of exported aliases, but it cannot add aliases to the list.</maml:para><maml:para>If you omit this parameter, New-ModuleManifest creates an AliasesToExport key with a value of * (all), meaning that all aliases that are exported by the module are exported by the manifest.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>* (all)</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Author</maml:name><maml:description><maml:para>Specifies the module author.</maml:para><maml:para>If you omit this parameter, New-ModuleManifest creates an Author key with the name of the current user.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>Name of the current user</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ClrVersion</maml:name><maml:description><maml:para>Specifies the minimum version of the Common Language Runtime (CLR) of the Microsoft .NET Framework that the module requires.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Version</command:parameterValue><dev:type><maml:name>Version</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>CmdletsToExport</maml:name><maml:description><maml:para>Specifies the cmdlets that the module exports. Wildcards are permitted.</maml:para><maml:para>You can use this parameter to restrict the cmdlets that are exported by the module. It can remove cmdlets from the list of exported cmdlets, but it cannot add cmdlets to the list.</maml:para><maml:para>If you omit this parameter, New-ModuleManifest creates a CmdletsToExport key with a value of * (all), meaning that all cmdlets that are exported by the module are exported by the manifest.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>* (all)</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CompanyName</maml:name><maml:description><maml:para>Identifies the company or vendor who created the module.</maml:para><maml:para>If you omit this parameter, New-ModuleManifest creates a CompanyName key with a value of "Unknown".</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>"Unknown"</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Copyright</maml:name><maml:description><maml:para>Specifies a copyright statement for the module.</maml:para><maml:para>If you omit this parameter, New-ModuleManifest creates a Copyright key with a value of "(c) &lt;year&gt; &lt;username&gt;. All rights reserved." where &lt;year&gt; is the current year and &lt;username&gt; is the value of the Author key (if one is specified) or the name of the current user.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>(c) &lt;year&gt; &lt;username&gt;. All rights reserved.</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Description</maml:name><maml:description><maml:para>Describes the contents of the module.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>DotNetFrameworkVersion</maml:name><maml:description><maml:para>Specifies the minimum version of the Microsoft .NET Framework that the module requires.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Version</command:parameterValue><dev:type><maml:name>Version</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>FileList</maml:name><maml:description><maml:para>Specifies all items that are included in the module.</maml:para><maml:para>This key is designed to act as a module inventory. The files listed in the key are not automatically exported with the module.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>FormatsToProcess</maml:name><maml:description><maml:para>Specifies the formatting files (.ps1xml) that run when the module is imported.</maml:para><maml:para>When you import a module, Windows PowerShell runs the Update-FormatData cmdlet with the specified files. Because formatting files are not scoped, they affect all session states in the session.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>FunctionsToExport</maml:name><maml:description><maml:para>Specifies the functions that the module exports. Wildcards are permitted.</maml:para><maml:para>You can use this parameter to restrict the functions that are exported by the module. It can remove functions from the list of exported aliases, but it cannot add functions to the list.</maml:para><maml:para>If you omit this parameter, New-ModuleManifest creates an FunctionsToExport key with a value of * (all), meaning that all functions that are exported by the module are exported by the manifest.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>* (all)</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Guid</maml:name><maml:description><maml:para>Specifies a unique identifier for the module. The GUID can be used to distinguish among modules with the same name.</maml:para><maml:para>If you omit this parameter, New-ModuleManifest creates a GUID key in the manifest and generates a GUID for the value.</maml:para><maml:para>To create a new GUID in Windows PowerShell, type "[guid]::NewGuid()".</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Guid</command:parameterValue><dev:type><maml:name>Guid</maml:name><maml:uri /></dev:type><dev:defaultValue>A GUID generated for the module</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="" pipelineInput="false" position="named" aliases=""><maml:name>HelpInfoUri</maml:name><maml:description><maml:para>Specifies the Internet address of the HelpInfo XML file for the module. Enter an Uniform Resource Identifier (URI) that begins with "http" or "https".</maml:para><maml:para>The HelpInfo XML file supports the Updatable Help feature that was introduced in Windows PowerShell 3.0. It contains information about the location of downloadable help files for the module and the version numbers of the newest help files for each supported locale. For information about Updatable Help, see about_Updatable_Help (http://go.microsoft.com/fwlink/?LinkID=235801). For information about the HelpInfo XML file, see "Supporting Updatable Help" in MSDN.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ModuleList</maml:name><maml:description><maml:para>Lists all modules that are included in this module.</maml:para><maml:para>Enter each module name as a string or as a hash table with ModuleName and ModuleVersion keys. The hash table can also have an optional GUID key. You can combine strings and hash tables in the parameter value. For more information, see the examples.</maml:para><maml:para>This key is designed to act as a module inventory. The modules that are listed in the value of this key are not automatically processed.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Object[]</command:parameterValue><dev:type><maml:name>Object[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ModuleVersion</maml:name><maml:description><maml:para>Specifies the version of the module.</maml:para><maml:para>This parameter is not required by the cmdlet, but a ModuleVersion key is required in the manifest. If you omit this parameter, New-ModuleManifest creates a ModuleVersion key with a value of "1.0".</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Version</command:parameterValue><dev:type><maml:name>Version</maml:name><maml:uri /></dev:type><dev:defaultValue>1.0</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>NestedModules</maml:name><maml:description><maml:para>Specifies script modules (.psm1) and binary modules (.dll) that are imported into the module's session state. The files in the NestedModules key run in the order in which they are listed in the value.</maml:para><maml:para>Enter each module name as a string or as a hash table with ModuleName and ModuleVersion keys. The hash table can also have an optional GUID key. You can combine strings and hash tables in the parameter value. For more information, see the examples.</maml:para><maml:para>Typically, nested modules contain commands that the root module needs for its internal processing. By default, the commands in nested modules are exported from the module's session state into the caller's session state, but the root module can restrict the commands that it exports (for example, by using an Export-ModuleMembercommand).</maml:para><maml:para>Nested modules in the module session state are available to the root module, but they are not returned by a Get-Module command in the caller's session state.</maml:para><maml:para>Scripts (.ps1) that are listed in the NestedModules key are run in the module's session state, not in the caller's session state. To run a script in the caller's session state, list the script file name in the value of the ScriptsToProcess key in the manifest.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Object[]</command:parameterValue><dev:type><maml:name>Object[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>PassThru</maml:name><maml:description><maml:para>Writes the resulting module manifest to the console, in addition to creating a .psd1 file. By default, this cmdlet does not generate any output.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1" aliases=""><maml:name>Path</maml:name><maml:description><maml:para>Specifies the path and file name of the new module manifest. Enter a path and file name with a .psd1 file name extension, such as "$pshome\Modules\MyModule\MyModule.psd1". This parameter is required.</maml:para><maml:para>If you specify the path to an existing file, New-ModuleManifest replaces the file without warning unless the file has the read-only attribute.</maml:para><maml:para>The manifest should be located in the module's directory, and the manifest file name should be the same as the module directory name, but with a .psd1 file name extension.</maml:para><maml:para>Note: You cannot use variables, such as $pshome or $home, in response to a prompt for a Path parameter value. To use a variable, include the Path parameter in the command.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>PowerShellHostName</maml:name><maml:description><maml:para>Specifies the name of the Windows PowerShell host program that the module requires. Enter the name of the host program, such as "Windows PowerShell ISE Host" or "ConsoleHost". Wildcards are not permitted.</maml:para><maml:para>To find the name of a host program, in the program, type "$host.name".</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>PowerShellHostVersion</maml:name><maml:description><maml:para>Specifies the minimum version of the Windows PowerShell host program that works with the module. Enter a version number, such as 1.1.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Version</command:parameterValue><dev:type><maml:name>Version</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>PowerShellVersion</maml:name><maml:description><maml:para>Specifies the minimum version of Windows PowerShell that will work with this module. Enter 1.0, 2.0, or 3.0. Requirements for versions greater than 3.0 are not enforced.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Version</command:parameterValue><dev:type><maml:name>Version</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>PrivateData</maml:name><maml:description><maml:para>Specifies data that is passed to the module when it is imported.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Object</command:parameterValue><dev:type><maml:name>Object</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ProcessorArchitecture</maml:name><maml:description><maml:para>Specifies the processor architecture that the module requires. Valid values are x86, AMD64, IA64, and None (unknown or unspecified).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">ProcessorArchitecture</command:parameterValue><dev:type><maml:name>ProcessorArchitecture</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>RequiredAssemblies</maml:name><maml:description><maml:para>Specifies the assembly (.dll) files that the module requires. Enter the assembly file names. Windows PowerShell loads the specified assemblies before updating types or formats, importing nested modules, or importing the module file that is specified in the value of the RootModule key.</maml:para><maml:para>Use this parameter to list all the assemblies that the module requires, including assemblies that must be loaded to update any formatting or type files that are listed in the FormatsToProcess or TypesToProcess keys, even if those assemblies are also listed as binary modules in the NestedModules key.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>RequiredModules</maml:name><maml:description><maml:para>Specifies modules that must be in the global session state. If the required modules are not in the global session state, Windows PowerShell imports them. If the required modules are not available, the Import-Module command fails.</maml:para><maml:para>Enter each module name as a string or as a hash table with ModuleName and ModuleVersion keys. The hash table can also have an optional GUID key. You can combine strings and hash tables in the parameter value. For more information, see the examples.</maml:para><maml:para>In Windows PowerShell 2.0, Import-Module does not import required modules automatically. It just verifies that the required modules are in the global session state.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Object[]</command:parameterValue><dev:type><maml:name>Object[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ScriptsToProcess</maml:name><maml:description><maml:para>Specifies script (.ps1) files that run in the caller's session state when the module is imported. You can use these scripts to prepare an environment, just as you might use a login script.</maml:para><maml:para>To specify scripts that run in the module's session state, use the NestedModules key.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>TypesToProcess</maml:name><maml:description><maml:para>Specifies the type files (.ps1xml) that run when the module is imported.</maml:para><maml:para>When you import the module, Windows PowerShell runs the Update-TypeData cmdlet with the specified files. Because type files are not scoped, they affect all session states in the session.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="false" position="named" aliases=""><maml:name>VariablesToExport</maml:name><maml:description><maml:para>Specifies the variables that the module exports. Wildcards are permitted.</maml:para><maml:para>You can use this parameter to restrict the variables that are exported by the module. It can remove variables from the list of exported variables, but it cannot add variables to the list.</maml:para><maml:para>If you omit this parameter, New-ModuleManifest creates a VariablesToExport key with a value of * (all), meaning that all variables that are exported by the module are exported by the manifest.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>* (all)</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>DefaultCommandPrefix</maml:name><maml:description><maml:para>Specifies a prefix that is prepended to the nouns of all commands in the module when they are imported into a session. Enter a prefix string. Prefixes prevent command name conflicts in a user's session.</maml:para><maml:para>Module users can override this prefix by specifying the Prefix parameter of the Import-Module cmdlet.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="ModuleToProcess"><maml:name>RootModule</maml:name><maml:description><maml:para>Specifies the primary or "root" file of the module. Enter the file name of a script (.ps1), a script module (.psm1), a module manifest(.psd1), an assembly (.dll), a cmdlet definition XML file (.cdxml), or a workflow (.xaml). When the module is imported, the members that are exported from the root module file are imported into the caller's session state. </maml:para><maml:para>If a module has a manifest file and no root file has been designated in the RootModule key, the manifest becomes the primary file for the module, and the module becomes a "manifest module" (ModuleType = Manifest).</maml:para><maml:para>To export members from .psm1 or .dll files in a module that has a manifest, the names of those files must be specified in the values of the RootModule or NestedModules keys in the manifest. Otherwise, their members are not exported.</maml:para><maml:para>Note: In Windows PowerShell 2.0, this key was called "ModuleToProcess." You can use the "RootModule" parameter name or its "ModuleToProcess" alias.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>false</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>false</dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name>None</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You cannot pipe input to this cmdlet.</maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name>None or System.String</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>By default, New-ModuleManifest does not generate any output. However, if you use the PassThru parameter, it generates a System.String object representing the module manifest..</maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><maml:alertSet><maml:title /><maml:alert><maml:para>Module manifests are usually optional. However, a module manifest is required to export an assembly that is installed in the global assembly cache.</maml:para></maml:alert><maml:alert><maml:para>To add or change files in the $pshome\Modules directory (%Windir%\System32\WindowsPowerShell\v1.0\Modules), start Windows PowerShell with the "Run as administrator" option.</maml:para></maml:alert><maml:alert><maml:para>In Windows PowerShell 2.0, many parameters of New-ModuleManifest are mandatory, even though they are not required in a module manifest. In Windows PowerShell 3.0, only the Path parameter is mandatory.</maml:para></maml:alert><maml:alert><maml:para>A "session" is an instance of the Windows PowerShell execution environment. A session can have one or more session states. By default, a session has only a global session state, but each imported module has its own session state. Session states allow the commands in a module to run without affecting the global session state.</maml:para><maml:para>The "caller's session state" is the session state into which a module is imported. Typically, it refers to the global session state, but when a module imports nested modules, the "caller" is the module and the "caller's session state" is the module's session state.</maml:para></maml:alert></maml:alertSet><command:examples><command:example><maml:title>
  
-------------------------- EXAMPLE 1 --------------------------
  
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;New-ModuleManifest -Path C:\Users\User01\Documents\WindowsPowerShell\Modules\Test-Module\Test-Module.psd1 -PassThru
 
## Module manifest for module 'TestModule'
## Generated by: User01
## Generated on: 1/24/2012
#@{
# Script module or binary module file associated with this manifest
# RootModule = ''
# Version number of this module.ModuleVersion = '1.0'
# ID used to uniquely identify this moduleGUID = 'd0a9150d-b6a4-4b17-a325-e3a24fed0aa9'
# Author of this moduleAuthor = 'User01'
# Company or vendor of this moduleCompanyName = 'Unknown'
# Copyright statement for this moduleCopyright = '(c) 2012 User01. All rights reserved.'
# Description of the functionality provided by this module
# Description = ''
# Minimum version of the Windows PowerShell engine required by this module
# PowerShellVersion = ''
# Name of the Windows PowerShell host required by this module
# PowerShellHostName = ''
# Minimum version of the Windows PowerShell host required by this module
# PowerShellHostVersion = ''
# Minimum version of the .NET Framework required by this module
# DotNetFrameworkVersion = ''
# Minimum version of the common language runtime (CLR) required by this module
# CLRVersion = ''
# Processor architecture (None, X86, Amd64) required by this module
# ProcessorArchitecture = ''
# Modules that must be imported into the global environment prior to importing this module
# RequiredModules = @()
# Assemblies that must be loaded prior to importing this module
# RequiredAssemblies = @()
# Script files (.ps1) that are run in the caller's environment prior to importing this module
# ScriptsToProcess = @()
# Type files (.ps1xml) to be loaded when importing this module
# TypesToProcess = @()
# Format files (.ps1xml) to be loaded when importing this module
# FormatsToProcess = @()
# Modules to import as nested modules of the module specified in RootModule/ModuleToProcess
# NestedModules = @()
# Functions to export from this moduleFunctionsToExport = '*'
# Cmdlets to export from this moduleCmdletsToExport = '*'
# Variables to export from this moduleVariablesToExport = '*'
# Aliases to export from this moduleAliasesToExport = '*'
# List of all modules packaged with this module# ModuleList = @()
# List of all files packaged with this module
# FileList = @()
# Private data to pass to the module specified in RootModule/ModuleToProcess
# PrivateData = ''
# HelpInfo URI of this module
# HelpInfoURI = ''
# Default prefix for commands exported from this module. Override the default prefix using Import-Module -Prefix.
# DefaultCommandPrefix = ''}
 
</dev:code><dev:remarks><maml:para>This command creates a new module manifest in the file that is specified by the Path parameter. The PassThru parameter sends the output to the pipeline as well as to the file.</maml:para><maml:para>The output shows the default values of all keys in the manifest.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 2 --------------------------
  
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;New-ModuleManifest -PowerShellVersion 1.0 -AliasesToExport JKBC, DRC, TAC -Path C:\ps-test\ManifestTest.psd1
</dev:code><dev:remarks><maml:para>This command creates a new module manifest. It uses the PowerShellVersion and AliasesToExport parameters to add values to the corresponding manifest keys.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 3 --------------------------
  
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;New-ModuleManifest -RequiredModules BitsTransfer,@{ModuleName="PSScheduledJob";ModuleVersion="1.0.0.0";GUID="50cdb55f-5ab7-489f-9e94-4ec21ff51e59"}
</dev:code><dev:remarks><maml:para>This example shows how to use the string and hash table formats of the ModuleList, RequiredModules, and NestedModules parameter. You can combine strings and hash tables in the same parameter value.</maml:para><maml:para>This command commands creates a module manifest for a module that requires the BitsTransfer and PSScheduledJob modules.</maml:para><maml:para>The command uses a string format to specify the name of the BitsTransfer module and the hash table format to specify the name, a GUID, and a version of the PSScheduledJob module.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 4 --------------------------
  
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;New-ModuleManifest -HelpInfoUri "http://http://go.microsoft.com/fwlink/?LinkID=603"
</dev:code><dev:remarks><maml:para>This example shows creates a module manifest for a module that supports the Updatable Help feature. This feature allows users to use the Update-Help and Save-Help cmdlets, which download help files for the module from the Internet and install them in the module.</maml:para><maml:para>The command uses the HelpInfoUri parameter to create a HelpInfoUri key in the module manifest. The value of the parameter and the key must begin with "http" or "https". This value tells the Updatable Help system where to find the HelpInfo XML updatable help information file for the module.</maml:para><maml:para>For information about Updatable Help, see about_Updatable_Help (http://go.microsoft.com/fwlink/?LinkID=235801). For information about the HelpInfo XML file, see "Supporting Updatable Help" in MSDN.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>Example 5</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-Module PSScheduledJob -List | Format-List -Property *
 
LogPipelineExecutionDetails :
FalseName :
PSScheduledJobPath : C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules\PSScheduledJob\PSScheduledJob.psd1
Definition :
Description :
Guid : 50cdb55f-5ab7-489f-9e94-4ec21ff51e59
HelpInfoUri : http://go.microsoft.com/fwlink/?LinkID=223911
ModuleBase : C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules\PSScheduledJob
PrivateData :
Version : 1.0.0.0
ModuleType :
BinaryAuthor : Microsoft Corporation
AccessMode : ReadWrite
ClrVersion : 4.0
CompanyName : Microsoft Corporation
Copyright : c Microsoft Corporation. All rights reserved.
DotNetFrameworkVersion :
ExportedFunctions : {}
ExportedCmdlets : {[New-JobTrigger, New-JobTrigger], [Add-JobTrigger, Add-JobTrigger], [Remove-JobTrigger, Remove-JobTrigger], [Get-JobTrigger, Get-JobTrigger]...}
ExportedCommands : {[New-JobTrigger, New-JobTrigger], [Add-JobTrigger, Add-JobTrigger], [Remove-JobTrigger, Remove-JobTrigger], [Get-JobTrigger, Get-JobTrigger]...}
FileList : {}
ModuleList : {}
NestedModules : {}
PowerShellHostName :
PowerShellHostVersion :
PowerShellVersion : 4.0
ProcessorArchitecture : None
Scripts : {}
RequiredAssemblies : {}
RequiredModules : {}
RootModule : Microsoft.PowerShell.ScheduledJob.dll
ExportedVariables : {}
ExportedAliases : {}
ExportedWorkflows : {}
SessionState :
OnRemove :
ExportedFormatFiles : {C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules\PSScheduledJob\PSScheduledJob.Format.ps1xml}
ExportedTypeFiles : {C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules\PSScheduledJob\PSScheduledJob.types.ps1xml}
 
PS C:\&gt;Get-Module -List | Format-Table -Property Name, PowerShellVersion
 
Name PowerShellVersion
---- -----------------
ADDeploymentWF 4.0
AppLocker 4.0
Appx 4.0
BestPractices 4.0
BitsTransfer 4.0
BranchCache 4.0
CimCmdlets 4.0
DirectAccessClientComponents 4.0
Dism 4.0
DnsClient 4.0
International 4.0
iSCSI 4.0
IscsiTarget 4.0
Kds 4.0
Microsoft.PowerShell.Diagnostics 4.0
Microsoft.PowerShell.Host 4.0
Microsoft.PowerShell.Management 4.0…
</dev:code><dev:remarks><maml:para>This example shows how to get the module manifest values of a module -- essentially a "Get-ModuleManifest" command. Because the values in the module manifest are reflected in the values of properties of the module object, you can get the module manifest values by displaying the module object properties.</maml:para><maml:para>The first command uses the Get-Module cmdlet to get the PSScheduledJob module. The command uses the List parameter, because the module is installed, but not imported into the session. The command sends the module to the Format-List cmdlet, which displays all properties and values of the module object in a list.</maml:para><maml:para>The second command uses the Format-Table cmdlet to display the PowerShellVersion property of all installed modules in a table. The PowerShellVersion property is defined in the module manifest.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=289595</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Export-ModuleMember</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Get-Module</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Import-Module</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>New-Module</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Remove-Module</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Test-ModuleManifest</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Modules</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>New-PSSession</command:name><maml:description><maml:para>Creates a persistent connection to a local or remote computer.</maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>New</command:verb><command:noun>PSSession</command:noun><dev:version /></command:details><maml:description><maml:para>The New-PSSession cmdlet creates a Windows PowerShell session (PSSession) on a local or remote computer. When you create a PSSession, Windows PowerShell establishes a persistent connection to the remote computer.</maml:para><maml:para>Use a PSSession to run multiple commands that share data, such as a function or the value of a variable. To run commands in a PSSession, use the Invoke-Command cmdlet. To use the PSSession to interact directly with a remote computer, use the Enter-PSSession cmdlet. For more information, see about_PSSessions (http://go.microsoft.com/fwlink/?LinkID=135181).</maml:para><maml:para>You can run commands on a remote computer without creating a PSSession by using the ComputerName parameters of Enter-PSSession or Invoke-Command. When you use the ComputerName parameter, Windows PowerShell creates a temporary connection that is used for the command and is then closed.</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>New-PSSession</maml:name><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByValue, ByPropertyName)" position="1" aliases="Cn"><maml:name>ComputerName</maml:name><maml:description><maml:para>Creates a persistent connection (PSSession) to the specified computer. If you enter multiple computer names, New-PSSession creates multiple PSSessions, one for each computer. The default is the local computer.</maml:para><maml:para>Type the NetBIOS name, an IP address, or a fully qualified domain name of one or more remote computers. To specify the local computer, type the computer name, "localhost", or a dot (.). When the computer is in a different domain than the user, the fully qualified domain name is required. You can also pipe a computer name (in quotes) to New-PSSession.</maml:para><maml:para>To use an IP address in the value of the ComputerName parameter, the command must include the Credential parameter. Also, the computer must be configured for HTTPS transport or the IP address of the remote computer must be included in the WinRM TrustedHosts list on the local computer. For instructions for adding a computer name to the TrustedHosts list, see "How to Add a Computer to the Trusted Host List" in about_Remote_Troubleshooting (http://go.microsoft.com/fwlink/?LinkID=135188).</maml:para><maml:para>Note: To include the local computer in the value of the ComputerName parameter, start Windows PowerShell with the "Run as administrator" option.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>ApplicationName</maml:name><maml:description><maml:para>Specifies the application name segment of the connection URI. Use this parameter to specify the application name when you are not using the ConnectionURI parameter in the command.</maml:para><maml:para>The default value is the value of the $PSSessionApplicationName preference variable on the local computer. If this preference variable is not defined, the default value is "WSMAN". This value is appropriate for most uses. For more information, see about_Preference_Variables (http://go.microsoft.com/fwlink/?LinkID=113248).</maml:para><maml:para>The WinRM service uses the application name to select a listener to service the connection request. The value of this parameter should match the value of the URLPrefix property of a listener on the remote computer.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Authentication</maml:name><maml:description><maml:para>Specifies the mechanism that is used to authenticate the user's credentials. Valid values are "Default", "Basic", "Credssp", "Digest", "Kerberos", "Negotiate", and "NegotiateWithImplicitCredential". The default value is "Default".</maml:para><maml:para>For more information about the values of this parameter, see the description of the System.Management.Automation.Runspaces.AuthenticationMechanism enumeration in the MSDN (Microsoft Developer Network) library at http://go.microsoft.com/fwlink/?LinkID=144382.</maml:para><maml:para>Caution: Credential Security Support Provider (CredSSP) authentication, in which the user's credentials are passed to a remote computer to be authenticated, is designed for commands that require authentication on more than one resource, such as accessing a remote network share. This mechanism increases the security risk of the remote operation. If the remote computer is compromised, the credentials that are passed to it can be used to control the network session.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">AuthenticationMechanism</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CertificateThumbprint</maml:name><maml:description><maml:para>Specifies the digital public key certificate (X509) of a user account that has permission to perform this action. Enter the certificate thumbprint of the certificate.</maml:para><maml:para>Certificates are used in client certificate-based authentication. They can be mapped only to local user accounts; they do not work with domain accounts.</maml:para><maml:para>To get a certificate, use the Get-Item or Get-ChildItem command in the Windows PowerShell Cert: drive.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>ConfigurationName</maml:name><maml:description><maml:para>Specifies the session configuration that is used for the new PSSession.</maml:para><maml:para>Enter a configuration name or the fully qualified resource Uniform Resource Identifier (URI) for a session configuration. If you specify only the configuration name, the following schema URI is prepended: http://schemas.microsoft.com/PowerShell.</maml:para><maml:para>The session configuration for a session is located on the remote computer. If the specified session configuration does not exist on the remote computer, the command fails.</maml:para><maml:para>The default value is the value of the $PSSessionConfigurationName preference variable on the local computer. If this preference variable is not set, the default is Microsoft.PowerShell. For more information, see about_Preference_Variables (http://go.microsoft.com/fwlink/?LinkID=113248).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>Credential</maml:name><maml:description><maml:para>Specifies a user account that has permission to perform this action. The default is the current user.</maml:para><maml:para>Type a user name, such as "User01", "Domain01\User01", or "User@Domain.com", or enter a PSCredential object, such as one returned by the Get-Credentiall cmdlet.</maml:para><maml:para>When you type a user name, you will be prompted for a password.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>EnableNetworkAccess</maml:name><maml:description><maml:para>Adds an interactive security token to loopback sessions. The interactive token lets you run commands in the loopback session that get data from other computers. For example, you can run a command in the session that copies XML files from a remote computer to the local computer.</maml:para><maml:para>A "loopback session" is a PSSession that originates and terminates on the same computer. To create a loopback session, omit the ComputerName parameter or set its value to ".", "localhost", or the name of the local computer.</maml:para><maml:para>By default, loopback sessions are created with a network token, which might not provide sufficient permission to authenticate to remote computers.</maml:para><maml:para>The EnableNetworkAccess parameter is effective only in loopback sessions. If you use the EnableNetworkAccess parameter when creating a session on a remote computer, the command succeeds, but the parameter is ignored.</maml:para><maml:para>You can also allow remote access in a loopback session by using the CredSSP value of the Authentication parameter, which delegates the session credentials to other computers.</maml:para><maml:para>To protect the computer from malicious access, disconnected loopback sessions that have interactive tokens (those created with the EnableNetworkAccess parameter) can be reconnected only from the computer on which the session was created. Disconnected sessions that use CredSSP authentication can be reconnected from other computers. For more information, see Disconnect-PSSession.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Specifies a friendly name for the PSSession.</maml:para><maml:para>You can use the name to refer to the PSSession when using other cmdlets, such as Get-PSSession and Enter-PSSession. The name is not required to be unique to the computer or the current session.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Port</maml:name><maml:description><maml:para>Specifies the network port on the remote computer that is used for this connection. To connect to a remote computer, the remote computer must be listening on the port that the connection uses. The default ports are 5985 (the WinRM port for HTTP) and 5986 (the WinRM port for HTTPS).</maml:para><maml:para>Before using an alternate port, you must configure the WinRM listener on the remote computer to listen at that port. Use the following commands to configure the listener:</maml:para><maml:para>1. winrm delete winrm/config/listener?Address=*+Transport=HTTP</maml:para><maml:para>2. winrm create winrm/config/listener?Address=*+Transport=HTTP @{Port="&lt;port-number&gt;"}</maml:para><maml:para>Do not use the Port parameter unless you must. The port setting in the command applies to all computers or sessions on which the command runs. An alternate port setting might prevent the command from running on all computers.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SessionOption</maml:name><maml:description><maml:para>Sets advanced options for the session. Enter a SessionOption object, such as one that you create by using the New-PSSessionOption cmdlet, or a hash table in which the keys are session option names and the values are session option values.</maml:para><maml:para>The default values for the options are determined by the value of the $PSSessionOption preference variable, if it is set. Otherwise, the default values are established by options set in the session configuration.</maml:para><maml:para>The session option values take precedence over default values for sessions set in the $PSSessionOption preference variable and in the session configuration. However, they do not take precedence over maximum values, quotas or limits set in the session configuration. </maml:para><maml:para>For a description of the session options, including the default values, see New-PSSessionOption. For information about the $PSSessionOption preference variable, see about_Preference_Variables (http://go.microsoft.com/fwlink/?LinkID=113248). For more information about session configurations, see about_Session_Configurations (http://go.microsoft.com/fwlink/?LinkID=145152).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSSessionOption</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ThrottleLimit</maml:name><maml:description><maml:para>Specifies the maximum number of concurrent connections that can be established to run this command. If you omit this parameter or enter a value of 0 (zero), the default value, 32, is used.</maml:para><maml:para>The throttle limit applies only to the current command, not to the session or to the computer.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>UseSSL</maml:name><maml:description><maml:para>Uses the Secure Sockets Layer (SSL) protocol to establish a connection to the remote computer. By default, SSL is not used.</maml:para><maml:para>WS-Management encrypts all Windows PowerShell content transmitted over the network. UseSSL is an additional protection that sends the data across an HTTPS connection instead of an HTTP connection.</maml:para><maml:para>If you use this parameter, but SSL is not available on the port used for the command, the command fails.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>New-PSSession</maml:name><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="URI,CU"><maml:name>ConnectionUri</maml:name><maml:description><maml:para>Specifies a Uniform Resource Identifier (URI) that defines the connection endpoint for the session. The URI must be fully qualified. The format of this string is as follows:</maml:para><maml:para>&lt;Transport&gt;://&lt;ComputerName&gt;:&lt;Port&gt;/&lt;ApplicationName&gt;</maml:para><maml:para>The default value is as follows:</maml:para><maml:para>http://localhost:5985/WSMAN</maml:para><maml:para>If you do not specify a ConnectionURI, you can use the UseSSL, ComputerName, Port, and ApplicationName parameters to specify the ConnectionURI values.</maml:para><maml:para>Valid values for the Transport segment of the URI are HTTP and HTTPS. If you specify a connection URI with a Transport segment, but do not specify a port, the session is created with standards ports: 80 for HTTP and 443 for HTTPS. To use the default ports for Windows PowerShell remoting, specify port 5985 for HTTP or 5986 for HTTPS.</maml:para><maml:para>If the destination computer redirects the connection to a different URI, Windows PowerShell prevents the redirection unless you use the AllowRedirection parameter in the command.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Uri[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>AllowRedirection</maml:name><maml:description><maml:para>Allows redirection of this connection to an alternate Uniform Resource Identifier (URI).</maml:para><maml:para>When you use the ConnectionURI parameter, the remote destination can return an instruction to redirect to a different URI. By default, Windows PowerShell does not redirect connections, but you can use this parameter to allow it to redirect the connection.</maml:para><maml:para>You can also limit the number of times the connection is redirected by changing the MaximumConnectionRedirectionCount session option value. Use the MaximumRedirection parameter of the New-PSSessionOption cmdlet or set the MaximumConnectionRedirectionCount property of the $PSSessionOption preference variable. The default value is 5.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Authentication</maml:name><maml:description><maml:para>Specifies the mechanism that is used to authenticate the user's credentials. Valid values are "Default", "Basic", "Credssp", "Digest", "Kerberos", "Negotiate", and "NegotiateWithImplicitCredential". The default value is "Default".</maml:para><maml:para>For more information about the values of this parameter, see the description of the System.Management.Automation.Runspaces.AuthenticationMechanism enumeration in the MSDN (Microsoft Developer Network) library at http://go.microsoft.com/fwlink/?LinkID=144382.</maml:para><maml:para>Caution: Credential Security Support Provider (CredSSP) authentication, in which the user's credentials are passed to a remote computer to be authenticated, is designed for commands that require authentication on more than one resource, such as accessing a remote network share. This mechanism increases the security risk of the remote operation. If the remote computer is compromised, the credentials that are passed to it can be used to control the network session.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">AuthenticationMechanism</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CertificateThumbprint</maml:name><maml:description><maml:para>Specifies the digital public key certificate (X509) of a user account that has permission to perform this action. Enter the certificate thumbprint of the certificate.</maml:para><maml:para>Certificates are used in client certificate-based authentication. They can be mapped only to local user accounts; they do not work with domain accounts.</maml:para><maml:para>To get a certificate, use the Get-Item or Get-ChildItem command in the Windows PowerShell Cert: drive.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>ConfigurationName</maml:name><maml:description><maml:para>Specifies the session configuration that is used for the new PSSession.</maml:para><maml:para>Enter a configuration name or the fully qualified resource Uniform Resource Identifier (URI) for a session configuration. If you specify only the configuration name, the following schema URI is prepended: http://schemas.microsoft.com/PowerShell.</maml:para><maml:para>The session configuration for a session is located on the remote computer. If the specified session configuration does not exist on the remote computer, the command fails.</maml:para><maml:para>The default value is the value of the $PSSessionConfigurationName preference variable on the local computer. If this preference variable is not set, the default is Microsoft.PowerShell. For more information, see about_Preference_Variables (http://go.microsoft.com/fwlink/?LinkID=113248).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>Credential</maml:name><maml:description><maml:para>Specifies a user account that has permission to perform this action. The default is the current user.</maml:para><maml:para>Type a user name, such as "User01", "Domain01\User01", or "User@Domain.com", or enter a PSCredential object, such as one returned by the Get-Credentiall cmdlet.</maml:para><maml:para>When you type a user name, you will be prompted for a password.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>EnableNetworkAccess</maml:name><maml:description><maml:para>Adds an interactive security token to loopback sessions. The interactive token lets you run commands in the loopback session that get data from other computers. For example, you can run a command in the session that copies XML files from a remote computer to the local computer.</maml:para><maml:para>A "loopback session" is a PSSession that originates and terminates on the same computer. To create a loopback session, omit the ComputerName parameter or set its value to ".", "localhost", or the name of the local computer.</maml:para><maml:para>By default, loopback sessions are created with a network token, which might not provide sufficient permission to authenticate to remote computers.</maml:para><maml:para>The EnableNetworkAccess parameter is effective only in loopback sessions. If you use the EnableNetworkAccess parameter when creating a session on a remote computer, the command succeeds, but the parameter is ignored.</maml:para><maml:para>You can also allow remote access in a loopback session by using the CredSSP value of the Authentication parameter, which delegates the session credentials to other computers.</maml:para><maml:para>To protect the computer from malicious access, disconnected loopback sessions that have interactive tokens (those created with the EnableNetworkAccess parameter) can be reconnected only from the computer on which the session was created. Disconnected sessions that use CredSSP authentication can be reconnected from other computers. For more information, see Disconnect-PSSession.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Specifies a friendly name for the PSSession.</maml:para><maml:para>You can use the name to refer to the PSSession when using other cmdlets, such as Get-PSSession and Enter-PSSession. The name is not required to be unique to the computer or the current session.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SessionOption</maml:name><maml:description><maml:para>Sets advanced options for the session. Enter a SessionOption object, such as one that you create by using the New-PSSessionOption cmdlet, or a hash table in which the keys are session option names and the values are session option values.</maml:para><maml:para>The default values for the options are determined by the value of the $PSSessionOption preference variable, if it is set. Otherwise, the default values are established by options set in the session configuration.</maml:para><maml:para>The session option values take precedence over default values for sessions set in the $PSSessionOption preference variable and in the session configuration. However, they do not take precedence over maximum values, quotas or limits set in the session configuration. </maml:para><maml:para>For a description of the session options, including the default values, see New-PSSessionOption. For information about the $PSSessionOption preference variable, see about_Preference_Variables (http://go.microsoft.com/fwlink/?LinkID=113248). For more information about session configurations, see about_Session_Configurations (http://go.microsoft.com/fwlink/?LinkID=145152).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSSessionOption</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ThrottleLimit</maml:name><maml:description><maml:para>Specifies the maximum number of concurrent connections that can be established to run this command. If you omit this parameter or enter a value of 0 (zero), the default value, 32, is used.</maml:para><maml:para>The throttle limit applies only to the current command, not to the session or to the computer.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>New-PSSession</maml:name><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases=""><maml:name>Session</maml:name><maml:description><maml:para>Uses the specified PSSession as a model for the new PSSession. This parameter creates new PSSessions with the same properties as the specified PSSessions.</maml:para><maml:para>Enter a variable that contains the PSSessions or a command that creates or gets the PSSessions, such as a New-PSSession or Get-PSSession command.</maml:para><maml:para>The resulting PSSessions have the same computer name, application name, connection URI, port, configuration name, throttle limit, and Secure Sockets Layer (SSL) value as the originals, but they have a different display name, ID, and instance ID (GUID).</maml:para></maml:description><command:parameterValue required="true" variableLength="true">PSSession[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>EnableNetworkAccess</maml:name><maml:description><maml:para>Adds an interactive security token to loopback sessions. The interactive token lets you run commands in the loopback session that get data from other computers. For example, you can run a command in the session that copies XML files from a remote computer to the local computer.</maml:para><maml:para>A "loopback session" is a PSSession that originates and terminates on the same computer. To create a loopback session, omit the ComputerName parameter or set its value to ".", "localhost", or the name of the local computer.</maml:para><maml:para>By default, loopback sessions are created with a network token, which might not provide sufficient permission to authenticate to remote computers.</maml:para><maml:para>The EnableNetworkAccess parameter is effective only in loopback sessions. If you use the EnableNetworkAccess parameter when creating a session on a remote computer, the command succeeds, but the parameter is ignored.</maml:para><maml:para>You can also allow remote access in a loopback session by using the CredSSP value of the Authentication parameter, which delegates the session credentials to other computers.</maml:para><maml:para>To protect the computer from malicious access, disconnected loopback sessions that have interactive tokens (those created with the EnableNetworkAccess parameter) can be reconnected only from the computer on which the session was created. Disconnected sessions that use CredSSP authentication can be reconnected from other computers. For more information, see Disconnect-PSSession.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Specifies a friendly name for the PSSession.</maml:para><maml:para>You can use the name to refer to the PSSession when using other cmdlets, such as Get-PSSession and Enter-PSSession. The name is not required to be unique to the computer or the current session.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ThrottleLimit</maml:name><maml:description><maml:para>Specifies the maximum number of concurrent connections that can be established to run this command. If you omit this parameter or enter a value of 0 (zero), the default value, 32, is used.</maml:para><maml:para>The throttle limit applies only to the current command, not to the session or to the computer.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>AllowRedirection</maml:name><maml:description><maml:para>Allows redirection of this connection to an alternate Uniform Resource Identifier (URI).</maml:para><maml:para>When you use the ConnectionURI parameter, the remote destination can return an instruction to redirect to a different URI. By default, Windows PowerShell does not redirect connections, but you can use this parameter to allow it to redirect the connection.</maml:para><maml:para>You can also limit the number of times the connection is redirected by changing the MaximumConnectionRedirectionCount session option value. Use the MaximumRedirection parameter of the New-PSSessionOption cmdlet or set the MaximumConnectionRedirectionCount property of the $PSSessionOption preference variable. The default value is 5.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>ApplicationName</maml:name><maml:description><maml:para>Specifies the application name segment of the connection URI. Use this parameter to specify the application name when you are not using the ConnectionURI parameter in the command.</maml:para><maml:para>The default value is the value of the $PSSessionApplicationName preference variable on the local computer. If this preference variable is not defined, the default value is "WSMAN". This value is appropriate for most uses. For more information, see about_Preference_Variables (http://go.microsoft.com/fwlink/?LinkID=113248).</maml:para><maml:para>The WinRM service uses the application name to select a listener to service the connection request. The value of this parameter should match the value of the URLPrefix property of a listener on the remote computer.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>WSMAN</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Authentication</maml:name><maml:description><maml:para>Specifies the mechanism that is used to authenticate the user's credentials. Valid values are "Default", "Basic", "Credssp", "Digest", "Kerberos", "Negotiate", and "NegotiateWithImplicitCredential". The default value is "Default".</maml:para><maml:para>For more information about the values of this parameter, see the description of the System.Management.Automation.Runspaces.AuthenticationMechanism enumeration in the MSDN (Microsoft Developer Network) library at http://go.microsoft.com/fwlink/?LinkID=144382.</maml:para><maml:para>Caution: Credential Security Support Provider (CredSSP) authentication, in which the user's credentials are passed to a remote computer to be authenticated, is designed for commands that require authentication on more than one resource, such as accessing a remote network share. This mechanism increases the security risk of the remote operation. If the remote computer is compromised, the credentials that are passed to it can be used to control the network session.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">AuthenticationMechanism</command:parameterValue><dev:type><maml:name>AuthenticationMechanism</maml:name><maml:uri /></dev:type><dev:defaultValue>Default</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CertificateThumbprint</maml:name><maml:description><maml:para>Specifies the digital public key certificate (X509) of a user account that has permission to perform this action. Enter the certificate thumbprint of the certificate.</maml:para><maml:para>Certificates are used in client certificate-based authentication. They can be mapped only to local user accounts; they do not work with domain accounts.</maml:para><maml:para>To get a certificate, use the Get-Item or Get-ChildItem command in the Windows PowerShell Cert: drive.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByValue, ByPropertyName)" position="1" aliases="Cn"><maml:name>ComputerName</maml:name><maml:description><maml:para>Creates a persistent connection (PSSession) to the specified computer. If you enter multiple computer names, New-PSSession creates multiple PSSessions, one for each computer. The default is the local computer.</maml:para><maml:para>Type the NetBIOS name, an IP address, or a fully qualified domain name of one or more remote computers. To specify the local computer, type the computer name, "localhost", or a dot (.). When the computer is in a different domain than the user, the fully qualified domain name is required. You can also pipe a computer name (in quotes) to New-PSSession.</maml:para><maml:para>To use an IP address in the value of the ComputerName parameter, the command must include the Credential parameter. Also, the computer must be configured for HTTPS transport or the IP address of the remote computer must be included in the WinRM TrustedHosts list on the local computer. For instructions for adding a computer name to the TrustedHosts list, see "How to Add a Computer to the Trusted Host List" in about_Remote_Troubleshooting (http://go.microsoft.com/fwlink/?LinkID=135188).</maml:para><maml:para>Note: To include the local computer in the value of the ComputerName parameter, start Windows PowerShell with the "Run as administrator" option.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>Local computer</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>ConfigurationName</maml:name><maml:description><maml:para>Specifies the session configuration that is used for the new PSSession.</maml:para><maml:para>Enter a configuration name or the fully qualified resource Uniform Resource Identifier (URI) for a session configuration. If you specify only the configuration name, the following schema URI is prepended: http://schemas.microsoft.com/PowerShell.</maml:para><maml:para>The session configuration for a session is located on the remote computer. If the specified session configuration does not exist on the remote computer, the command fails.</maml:para><maml:para>The default value is the value of the $PSSessionConfigurationName preference variable on the local computer. If this preference variable is not set, the default is Microsoft.PowerShell. For more information, see about_Preference_Variables (http://go.microsoft.com/fwlink/?LinkID=113248).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>Microsoft.PowerShell</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="URI,CU"><maml:name>ConnectionUri</maml:name><maml:description><maml:para>Specifies a Uniform Resource Identifier (URI) that defines the connection endpoint for the session. The URI must be fully qualified. The format of this string is as follows:</maml:para><maml:para>&lt;Transport&gt;://&lt;ComputerName&gt;:&lt;Port&gt;/&lt;ApplicationName&gt;</maml:para><maml:para>The default value is as follows:</maml:para><maml:para>http://localhost:5985/WSMAN</maml:para><maml:para>If you do not specify a ConnectionURI, you can use the UseSSL, ComputerName, Port, and ApplicationName parameters to specify the ConnectionURI values.</maml:para><maml:para>Valid values for the Transport segment of the URI are HTTP and HTTPS. If you specify a connection URI with a Transport segment, but do not specify a port, the session is created with standards ports: 80 for HTTP and 443 for HTTPS. To use the default ports for Windows PowerShell remoting, specify port 5985 for HTTP or 5986 for HTTPS.</maml:para><maml:para>If the destination computer redirects the connection to a different URI, Windows PowerShell prevents the redirection unless you use the AllowRedirection parameter in the command.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Uri[]</command:parameterValue><dev:type><maml:name>Uri[]</maml:name><maml:uri /></dev:type><dev:defaultValue>http://localhost:5985/WSMAN</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>Credential</maml:name><maml:description><maml:para>Specifies a user account that has permission to perform this action. The default is the current user.</maml:para><maml:para>Type a user name, such as "User01", "Domain01\User01", or "User@Domain.com", or enter a PSCredential object, such as one returned by the Get-Credentiall cmdlet.</maml:para><maml:para>When you type a user name, you will be prompted for a password.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue><dev:type><maml:name>PSCredential</maml:name><maml:uri /></dev:type><dev:defaultValue>Current user</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>EnableNetworkAccess</maml:name><maml:description><maml:para>Adds an interactive security token to loopback sessions. The interactive token lets you run commands in the loopback session that get data from other computers. For example, you can run a command in the session that copies XML files from a remote computer to the local computer.</maml:para><maml:para>A "loopback session" is a PSSession that originates and terminates on the same computer. To create a loopback session, omit the ComputerName parameter or set its value to ".", "localhost", or the name of the local computer.</maml:para><maml:para>By default, loopback sessions are created with a network token, which might not provide sufficient permission to authenticate to remote computers.</maml:para><maml:para>The EnableNetworkAccess parameter is effective only in loopback sessions. If you use the EnableNetworkAccess parameter when creating a session on a remote computer, the command succeeds, but the parameter is ignored.</maml:para><maml:para>You can also allow remote access in a loopback session by using the CredSSP value of the Authentication parameter, which delegates the session credentials to other computers.</maml:para><maml:para>To protect the computer from malicious access, disconnected loopback sessions that have interactive tokens (those created with the EnableNetworkAccess parameter) can be reconnected only from the computer on which the session was created. Disconnected sessions that use CredSSP authentication can be reconnected from other computers. For more information, see Disconnect-PSSession.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Specifies a friendly name for the PSSession.</maml:para><maml:para>You can use the name to refer to the PSSession when using other cmdlets, such as Get-PSSession and Enter-PSSession. The name is not required to be unique to the computer or the current session.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>Session&lt;n&gt;</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Port</maml:name><maml:description><maml:para>Specifies the network port on the remote computer that is used for this connection. To connect to a remote computer, the remote computer must be listening on the port that the connection uses. The default ports are 5985 (the WinRM port for HTTP) and 5986 (the WinRM port for HTTPS).</maml:para><maml:para>Before using an alternate port, you must configure the WinRM listener on the remote computer to listen at that port. Use the following commands to configure the listener:</maml:para><maml:para>1. winrm delete winrm/config/listener?Address=*+Transport=HTTP</maml:para><maml:para>2. winrm create winrm/config/listener?Address=*+Transport=HTTP @{Port="&lt;port-number&gt;"}</maml:para><maml:para>Do not use the Port parameter unless you must. The port setting in the command applies to all computers or sessions on which the command runs. An alternate port setting might prevent the command from running on all computers.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue><dev:type><maml:name>Int32</maml:name><maml:uri /></dev:type><dev:defaultValue>80</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases=""><maml:name>Session</maml:name><maml:description><maml:para>Uses the specified PSSession as a model for the new PSSession. This parameter creates new PSSessions with the same properties as the specified PSSessions.</maml:para><maml:para>Enter a variable that contains the PSSessions or a command that creates or gets the PSSessions, such as a New-PSSession or Get-PSSession command.</maml:para><maml:para>The resulting PSSessions have the same computer name, application name, connection URI, port, configuration name, throttle limit, and Secure Sockets Layer (SSL) value as the originals, but they have a different display name, ID, and instance ID (GUID).</maml:para></maml:description><command:parameterValue required="true" variableLength="true">PSSession[]</command:parameterValue><dev:type><maml:name>PSSession[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SessionOption</maml:name><maml:description><maml:para>Sets advanced options for the session. Enter a SessionOption object, such as one that you create by using the New-PSSessionOption cmdlet, or a hash table in which the keys are session option names and the values are session option values.</maml:para><maml:para>The default values for the options are determined by the value of the $PSSessionOption preference variable, if it is set. Otherwise, the default values are established by options set in the session configuration.</maml:para><maml:para>The session option values take precedence over default values for sessions set in the $PSSessionOption preference variable and in the session configuration. However, they do not take precedence over maximum values, quotas or limits set in the session configuration. </maml:para><maml:para>For a description of the session options, including the default values, see New-PSSessionOption. For information about the $PSSessionOption preference variable, see about_Preference_Variables (http://go.microsoft.com/fwlink/?LinkID=113248). For more information about session configurations, see about_Session_Configurations (http://go.microsoft.com/fwlink/?LinkID=145152).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSSessionOption</command:parameterValue><dev:type><maml:name>PSSessionOption</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ThrottleLimit</maml:name><maml:description><maml:para>Specifies the maximum number of concurrent connections that can be established to run this command. If you omit this parameter or enter a value of 0 (zero), the default value, 32, is used.</maml:para><maml:para>The throttle limit applies only to the current command, not to the session or to the computer.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue><dev:type><maml:name>Int32</maml:name><maml:uri /></dev:type><dev:defaultValue>32</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>UseSSL</maml:name><maml:description><maml:para>Uses the Secure Sockets Layer (SSL) protocol to establish a connection to the remote computer. By default, SSL is not used.</maml:para><maml:para>WS-Management encrypts all Windows PowerShell content transmitted over the network. UseSSL is an additional protection that sends the data across an HTTPS connection instead of an HTTP connection.</maml:para><maml:para>If you use this parameter, but SSL is not available on the port used for the command, the command fails.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name>System.String, System.URI, System.Management.Automation.Runspaces.PSSession</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You can pipe a computer name (string), ConnectionURI (URI), or session (PSSession) object to New-PSSession.</maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name>System.Management.Automation.Runspaces.PSSession</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para></maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><maml:alertSet><maml:title /><maml:alert><maml:para>This cmdlet uses the Windows PowerShell remoting infrastructure. To use this cmdlet, the local computer and any remote computers must be configured for Windows PowerShell remoting. For more information, see about_Remote_Requirements (http://go.microsoft.com/fwlink/?LinkID=135187).</maml:para></maml:alert><maml:alert><maml:para>To create a PSSession on the local computer, start Windows PowerShell with the "Run as administrator" option.</maml:para></maml:alert><maml:alert><maml:para>When you are finished with the PSSession, use the Remove-PSSession cmdlet to delete the PSSession and release its resources.</maml:para></maml:alert><maml:alert><maml:para></maml:para></maml:alert></maml:alertSet><command:examples><command:example><maml:title>
-------------------------- EXAMPLE 1 --------------------------
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;$s = New-PSSession
</dev:code><dev:remarks><maml:para>This command creates a new PSSession on the local computer and saves the PSSession in the $s variable.</maml:para><maml:para>You can now use this PSSession to run commands on the local computer.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
-------------------------- EXAMPLE 2 --------------------------
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;$Server01 = New-PSSession -ComputerName Server01
</dev:code><dev:remarks><maml:para>This command creates a new PSSession on the Server01 computer and saves it in the $Server01 variable.</maml:para><maml:para>When creating multiple PSSessions, assign them to variables with useful names. This will help you manage the PSSessions in subsequent commands.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
-------------------------- EXAMPLE 3 --------------------------
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;$s1, $s2, $s3 = New-PSSession -ComputerName Server1,Server2,Server3
</dev:code><dev:remarks><maml:para>This command creates three new PSSessions, one on each of the computers specified by the ComputerName parameter.</maml:para><maml:para>The command uses the assignment operator (=) to assign the new PSSessions to an array of variables: $s1, $s2, $s3. It assigns the Server01 PSSession to $s1, the Server02 PSSession to $s2, and the Server03 PSSession to $s3.</maml:para><maml:para>When you assign multiple objects to an array of variables, Windows PowerShell assigns each object to a variable in the array respectively. If there are more objects than variables, all remaining objects are assigned to the last variable. If there are more variables than objects, the remaining variables are empty (null).</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
-------------------------- EXAMPLE 4 --------------------------
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;New-PSSession -ComputerName Server01 -Port 8081 -UseSSL -ConfigurationName E12
</dev:code><dev:remarks><maml:para>This command creates a new PSSession on the Server01 computer that connects to server port 8081 and uses the SSL protocol. The new PSSession uses an alternate session configuration called "E12".</maml:para><maml:para>Before setting the port, you must configure the WinRM listener on the remote computer to listen on port 8081. For more information, see the description of the Port parameter.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
-------------------------- EXAMPLE 5 --------------------------
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;New-PSSession -Session $s -Credential Domain01\User01
</dev:code><dev:remarks><maml:para>This command creates a new PSSession with the same properties as an existing PSSession. You can use this command format when the resources of an existing PSSession are exhausted and a new PSSession is needed to offload some of the demand.</maml:para><maml:para>The command uses the Session parameter of New-PSSession to specify the PSSession saved in the $s variable. It uses the credentials of the Domain1\Admin01 user to complete the command.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
-------------------------- EXAMPLE 6 --------------------------
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;$global:s = New-PSSession -ComputerName Server1.Domain44.Corpnet.Fabrikam.com -Credential Domain01\Admin01
</dev:code><dev:remarks><maml:para>This example shows how to create a PSSession with a global scope on a computer in a different domain.</maml:para><maml:para>By default, PSSessions created at the command line are created with local scope and PSSessions created in a script have script scope.</maml:para><maml:para>To create a PSSession with global scope, create a new PSSession and then store the PSSession in a variable that is cast to a global scope. In this case, the $s variable is cast to a global scope.</maml:para><maml:para>The command uses the ComputerName parameter to specify the remote computer. Because the computer is in a different domain than the user account, the full name of the computer is specified along with the credentials of the user.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
-------------------------- EXAMPLE 7 --------------------------
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;$rs = Get-Content C:\Test\Servers.txt | New-PSSession -ThrottleLimit 50
</dev:code><dev:remarks><maml:para>This command creates a PSSession on each of the 200 computers listed in the Servers.txt file and it stores the resulting PSSession in the $rs variable. The PSSessions have a throttle limit of 50.</maml:para><maml:para>You can use this command format when the names of computers are stored in a database, spreadsheet, text file, or other text-convertible format.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
-------------------------- EXAMPLE 8 --------------------------
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;$s = New-PSSession -URI http://Server01:91/NewSession -Credential Domain01\User01
</dev:code><dev:remarks><maml:para>This command creates a PSSession on the Server01 computer and stores it in the $s variable. It uses the URI parameter to specify the transport protocol, the remote computer, the port, and an alternate session configuration. It also uses the Credential parameter to specify a user account with permission to create a session on the remote computer.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
-------------------------- EXAMPLE 9 --------------------------
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;$s = New-PSSession -ComputerName (Get-Content Servers.txt) -Credential Domain01\Admin01 -ThrottleLimit 16
PS C:\&gt;Invoke-Command -Session $s -ScriptBlock {Get-Process PowerShell} -AsJob
</dev:code><dev:remarks><maml:para>These commands create a set of PSSessions and then run a background job in each of the PSSessions.</maml:para><maml:para>The first command creates a new PSSession on each of the computers listed in the Servers.txt file. It uses the New-PSSession cmdlet to create the PSSession. The value of the ComputerName parameter is a command that uses the Get-Content cmdlet to get the list of computer names the Servers.txt file.</maml:para><maml:para>The command uses the Credential parameter to create the PSSessions with the permission of a domain administrator, and it uses the ThrottleLimit parameter to limit the command to 16 concurrent connections. The command saves the PSSessions in the $s variable.</maml:para><maml:para>The second command uses the AsJob parameter of the Invoke-Command cmdlet to start a background job that runs a "Get-Process PowerShell" command in each of the PSSessions in $s.</maml:para><maml:para>For more information about background jobs, see about_Jobs (http://go.microsoft.com/fwlink/?LinkID=113251) and about_Remote_Jobs (http://go.microsoft.com/fwlink/?LinkID=135184).</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
-------------------------- EXAMPLE 10 --------------------------
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;New-PSSession -ConnectionURI https://management.exchangelabs.com/Management
</dev:code><dev:remarks><maml:para>This command creates a new PSSession that connects to a computer that is specified by a URI instead of a computer name.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
-------------------------- EXAMPLE 11 --------------------------
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;$so = New-PSSessionOption -SkipCACheck
PS C:\&gt;New-PSSession -ConnectionUri https://management.exchangelabs.com/Management -SessionOption $so -Credential Server01\Admin01
</dev:code><dev:remarks><maml:para>This example shows how to create a session option object and use the SessionOption parameter.</maml:para><maml:para>The first command uses the New-PSSessionOption cmdlet to create a session option. It saves the resulting SessionOption object in the $so parameter.</maml:para><maml:para>The second command uses the option in a new session. The command uses the New-PSSession cmdlet to create a new session. The value of the SessionOption parameter is the SessionOption object in the $so variable.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=289596</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Connect-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Disconnect-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Enter-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Exit-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Get-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Invoke-Command</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Receive-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Remove-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_PSSessions</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Remote</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>New-PSSessionConfigurationFile</command:name><maml:description><maml:para>Creates a file that defines a session configuration.</maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>New</command:verb><command:noun>PSSessionConfigurationFile</command:noun><dev:version /></command:details><maml:description><maml:para>The New-PSSessionConfigurationFile cmdlet creates a file of settings that define a session configuration and the environment of sessions that are created by using the session configuration. To use the file in a session configuration, use the Path parameters of the Register-PSSessionConfiguration or Set-PSSessionConfiguration cmdlets.</maml:para><maml:para>The session configuration file that New-PSSessionConfigurationFile creates is a human-readable text file that contains a hash table of the session configuration properties and values. The file has a .pssc file name extension. </maml:para><maml:para>All parameters of New-PSSessionConfigurationFile are optional, except for the Path parameter. If you omit a parameter, the corresponding key in the session configuration file is commented-out, except where noted in the parameter description.</maml:para><maml:para>A "session configuration" also known as an "endpoint" is a collection of settings on the local computer that define the environment for Windows PowerShell sessions (PSSessions) that connect to (terminate at) the computer. All PSSessions use a session configuration. To specify a particular session configuration, use the ConfigurationName parameter of cmdlets that create a session, such as the New-PSSession cmdlet. </maml:para><maml:para>A session configuration file makes it easy to define a session configuration without complex scripts or code assemblies. The settings in the file are used in addition to the optional startup script and any assemblies in the session configuration.</maml:para><maml:para>For more information about session configurations and session configuration files, see about_Session_Configurations (http://go.microsoft.com/fwlink/?LinkID=145152) and about_Session_Configuration_Files (http://go.microsoft.com/fwlink/?LinkID=236023).</maml:para><maml:para>This cmdlet is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>New-PSSessionConfigurationFile</maml:name><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1" aliases=""><maml:name>Path</maml:name><maml:description><maml:para>Specifies the path and file name of the session configuration file. The file must have a .pssc file name extension.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>AliasDefinitions</maml:name><maml:description><maml:para>Adds the specified aliases to sessions that use the session configuration. Enter a hash table with the following keys:</maml:para><maml:para>-- Name: Name of the alias. This key is required.</maml:para><maml:para>-- Value: The command that the alias represents. This key is required.</maml:para><maml:para>-- Description: A text string that describes the alias. This key is optional.</maml:para><maml:para>-- Options: Alias options. This key is optional. The default value is None. Valid values are None, ReadOnly, Constant, Private, or AllScope.</maml:para><maml:para>For example: @{Name="hlp";Value="Get-Help";Description="Gets help";Options="ReadOnly"}</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Hashtable[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>AssembliesToLoad</maml:name><maml:description><maml:para>Specifies the assemblies to load into the sessions that use the session configuration.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Author</maml:name><maml:description><maml:para>Identifies the author of the session configuration or the configuration file. The default is the current user. The value of this parameter is visible in the session configuration file, but it is not a property of the session configuration object.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CompanyName</maml:name><maml:description><maml:para>Identifies the company that created the session configuration or the configuration file. The default value is "Unknown". The value of this parameter is visible in the session configuration file, but it is not a property of the session configuration object.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Copyright</maml:name><maml:description><maml:para>Adds a copyright to the session configuration file. The value of this parameter is visible in the session configuration file, but it is not a property of the session configuration object.</maml:para><maml:para>If you omit this parameter, New-PSSessionConfigurationFile generates a copyright statement by using the value of the Author parameter.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Description</maml:name><maml:description><maml:para>Describes the session configuration or the session configuration file. The value of this parameter is visible in the session configuration file, but it is not a property of the session configuration object.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>EnvironmentVariables</maml:name><maml:description><maml:para>Adds environment variables to the session. Enter a hash table in which the keys are the environment variable names and the values are the environment variable values.</maml:para><maml:para>For example: EnvironmentVariables=@{TestShare="\\Server01\TestShare"}</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Object</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ExecutionPolicy</maml:name><maml:description><maml:para>Specifies the execution policy of sessions that use the session configuration. If you omit this parameter, the value of the ExecutionPolicy key in the session configuration file is "Restricted". For information about execution policies in Windows PowerShell, see about_Execution_Policies (http://go.microsoft.com/fwlink/?LinkID=135170).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">ExecutionPolicy</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>FormatsToProcess</maml:name><maml:description><maml:para>Specifies the formatting files (.ps1xml) that run in sessions that use the session configuration. The value of this parameter must be a full or absolute path to the formatting files.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>FunctionDefinitions</maml:name><maml:description><maml:para>Adds the specified functions to sessions that use the session configuration. Enter a hash table with the following keys:</maml:para><maml:para>-- Name: Name of the function. This key is required.</maml:para><maml:para>-- ScriptBlock: Function body. Enter a script block. This key is required.</maml:para><maml:para>-- Options: Function options. This key is optional. The default value is None. Valid values are None, ReadOnly, Constant, Private, or AllScope.</maml:para><maml:para>For example: @{Name="Get-PowerShellProcess";ScriptBlock={Get-Process PowerShell};Options="AllScope"}</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Hashtable[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Guid</maml:name><maml:description><maml:para>Specifies a unique identifier for the session configuration file. If you omit this parameter, New-PSSessionConfigurationFile generates a GUID for the file.
To create a new GUID in Windows PowerShell, type "[guid]::NewGuid()".</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Guid</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>LanguageMode</maml:name><maml:description><maml:para>Determines which elements of the Windows PowerShell language are permitted in sessions that use this session configuration. You can use this parameter to restrict the commands that particular users can run on the computer.</maml:para><maml:para>Valid values are:</maml:para><maml:para>-- FullLanguage: All language elements are permitted.</maml:para><maml:para>-- ConstrainedLanguage: Commands that contain scripts to be evaluated are not allowed. The ConstrainedLanguage mode restricts user access to Microsoft .NET Framework types, objects, or methods.</maml:para><maml:para>-- NoLanguage: Users may run cmdlets and functions, but are not permitted to use any language elements, such as script blocks, variables, or operators.</maml:para><maml:para></maml:para><maml:para>-- RestrictedLanguage: Users may run cmdlets and functions, but are not permitted to use script blocks or variables except for the following permitted variables: $PSCulture, $PSUICulture, $True, $False, and $Null. Users may use only the basic comparison operators (-eq, -gt, -lt). Assignment statements, property references, and method calls are not permitted.</maml:para><maml:para>The default value of the LanguageMode parameter depends on the value of the SessionType parameter.</maml:para><maml:para>
                         
-- Empty : NoLanguage
-- RestrictedRemoteServer : NoLanguage
-- Default : FullLanguage</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSLanguageMode</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ModulesToImport</maml:name><maml:description><maml:para>Specifies the modules and snap-ins that are automatically imported into sessions that use the session configuration. </maml:para><maml:para>By default, only the Microsoft.PowerShell.Core snap-in is imported into remote sessions, but unless the cmdlets are excluded, users can use the Import-Module and Add-PSSnapin cmdlets to add modules and snap-ins to the session.</maml:para><maml:para>Each module or snap-in in the value of this parameter can be represented by a string or as a hash table. A module string consists only of the name of the module or snap-in. A module hash table can include ModuleName, ModuleVersion, and GUID keys. Only the ModuleName key is required.</maml:para><maml:para>For example, the following value consists of a string and a hash table. Any combination of strings and hash tables, in any order, is valid.</maml:para><maml:para>"TroubleshootingPack", @{ModuleName="PSDiagnostics"; ModuleVersion="1.0.0.0";GUID="c61d6278-02a3-4618-ae37-a524d40a7f44"},</maml:para><maml:para>The value of the ModulesToImport parameter of the Register-PSSessionConfiguration cmdlet takes precedence over the value of the ModulesToImport key in the session configuration file.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Object[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>PowerShellVersion</maml:name><maml:description><maml:para>Specifies the version of the Windows PowerShell engine in sessions that use the session configuration. Valid values are 2.0 and 3.0. If you omit this parameter, the PowerShellVersion key is commented-out and newest version of Windows PowerShell runs in the session.</maml:para><maml:para>The value of the PSVersion parameter of the Register-PSSessionConfiguration cmdlet takes precedence over the value of the PowerShellVersion key in the session configuration file.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Version</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SchemaVersion</maml:name><maml:description><maml:para>Specifies the version of the session configuration file schema. The default value is "1.0.0.0". </maml:para></maml:description><command:parameterValue required="true" variableLength="false">Version</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ScriptsToProcess</maml:name><maml:description><maml:para>Adds the specified scripts to sessions that use the session configuration. Enter the path and file names of the scripts. The value of this parameter must be a full or absolute path to script file names.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SessionType</maml:name><maml:description><maml:para>Specifies the type of session that is created by using the session configuration. The default value is Default. Valid values are:</maml:para><maml:para>-- Empty: No modules or snap-ins are added to session by default. Use the parameters of this cmdlet to add modules, functions, scripts, and other features to the session. This option is designed for you to create custom sessions by adding selected command. If you do not add commands to an empty session, the session is limited to expressions and might not be usable.</maml:para><maml:para>-- Default: Adds the Microsoft.PowerShell.Core snap-in to the session. This snap-in includes the Import-Module and Add-PSSnapin cmdlets that users can use to import other modules and snap-ins unless you explicitly prohibit the use of the cmdlets.</maml:para><maml:para>-- RestrictedRemoteServer: Includes only the following proxy functions: Exit-PSSession,Get-Command, Get-FormatData, Get-Help, Measure-Object, Out-Default, and Select-Object. Use the parameters of this cmdlet to add modules, functions, scripts, and other features to the session.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">SessionType</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>TypesToProcess</maml:name><maml:description><maml:para>Adds the specified type files (.ps1xml) to sessions that use the session configuration. Enter the type file names. The value of this parameter must be a full or absolute path to type file names.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>VariableDefinitions</maml:name><maml:description><maml:para>Adds the specified variables to sessions that use the session configuration. Enter a hash table with the following keys:</maml:para><maml:para>-- Name: Name of the variable. This key is required.</maml:para><maml:para>-- Value: Variable value. This key is required.</maml:para><maml:para>
-- Options: Variable options. This key is optional. The default value is None. Valid values are None, ReadOnly, Constant, Private, or AllScope.</maml:para><maml:para>For example: @{Name="WarningPreference";Value="SilentlyContinue";Options="AllScope"}</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Object</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>VisibleAliases</maml:name><maml:description><maml:para>Limits the aliases in the session to those specified in the value of this parameter, plus any aliases that you define in the AliasDefinition parameter. Wildcards are supported. By default, all aliases that are defined by the Windows PowerShell engine and all aliases that modules export are visible in the session.</maml:para><maml:para>For example: VisibleAliases="gcm", "gp"</maml:para><maml:para>When any Visible parameter is included in the session configuration file, Windows PowerShell removes the Import-Module cmdlet and its "ipmo" alias from the session.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>VisibleCmdlets</maml:name><maml:description><maml:para>Limits the cmdlets in the session to those specified in the value of this parameter. Wildcards are supported.</maml:para><maml:para>By default, all cmdlets that modules in the session export are visible in the session. Use the SessionType and ModulesToImport parameters to determine which modules and snap-ins are imported into the session.</maml:para><maml:para>When any Visible parameter is included in the session configuration file, Windows PowerShell removes the Import-Module cmdlet and its "ipmo" alias from the session.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>VisibleFunctions</maml:name><maml:description><maml:para>Limits the functions in the session to those specified in the value of this parameter, plus any functions that you define in the FunctionDefinition parameter. Wildcards are supported.</maml:para><maml:para>By default, all functions that modules in the session export are visible in the session. Use the SessionType and ModulesToImport parameters to determine which modules and snap-ins are imported into the session.</maml:para><maml:para>When any Visible parameter is included in the session configuration file, Windows PowerShell removes the Import-Module cmdlet and its "ipmo" alias from the session.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>VisibleProviders</maml:name><maml:description><maml:para>Limits the Windows PowerShell providers in the session to those specified in the value of this parameter. Wildcards are supported.</maml:para><maml:para>By default, all providers that modules in the session export are visible in the session. Use the SessionType and ModulesToImport parameters to determine which modules and snap-ins are imported into the session.</maml:para><maml:para>When any Visible parameter is included in the session configuration file, Windows PowerShell removes the Import-Module cmdlet and its "ipmo" alias from the session.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>AliasDefinitions</maml:name><maml:description><maml:para>Adds the specified aliases to sessions that use the session configuration. Enter a hash table with the following keys:</maml:para><maml:para>-- Name: Name of the alias. This key is required.</maml:para><maml:para>-- Value: The command that the alias represents. This key is required.</maml:para><maml:para>-- Description: A text string that describes the alias. This key is optional.</maml:para><maml:para>-- Options: Alias options. This key is optional. The default value is None. Valid values are None, ReadOnly, Constant, Private, or AllScope.</maml:para><maml:para>For example: @{Name="hlp";Value="Get-Help";Description="Gets help";Options="ReadOnly"}</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Hashtable[]</command:parameterValue><dev:type><maml:name>Hashtable[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>AssembliesToLoad</maml:name><maml:description><maml:para>Specifies the assemblies to load into the sessions that use the session configuration.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Author</maml:name><maml:description><maml:para>Identifies the author of the session configuration or the configuration file. The default is the current user. The value of this parameter is visible in the session configuration file, but it is not a property of the session configuration object.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CompanyName</maml:name><maml:description><maml:para>Identifies the company that created the session configuration or the configuration file. The default value is "Unknown". The value of this parameter is visible in the session configuration file, but it is not a property of the session configuration object.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>"Unknown"</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Copyright</maml:name><maml:description><maml:para>Adds a copyright to the session configuration file. The value of this parameter is visible in the session configuration file, but it is not a property of the session configuration object.</maml:para><maml:para>If you omit this parameter, New-PSSessionConfigurationFile generates a copyright statement by using the value of the Author parameter.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>'(c) 2012 &lt;User&gt; All rights reserved.</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Description</maml:name><maml:description><maml:para>Describes the session configuration or the session configuration file. The value of this parameter is visible in the session configuration file, but it is not a property of the session configuration object.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>EnvironmentVariables</maml:name><maml:description><maml:para>Adds environment variables to the session. Enter a hash table in which the keys are the environment variable names and the values are the environment variable values.</maml:para><maml:para>For example: EnvironmentVariables=@{TestShare="\\Server01\TestShare"}</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Object</command:parameterValue><dev:type><maml:name>Object</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ExecutionPolicy</maml:name><maml:description><maml:para>Specifies the execution policy of sessions that use the session configuration. If you omit this parameter, the value of the ExecutionPolicy key in the session configuration file is "Restricted". For information about execution policies in Windows PowerShell, see about_Execution_Policies (http://go.microsoft.com/fwlink/?LinkID=135170).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">ExecutionPolicy</command:parameterValue><dev:type><maml:name>ExecutionPolicy</maml:name><maml:uri /></dev:type><dev:defaultValue>Restricted</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>FormatsToProcess</maml:name><maml:description><maml:para>Specifies the formatting files (.ps1xml) that run in sessions that use the session configuration. The value of this parameter must be a full or absolute path to the formatting files.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>FunctionDefinitions</maml:name><maml:description><maml:para>Adds the specified functions to sessions that use the session configuration. Enter a hash table with the following keys:</maml:para><maml:para>-- Name: Name of the function. This key is required.</maml:para><maml:para>-- ScriptBlock: Function body. Enter a script block. This key is required.</maml:para><maml:para>-- Options: Function options. This key is optional. The default value is None. Valid values are None, ReadOnly, Constant, Private, or AllScope.</maml:para><maml:para>For example: @{Name="Get-PowerShellProcess";ScriptBlock={Get-Process PowerShell};Options="AllScope"}</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Hashtable[]</command:parameterValue><dev:type><maml:name>Hashtable[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Guid</maml:name><maml:description><maml:para>Specifies a unique identifier for the session configuration file. If you omit this parameter, New-PSSessionConfigurationFile generates a GUID for the file.
To create a new GUID in Windows PowerShell, type "[guid]::NewGuid()".</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Guid</command:parameterValue><dev:type><maml:name>Guid</maml:name><maml:uri /></dev:type><dev:defaultValue>GUID generated for the session configuration</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>LanguageMode</maml:name><maml:description><maml:para>Determines which elements of the Windows PowerShell language are permitted in sessions that use this session configuration. You can use this parameter to restrict the commands that particular users can run on the computer.</maml:para><maml:para>Valid values are:</maml:para><maml:para>-- FullLanguage: All language elements are permitted.</maml:para><maml:para>-- ConstrainedLanguage: Commands that contain scripts to be evaluated are not allowed. The ConstrainedLanguage mode restricts user access to Microsoft .NET Framework types, objects, or methods.</maml:para><maml:para>-- NoLanguage: Users may run cmdlets and functions, but are not permitted to use any language elements, such as script blocks, variables, or operators.</maml:para><maml:para></maml:para><maml:para>-- RestrictedLanguage: Users may run cmdlets and functions, but are not permitted to use script blocks or variables except for the following permitted variables: $PSCulture, $PSUICulture, $True, $False, and $Null. Users may use only the basic comparison operators (-eq, -gt, -lt). Assignment statements, property references, and method calls are not permitted.</maml:para><maml:para>The default value of the LanguageMode parameter depends on the value of the SessionType parameter.</maml:para><maml:para>
                         
-- Empty : NoLanguage
-- RestrictedRemoteServer : NoLanguage
-- Default : FullLanguage</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSLanguageMode</command:parameterValue><dev:type><maml:name>PSLanguageMode</maml:name><maml:uri /></dev:type><dev:defaultValue>FullLanguage or NoLanguage</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ModulesToImport</maml:name><maml:description><maml:para>Specifies the modules and snap-ins that are automatically imported into sessions that use the session configuration. </maml:para><maml:para>By default, only the Microsoft.PowerShell.Core snap-in is imported into remote sessions, but unless the cmdlets are excluded, users can use the Import-Module and Add-PSSnapin cmdlets to add modules and snap-ins to the session.</maml:para><maml:para>Each module or snap-in in the value of this parameter can be represented by a string or as a hash table. A module string consists only of the name of the module or snap-in. A module hash table can include ModuleName, ModuleVersion, and GUID keys. Only the ModuleName key is required.</maml:para><maml:para>For example, the following value consists of a string and a hash table. Any combination of strings and hash tables, in any order, is valid.</maml:para><maml:para>"TroubleshootingPack", @{ModuleName="PSDiagnostics"; ModuleVersion="1.0.0.0";GUID="c61d6278-02a3-4618-ae37-a524d40a7f44"},</maml:para><maml:para>The value of the ModulesToImport parameter of the Register-PSSessionConfiguration cmdlet takes precedence over the value of the ModulesToImport key in the session configuration file.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Object[]</command:parameterValue><dev:type><maml:name>Object[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1" aliases=""><maml:name>Path</maml:name><maml:description><maml:para>Specifies the path and file name of the session configuration file. The file must have a .pssc file name extension.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>PowerShellVersion</maml:name><maml:description><maml:para>Specifies the version of the Windows PowerShell engine in sessions that use the session configuration. Valid values are 2.0 and 3.0. If you omit this parameter, the PowerShellVersion key is commented-out and newest version of Windows PowerShell runs in the session.</maml:para><maml:para>The value of the PSVersion parameter of the Register-PSSessionConfiguration cmdlet takes precedence over the value of the PowerShellVersion key in the session configuration file.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Version</command:parameterValue><dev:type><maml:name>Version</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SchemaVersion</maml:name><maml:description><maml:para>Specifies the version of the session configuration file schema. The default value is "1.0.0.0". </maml:para></maml:description><command:parameterValue required="true" variableLength="false">Version</command:parameterValue><dev:type><maml:name>Version</maml:name><maml:uri /></dev:type><dev:defaultValue>1.0.0.0</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ScriptsToProcess</maml:name><maml:description><maml:para>Adds the specified scripts to sessions that use the session configuration. Enter the path and file names of the scripts. The value of this parameter must be a full or absolute path to script file names.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SessionType</maml:name><maml:description><maml:para>Specifies the type of session that is created by using the session configuration. The default value is Default. Valid values are:</maml:para><maml:para>-- Empty: No modules or snap-ins are added to session by default. Use the parameters of this cmdlet to add modules, functions, scripts, and other features to the session. This option is designed for you to create custom sessions by adding selected command. If you do not add commands to an empty session, the session is limited to expressions and might not be usable.</maml:para><maml:para>-- Default: Adds the Microsoft.PowerShell.Core snap-in to the session. This snap-in includes the Import-Module and Add-PSSnapin cmdlets that users can use to import other modules and snap-ins unless you explicitly prohibit the use of the cmdlets.</maml:para><maml:para>-- RestrictedRemoteServer: Includes only the following proxy functions: Exit-PSSession,Get-Command, Get-FormatData, Get-Help, Measure-Object, Out-Default, and Select-Object. Use the parameters of this cmdlet to add modules, functions, scripts, and other features to the session.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">SessionType</command:parameterValue><dev:type><maml:name>SessionType</maml:name><maml:uri /></dev:type><dev:defaultValue>Default</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>TypesToProcess</maml:name><maml:description><maml:para>Adds the specified type files (.ps1xml) to sessions that use the session configuration. Enter the type file names. The value of this parameter must be a full or absolute path to type file names.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>VariableDefinitions</maml:name><maml:description><maml:para>Adds the specified variables to sessions that use the session configuration. Enter a hash table with the following keys:</maml:para><maml:para>-- Name: Name of the variable. This key is required.</maml:para><maml:para>-- Value: Variable value. This key is required.</maml:para><maml:para>
-- Options: Variable options. This key is optional. The default value is None. Valid values are None, ReadOnly, Constant, Private, or AllScope.</maml:para><maml:para>For example: @{Name="WarningPreference";Value="SilentlyContinue";Options="AllScope"}</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Object</command:parameterValue><dev:type><maml:name>Object</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>VisibleAliases</maml:name><maml:description><maml:para>Limits the aliases in the session to those specified in the value of this parameter, plus any aliases that you define in the AliasDefinition parameter. Wildcards are supported. By default, all aliases that are defined by the Windows PowerShell engine and all aliases that modules export are visible in the session.</maml:para><maml:para>For example: VisibleAliases="gcm", "gp"</maml:para><maml:para>When any Visible parameter is included in the session configuration file, Windows PowerShell removes the Import-Module cmdlet and its "ipmo" alias from the session.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>VisibleCmdlets</maml:name><maml:description><maml:para>Limits the cmdlets in the session to those specified in the value of this parameter. Wildcards are supported.</maml:para><maml:para>By default, all cmdlets that modules in the session export are visible in the session. Use the SessionType and ModulesToImport parameters to determine which modules and snap-ins are imported into the session.</maml:para><maml:para>When any Visible parameter is included in the session configuration file, Windows PowerShell removes the Import-Module cmdlet and its "ipmo" alias from the session.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>VisibleFunctions</maml:name><maml:description><maml:para>Limits the functions in the session to those specified in the value of this parameter, plus any functions that you define in the FunctionDefinition parameter. Wildcards are supported.</maml:para><maml:para>By default, all functions that modules in the session export are visible in the session. Use the SessionType and ModulesToImport parameters to determine which modules and snap-ins are imported into the session.</maml:para><maml:para>When any Visible parameter is included in the session configuration file, Windows PowerShell removes the Import-Module cmdlet and its "ipmo" alias from the session.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>VisibleProviders</maml:name><maml:description><maml:para>Limits the Windows PowerShell providers in the session to those specified in the value of this parameter. Wildcards are supported.</maml:para><maml:para>By default, all providers that modules in the session export are visible in the session. Use the SessionType and ModulesToImport parameters to determine which modules and snap-ins are imported into the session.</maml:para><maml:para>When any Visible parameter is included in the session configuration file, Windows PowerShell removes the Import-Module cmdlet and its "ipmo" alias from the session.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name>None</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>This cmdlet does not take input from the pipeline.</maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name>None</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>This cmdlet does not generate any output.</maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><maml:alertSet><maml:title /><maml:alert><maml:para>The Visible parameters, such as VisibleCmdlets and VisibleProviders, do not import items into the session. Instead, they select from among the items imported into the session. For example, if the value of the VisibleProviders parameter is the Certificate provider, but the ModulesToImport parameter doesn't specify the Microsoft.PowerShell.Security module that contains the Certificate provider, the Certificate provider is not visible in the session.</maml:para></maml:alert><maml:alert><maml:para>New-PSSessionConfigurationFile creates a session configuration file with a .pssc file name extension in the path that you specify in the Path parameter. When you use the session configuration file to create a session configuration, the Register-PSSessionConfiguration cmdlet copies the configuration file and saves an active copy of the file in the SessionConfig subdirectory of the $pshome directory.</maml:para><maml:para>The ConfigFilePath property of the session configuration contains the fully qualified path to the active session configuration file. You can edit the active configuration file in the $pshome directory at any time, either by using Windows PowerShell ISE or any text editor. The changes that you make affect all new sessions that use the session configuration, but not existing sessions.</maml:para><maml:para>Before using an edited session configuration file, use the Test-PSSessionConfigurationFile cmdlet to verify that the configuration file entries are valid.</maml:para></maml:alert></maml:alertSet><command:examples><command:example><maml:title>Example 1: Designing a specialized session</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;New-PSSessionConfigurationFile -ModulesToImport DMSCmdlets, *Microsoft* -ScriptsToProcess \\Server01\Scripts\Get-DMSServers.ps1
</dev:code><dev:remarks><maml:para>The following command creates a session configuration file for IT technical sessions on a cloud-based document management server.</maml:para><maml:para>You can use the resulting file to create a customized session configuration on the server. The ACLs on the session configuration determine who can use the session configuration to create a session on the server. </maml:para><maml:para>Customized sessions that include the cmdlets, functions and scripts that technical users need make it easier for those users to write scripts that automate common tasks.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>Example 2: Restricting Language in a Session</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>The first pair of commands uses the New-PSSessionConfigurationFile cmdlet to create two session configuration files. The first command creates a no-language file. The second command creates a restricted-language file. Other than the value of the LanguageMode parameter, the session configuration files are equivalent.
PS C:\&gt;New-PSSessionConfigurationFile -Path .\NoLanguage.pssc -LanguageMode NoLanguage
  
                         
PS C:\&gt;New-PSSessionConfigurationFile -Path .\RestrictedLanguage.pssc -LanguageMode RestrictedLanguage
 
The second pair of commands uses the configuration files to create session configurations on the local computer.
PS C:\&gt;Register-PSSessionConfiguration -Path .\NoLanguage.pssc -Name NoLanguage -Force
  
                         
PS C:\&gt;Register-PSSessionConfiguration -Path .\RestrictedLanguage.pssc -Name RestrictedLanguage -Force
 
The third pair of commands creates two sessions, each of which uses one of the session configurations that were created in the previous command pair.
PS C:\&gt;$NoLanguage = New-PSSession -ComputerName Srv01 -ConfigurationName NoLanguage
  
                         
PS C:\&gt;$RestrictedLanguage = New-PSSession -ComputerName Srv01 -ConfigurationName RestrictedLanguage
 
The seventh command uses the Invoke-Command cmdlet to run an If statement in the no-Language session. The command fails, because the language elements in the command are not permitted in a no-language session.
PS C:\&gt;Invoke-Command -Session $NoLanguage {if ((Get-Date) -lt "1January2014") {"Before"} else {"After"} }
The syntax is not supported by this runspace. This might be because it is in no-language mode.
    + CategoryInfo : ParserError: (if ((Get-Date) ...") {"Before"} :String) [], ParseException
    + FullyQualifiedErrorId : ScriptsNotAllowed
    + PSComputerName : localhost
 
 
The eighth command uses the Invoke-Command cmdlet to run the same If statement in the restricted-language session. Because these language elements are permitted in the restricted-language session, the command succeeds.
PS C:\&gt;Invoke-Command -Session $RestrictedLanguage {if ((Get-Date) -lt "1January2014") {"Before"} else {"After"} }
Before
</dev:code><dev:remarks><maml:para>The commands in this example compare a no-language session to a restricted-language session. The example shows the effect of using the LanguageMode parameter of New-PSSessionConfigurationFile to limit the types of commands and statements that users can run in a session that uses a custom session configuration. </maml:para><maml:para>To run the commands in this example, start Windows PowerShell with the "Run as administrator" option. This option is required to run the Register-PSSessionConfiguration cmdlet.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>Example 3: Changing a Session Configuration File</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>The first command uses the New-PSSessionConfigurationFile cmdlet to create a session configuration file that imports the required modules.
PS C:\&gt;New-PSSessionConfigurationFile -Path .\New-ITTasks.pssc -ModulesToImport Microsoft*, ITTasks, PSScheduledJob
 
The second command uses the Set-PSSessionConfiguration cmdlet to replace the current .pssc file with the new one. Changes to the session configuration affects all sessions created after the change completes.
PS C:\&gt;Set-PSSessionConfiguration -Name ITTasks -Path .\New-ITTasks.pssc
</dev:code><dev:remarks><maml:para>This example shows how to change the session configuration file that is used in a session configuration. In this scenario, the administrator wants to add the PSScheduledJob module to sessions created with the ITTasks session configuration. Previously, these sessions had only the core modules and an internal "ITTasks" module.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>Example 4: Editing a Session Configuration File</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>The first command uses the Get-PSSessionConfiguration command to get the path to the configuration file for the ITConfig session configuration. The path is stored in the ConfigFilePath property of the session configuration.
PS C:\&gt;(Get-PSSessionConfiguration -Name ITConfig).ConfigFilePath
C:\WINDOWS\System32\WindowsPowerShell\v1.0\SessionConfig\ITConfig_1e9cb265-dae0-4bd3-89a9-8338a47698a1.pssc
 
To edit the session configuration copy of the configuration file, you might need to edit the file permissions.In this case, the current user, who is a member of the Administrators group on the system, was explicitly granted full control of the file by using the following method: Right-click the file icon, and then click Properties. On the Security tab, click Edit, and then click Add. Add the user, and then, in the Full control column, click Allow.Now the user can edit the file. A new "slst" alias for the Select-String cmdlet is added to the file.
PS C:\&gt;AliasDefinitions = @(@{Name='slst';Value='Select-String'})
 
The second command uses the Test-PSSessionConfigurationFile cmdlet to test the edited file. The command uses the Verbose parameter, which displays the file errors that the cmdlet detects, if any.In this case, the cmdlet returns True ($true), which indicates that it did not detect any errors in the file.
PS C:\&gt;Test-PSSessionConfigurationFile -Path (Get-PSSessionConfiguration -Name ITConfig).ConfigFilePath
True
</dev:code><dev:remarks><maml:para>This example shows how to change a session configuration by editing the active session configuration copy of the configuration file.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>Example 5: Sample Configuration File</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;New-PSSessionConfigurationFile
-Path .\SampleFile.pssc
-Schema "1.0.0.0"
-Author "User01"
-Copyright "(c) Fabrikam Corporation. All rights reserved."
-CompanyName "Fabrikam Corporation"
-Description "This is a sample file."
-ExecutionPolicy AllSigned
-PowerShellVersion "3.0"
-LanguageMode FullLanguage
-SessionType Default
-EnvironmentVariables @{TESTSHARE="\\Test2\Test"}
-ModulesToImport @{ModuleName="PSScheduledJob"; ModuleVersion="1.0.0.0"; GUID="50cdb55f-5ab7-489f-9e94-4ec21ff51e59"}, PSDiagnostics
-AssembliesToLoad "System.Web.Services","FSharp.Compiler.CodeDom.dll"
-TypesToProcess "Types1.ps1xml","Types2.ps1xml"
-FormatsToProcess "CustomFormats.ps1xml"
-ScriptsToProcess "Get-Inputs.ps1"
-AliasDefinitions @{Name="hlp";Value="Get-Help";Description="Gets help.";Options="AllScope"},@{Name="Update";Value="Update-Help";Description="Updates help";Options="ReadOnly"}
-FunctionDefinitions @{Name="Get-Function";ScriptBlock={Get-Command -CommandType Function};Options="ReadOnly"}
-VariableDefinitions @{Name="WarningPreference";Value="SilentlyContinue"}
-VisibleAliases "c*","g*","i*","s*" `-VisibleCmdlets "Get*"
-VisibleFunctions "Get*"
-VisibleProviders "FileSystem","Function","Variable"
  
                       
@{
# Version number of the schema used for this configuration file
SchemaVersion = '1.0.0.0'
 
# ID used to uniquely identify this session configuration
GUID = 'f7039ffa-7e54-4382-b358-a393c75c30d3'
 
# Specifies the execution policy for this session configuration
ExecutionPolicy = 'AllSigned'
 
# Specifies the language mode for this session configuration
LanguageMode = 'FullLanguage'
 
# Initial state of this session configuration
SessionType = 'Default'
 
# Environment variables defined in this session configuration
EnvironmentVariables = @{
    TESTSHARE='\\Test2\Test'
}
 
# Author of this session configuration
Author = 'User01'
 
# Company associated with this session configuration
CompanyName = 'Fabrikam Corporation'
 
# Copyright statement for this session configuration
Copyright = '(c) Fabrikam Corporation. All rights reserved.'
 
# Description of the functionality provided by this session configuration
Description = 'This is a sample file.'
 
# Version of the Windows PowerShell engine used by this session configuration
PowerShellVersion = '3.0'
 
# Modules that will be imported
ModulesToImport = @{
    ModuleVersion='1.0.0.0'
    ModuleName='PSScheduledJob'
    GUID='50cdb55f-5ab7-489f-9e94-4ec21ff51e59'
}, 'PSDiagnostics'
 
# Assemblies that will be loaded in this session configuration
AssembliesToLoad = 'System.Web.Services', 'FSharp.Compiler.CodeDom.dll'
 
# Aliases visible in this session configuration
VisibleAliases = 'c*', 'g*', 'i*', 's*'
 
# Cmdlets visible in this session configuration
VisibleCmdlets = 'Get*'
 
# Functions visible in this session configuration
VisibleFunctions = 'Get*'
 
# Providers visible in this session configuration
VisibleProviders = 'FileSystem', 'Function', 'Variable'
 
# Aliases defined in this session configuration
AliasDefinitions = @(
@{
    Description='Gets help.'
    Name='hlp'
    Options='AllScope'
    Value='Get-Help'
},
@{
    Description='Updates help'
    Name='Update'
    Options='ReadOnly'
    Value='Update-Help'
}
)
 
# Functions defined in this session configuration
FunctionDefinitions = @(
@{
    Name='Get-Function'
    Options='ReadOnly'
    ScriptBlock={Get-Command -CommandType Function}
}
)
 
# Variables defined in this session configuration
VariableDefinitions = @(
@{
    Value='SilentlyContinue'
    Name='WarningPreference'
 
# Type files (.ps1xml) that will be loaded in this session configuration
TypesToProcess = 'C:\WINDOWS\System32\WindowsPowerShell\v1.0\SessionConfig\Types1.ps1xml', 'C:\WINDOWS\System32\WindowsPowerShell\v1.0\SessionConfig\Types2.ps1xml'
 
# Format files (.ps1xml) that will be loaded in this session configuration
FormatsToProcess = 'C:\WINDOWS\System32\WindowsPowerShell\v1.0\SessionConfig\CustomFormats.ps1xml'
 
# Specifies the scripts to execute after the session is configured
ScriptsToProcess = 'C:\WINDOWS\System32\WindowsPowerShell\v1.0\SessionConfig\Get-Inputs.ps1'
}
 
</dev:code><dev:remarks><maml:para>This example displays a New-PSSessionConfigurationFile command that uses all of the cmdlet parameters. It is included to show the correct input format for each parameter.</maml:para><maml:para>The resulting SampleFile.pssc is displayed in the output.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title></maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;
</dev:code><dev:remarks><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=289597</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Disable-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Enable-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Get-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>New-PSSessionConfigurationFile</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>New-PSSessionConfigurationOption</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Register-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Set-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Test-PSSessionConfigurationFile</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Unregister-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>WSMan Provider</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Session_Configurations</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Session_Configuration_Files</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>New-PSSessionOption</command:name><maml:description><maml:para>Creates an object that contains advanced options for a PSSession. </maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>New</command:verb><command:noun>PSSessionOption</command:noun><dev:version /></command:details><maml:description><maml:para>The New-PSSessionOption cmdlet creates an object that contains advanced options for a user-managed session ("PSSession"). You can use the object as the value of the SessionOption parameter of cmdlets that create a PSSession, such as New-PSSession, Enter-PSSession, and Invoke-Command.</maml:para><maml:para>Without parameters, New-PSSessionOption generates an object that contains the default values for all of the options. Because all of the properties can be edited, you can use the resulting object as a template, and create standard option objects for your enterprise.</maml:para><maml:para>You can also save a session option object in the $PSSessionOption preference variable. The values of this variable establish new default values for the session options. They effective when no session options are set for the session and they take precedence over options set in the session configuration, but you can override them by specifying session options or a session option object in a cmdlet that creates a session. For more information about the $PSSessionOption preference variable, see about_Preference_Variables (http://go.microsoft.com/fwlink/?LinkID=113248).</maml:para><maml:para>When you use a session option object in a cmdlet that creates a session, the session option values take precedence over default values for sessions set in the $PSSessionOption preference variable and in the session configuration. However, they do not take precedence over maximum values, quotas or limits set in the session configuration. For more information about session configurations, see about_Session_Configurations (http://go.microsoft.com/fwlink/?LinkID=145152).</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>New-PSSessionOption</maml:name><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ApplicationArguments</maml:name><maml:description><maml:para>Specifies a primitive dictionary that is sent to the remote session. Commands and scripts in the remote session, including startup scripts in the session configuration, can find this dictionary in the ApplicationArguments property of the $PSSenderInfo automatic variable. You can use this parameter to send data to the remote session.</maml:para><maml:para>A primitive dictionary is like a hash table, but it contains keys that are case-insensitive strings and values that can be serialized and deserialized during Windows PowerShell remoting handshakes. If you enter a hash table for the value of this parameter, Windows PowerShell converts it to a primitive dictionary.</maml:para><maml:para>For more information, see about_Hash_Tables (http://go.microsoft.com/fwlink/?LinkID=135175), about_Session_Configurations (http://go.microsoft.com/fwlink/?LinkID=145152), and about_Automatic_Variables (http://go.microsoft.com/fwlink/?LinkID=113212).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSPrimitiveDictionary</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="CancelTimeoutMSec"><maml:name>CancelTimeout</maml:name><maml:description><maml:para>Determines how long Windows PowerShell waits for a cancel operation (CTRL + C) to complete before terminating it. Enter a value in milliseconds.</maml:para><maml:para>The default value is 60000 (one minute). A value of 0 (zero) means no timeout; the command continues indefinitely.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Culture</maml:name><maml:description><maml:para>Specifies the culture to use for the session. Enter a culture name in &lt;languagecode2&gt;-&lt;country/regioncode2&gt; format, such as "ja-jP", a variable that contains a CultureInfo object, or a command that gets a CultureInfo object, such as "get-culture".</maml:para><maml:para>The default value is $null, and the culture that is set in the operating system is used in the session.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">CultureInfo</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="IdleTimeoutMSec"><maml:name>IdleTimeout</maml:name><maml:description><maml:para>Determines how long the session stays open if the remote computer does not receive any communication from the local computer, including the heartbeat signal. When the interval expires, the session closes.</maml:para><maml:para>The idle timeout value is of significant importance if you intend to disconnect and reconnect to a session. You can reconnect only if the session has not timed out.</maml:para><maml:para>Enter a value in milliseconds. The minimum value is 60000 (1 minute). The maximum is the value of the MaxIdleTimeoutms property of the session configuration. The default value, -1, does not set an idle timeout.</maml:para><maml:para>The session uses the idle timeout that is set in the session options, if any. If none is set (-1), the session uses the value of the IdleTimeoutMs property of the session configuration or the WSMan shell timeout value (WSMan:\&lt;ComputerName&gt;\Shell\IdleTimeout), whichever is shortest.</maml:para><maml:para>If the idle timeout set in the session options exceeds the value of the MaxIdleTimeoutMs property of the session configuration, the command to create a session fails.</maml:para><maml:para>The IdleTimeoutMs value of the default Microsoft.PowerShell session configuration is 7200000 milliseconds (2 hours). Its MaxIdleTimeoutMs value is 2147483647 milliseconds (&gt;24 days). The default value of the WSMan shell idle timeout (WSMan:\&lt;ComputerName&gt;\Shell\IdleTimeout) is 7200000 milliseconds (2 hours).</maml:para><maml:para>The idle timeout value of a session can also be changed when disconnecting from a session or reconnecting to a session. For more information, see Disconnect-PSSession and Connect-PSSession.</maml:para><maml:para>In Windows PowerShell 2.0, the default value of the IdleTimeout parameter is 240000 (4 minutes).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>IncludePortInSPN</maml:name><maml:description><maml:para>Includes the port number in the Service Principal Name (SPN) used for Kerberos authentication, for example, “HTTP/&lt;ComputerName&gt;:5985”. This option allows a client that uses a non-default SPN to authenticate against a remote computer that uses Kerberos authentication.</maml:para><maml:para>The option is designed for enterprises where multiple services that support Kerberos authentication are running under different user accounts. For example, an IIS application that allows Kerberos authentication can require the default SPN to be registered to a user account that is different from the computer account. In such cases, Windows PowerShell remoting cannot use Kerberos to authenticate because it requires an SPN that is registered to the computer account. To resolve this problem, administrators can create different SPNs (such as by using Setspn.exe) that are registered to different user accounts and can distinguish between them by including the port number in the SPN.</maml:para><maml:para>For more information about SetSPN.exe, see "SetSPN Overview" at http://go.microsoft.com/fwlink/?LinkID=189413.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>MaximumReceivedDataSizePerCommand</maml:name><maml:description><maml:para>Specifies the maximum number of bytes that the local computer can receive from the remote computer in a single command. Enter a value in bytes. By default, there is no data size limit.</maml:para><maml:para>This option is designed to protect the resources on the client computer.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>MaximumReceivedObjectSize</maml:name><maml:description><maml:para>Specifies the maximum size of an object that the local computer can receive from the remote computer. This option is designed to protect the resources on the client computer. Enter a value in bytes.</maml:para><maml:para>In Windows PowerShell 2.0, if you omit this parameter, there is no object size limit. Beginning in Windows PowerShell 3.0, if you omit this parameter, the default value is 200 MB.</maml:para><maml:para></maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>MaximumRedirection</maml:name><maml:description><maml:para>Determines how many times Windows PowerShell redirects a connection to an alternate Uniform Resource Identifier (URI) before the connection fails. The default value is 5. A value of 0 (zero) prevents all redirection.</maml:para><maml:para>This option is used in the session only when the AllowRedirection parameter is used in the command that creates the session.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>NoCompression</maml:name><maml:description><maml:para>Turns off packet compression in the session. Compression uses more processor cycles, but it makes transmission faster.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>NoEncryption</maml:name><maml:description><maml:para>Turns off data encryption.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>NoMachineProfile</maml:name><maml:description><maml:para>Prevents loading the user's Windows user profile. As a result, the session might be created faster, but user-specific registry settings, items such as environment variables, and certificates are not available in the session.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="OpenTimeoutMSec"><maml:name>OpenTimeout</maml:name><maml:description><maml:para>Determines how long the client computer waits for the session connection to be established. When the interval expires, the command to establish the connection fails. Enter a value in milliseconds.</maml:para><maml:para>The default value is 180000 (3 minutes). A value of 0 (zero) means no time-out; the command continues indefinitely.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="OperationTimeoutMSec"><maml:name>OperationTimeout</maml:name><maml:description><maml:para>Determines the maximum time that any operation in the session can run. When the interval expires, the operation fails. Enter a value in milliseconds.</maml:para><maml:para>The default value is 180000 (3 minutes). A value of 0 (zero) means no time-out; the operation continues indefinitely.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>OutputBufferingMode</maml:name><maml:description><maml:para>Determines how command output is managed in disconnected sessions when the output buffer becomes full.</maml:para><maml:para>If the output buffering mode is not set in the session or in the session configuration, the default value is Block. Users can also change the output buffering mode when disconnecting the session.</maml:para><maml:para>If you omit this parameter, the value of the OutputBufferingMode of the session option object is None. A value of Block or Drop overrides the output buffering mode transport option set in the session configuration.</maml:para><maml:para>Valid values are: </maml:para><maml:para>-- Block: When the output buffer is full, execution is suspended until the buffer is clear. </maml:para><maml:para>-- Drop: When the output buffer is full, execution continues. As new output is saved, the oldest output is discarded.</maml:para><maml:para>-- None: No output buffering mode is specified.</maml:para><maml:para>For more information about the output buffering mode transport option, see New-PSTransportOption.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">OutputBufferingMode</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ProxyAccessType</maml:name><maml:description><maml:para>Determines which mechanism is used to resolve the host name. Valid values are IEConfig, WinHttpConfig, AutoDetect, NoProxyServer and None. The default value is None.</maml:para><maml:para>For information about the values of this parameter, see the description of the System.Management.Automation.Remoting.ProxyAccessType enumeration in the MSDN (Microsoft Developer Network) Library at http://go.microsoft.com/fwlink/?LinkId=144756.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">ProxyAccessType</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ProxyAuthentication</maml:name><maml:description><maml:para>Specifies the authentication method that is used for proxy resolution. Valid values are Basic, Digest, and Negotiate. The default value is Negotiate.</maml:para><maml:para>For information about the values of this parameter, see the description of the System.Management.Automation.Runspaces.AuthenticationMechanism enumeration in the MSDN library at http://go.microsoft.com/fwlink/?LinkID=144382.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">AuthenticationMechanism</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ProxyCredential</maml:name><maml:description><maml:para>Specifies the credentials to use for proxy authentication. Enter a variable that contains a PSCredential object or a command that gets a PSCredential object, such as a Get-Credential command. If this option is not set, no credentials are specified.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SkipCACheck</maml:name><maml:description><maml:para>Specifies that when connecting over HTTPS, the client does not validate that the server certificate is signed by a trusted certification authority (CA).</maml:para><maml:para>Use this option only when the remote computer is trusted by using another mechanism, such as when the remote computer is part of a network that is physically secure and isolated or when the remote computer is listed as a trusted host in a WinRM configuration.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SkipCNCheck</maml:name><maml:description><maml:para>Specifies that the certificate common name (CN) of the server does not need to match the hostname of the server. This option is used only in remote operations that use the HTTPS protocol.</maml:para><maml:para>Use this option only for trusted computers.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SkipRevocationCheck</maml:name><maml:description><maml:para>Does not validate the revocation status of the server certificate.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>UICulture</maml:name><maml:description><maml:para>Specifies the UI culture to use for the session.</maml:para><maml:para>Enter a culture name in &lt;languagecode2&gt;-&lt;country/regioncode2&gt; format, such as "ja-jP", a variable that contains a CultureInfo object, or a command that gets a CultureInfo object, such as a Get-Culture command.</maml:para><maml:para>The default value is $null, and the UI culture that is set in the operating system when the session is created is used in the session.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">CultureInfo</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>UseUTF16</maml:name><maml:description><maml:para>Encode the request in UTF16 format rather than UTF8 format.</maml:para></maml:description></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ApplicationArguments</maml:name><maml:description><maml:para>Specifies a primitive dictionary that is sent to the remote session. Commands and scripts in the remote session, including startup scripts in the session configuration, can find this dictionary in the ApplicationArguments property of the $PSSenderInfo automatic variable. You can use this parameter to send data to the remote session.</maml:para><maml:para>A primitive dictionary is like a hash table, but it contains keys that are case-insensitive strings and values that can be serialized and deserialized during Windows PowerShell remoting handshakes. If you enter a hash table for the value of this parameter, Windows PowerShell converts it to a primitive dictionary.</maml:para><maml:para>For more information, see about_Hash_Tables (http://go.microsoft.com/fwlink/?LinkID=135175), about_Session_Configurations (http://go.microsoft.com/fwlink/?LinkID=145152), and about_Automatic_Variables (http://go.microsoft.com/fwlink/?LinkID=113212).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSPrimitiveDictionary</command:parameterValue><dev:type><maml:name>PSPrimitiveDictionary</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="CancelTimeoutMSec"><maml:name>CancelTimeout</maml:name><maml:description><maml:para>Determines how long Windows PowerShell waits for a cancel operation (CTRL + C) to complete before terminating it. Enter a value in milliseconds.</maml:para><maml:para>The default value is 60000 (one minute). A value of 0 (zero) means no timeout; the command continues indefinitely.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue><dev:type><maml:name>Int32</maml:name><maml:uri /></dev:type><dev:defaultValue>60000</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Culture</maml:name><maml:description><maml:para>Specifies the culture to use for the session. Enter a culture name in &lt;languagecode2&gt;-&lt;country/regioncode2&gt; format, such as "ja-jP", a variable that contains a CultureInfo object, or a command that gets a CultureInfo object, such as "get-culture".</maml:para><maml:para>The default value is $null, and the culture that is set in the operating system is used in the session.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">CultureInfo</command:parameterValue><dev:type><maml:name>CultureInfo</maml:name><maml:uri /></dev:type><dev:defaultValue>Current culture</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="IdleTimeoutMSec"><maml:name>IdleTimeout</maml:name><maml:description><maml:para>Determines how long the session stays open if the remote computer does not receive any communication from the local computer, including the heartbeat signal. When the interval expires, the session closes.</maml:para><maml:para>The idle timeout value is of significant importance if you intend to disconnect and reconnect to a session. You can reconnect only if the session has not timed out.</maml:para><maml:para>Enter a value in milliseconds. The minimum value is 60000 (1 minute). The maximum is the value of the MaxIdleTimeoutms property of the session configuration. The default value, -1, does not set an idle timeout.</maml:para><maml:para>The session uses the idle timeout that is set in the session options, if any. If none is set (-1), the session uses the value of the IdleTimeoutMs property of the session configuration or the WSMan shell timeout value (WSMan:\&lt;ComputerName&gt;\Shell\IdleTimeout), whichever is shortest.</maml:para><maml:para>If the idle timeout set in the session options exceeds the value of the MaxIdleTimeoutMs property of the session configuration, the command to create a session fails.</maml:para><maml:para>The IdleTimeoutMs value of the default Microsoft.PowerShell session configuration is 7200000 milliseconds (2 hours). Its MaxIdleTimeoutMs value is 2147483647 milliseconds (&gt;24 days). The default value of the WSMan shell idle timeout (WSMan:\&lt;ComputerName&gt;\Shell\IdleTimeout) is 7200000 milliseconds (2 hours).</maml:para><maml:para>The idle timeout value of a session can also be changed when disconnecting from a session or reconnecting to a session. For more information, see Disconnect-PSSession and Connect-PSSession.</maml:para><maml:para>In Windows PowerShell 2.0, the default value of the IdleTimeout parameter is 240000 (4 minutes).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue><dev:type><maml:name>Int32</maml:name><maml:uri /></dev:type><dev:defaultValue>7200000 milliseconds</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>MaximumReceivedDataSizePerCommand</maml:name><maml:description><maml:para>Specifies the maximum number of bytes that the local computer can receive from the remote computer in a single command. Enter a value in bytes. By default, there is no data size limit.</maml:para><maml:para>This option is designed to protect the resources on the client computer.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue><dev:type><maml:name>Int32</maml:name><maml:uri /></dev:type><dev:defaultValue>No limit</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>MaximumReceivedObjectSize</maml:name><maml:description><maml:para>Specifies the maximum size of an object that the local computer can receive from the remote computer. This option is designed to protect the resources on the client computer. Enter a value in bytes.</maml:para><maml:para>In Windows PowerShell 2.0, if you omit this parameter, there is no object size limit. Beginning in Windows PowerShell 3.0, if you omit this parameter, the default value is 200 MB.</maml:para><maml:para></maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue><dev:type><maml:name>Int32</maml:name><maml:uri /></dev:type><dev:defaultValue>200 MB</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>MaximumRedirection</maml:name><maml:description><maml:para>Determines how many times Windows PowerShell redirects a connection to an alternate Uniform Resource Identifier (URI) before the connection fails. The default value is 5. A value of 0 (zero) prevents all redirection.</maml:para><maml:para>This option is used in the session only when the AllowRedirection parameter is used in the command that creates the session.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue><dev:type><maml:name>Int32</maml:name><maml:uri /></dev:type><dev:defaultValue>5</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>NoCompression</maml:name><maml:description><maml:para>Turns off packet compression in the session. Compression uses more processor cycles, but it makes transmission faster.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>NoEncryption</maml:name><maml:description><maml:para>Turns off data encryption.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>NoMachineProfile</maml:name><maml:description><maml:para>Prevents loading the user's Windows user profile. As a result, the session might be created faster, but user-specific registry settings, items such as environment variables, and certificates are not available in the session.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="OpenTimeoutMSec"><maml:name>OpenTimeout</maml:name><maml:description><maml:para>Determines how long the client computer waits for the session connection to be established. When the interval expires, the command to establish the connection fails. Enter a value in milliseconds.</maml:para><maml:para>The default value is 180000 (3 minutes). A value of 0 (zero) means no time-out; the command continues indefinitely.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue><dev:type><maml:name>Int32</maml:name><maml:uri /></dev:type><dev:defaultValue>180000</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="OperationTimeoutMSec"><maml:name>OperationTimeout</maml:name><maml:description><maml:para>Determines the maximum time that any operation in the session can run. When the interval expires, the operation fails. Enter a value in milliseconds.</maml:para><maml:para>The default value is 180000 (3 minutes). A value of 0 (zero) means no time-out; the operation continues indefinitely.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue><dev:type><maml:name>Int32</maml:name><maml:uri /></dev:type><dev:defaultValue>180000</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>OutputBufferingMode</maml:name><maml:description><maml:para>Determines how command output is managed in disconnected sessions when the output buffer becomes full.</maml:para><maml:para>If the output buffering mode is not set in the session or in the session configuration, the default value is Block. Users can also change the output buffering mode when disconnecting the session.</maml:para><maml:para>If you omit this parameter, the value of the OutputBufferingMode of the session option object is None. A value of Block or Drop overrides the output buffering mode transport option set in the session configuration.</maml:para><maml:para>Valid values are: </maml:para><maml:para>-- Block: When the output buffer is full, execution is suspended until the buffer is clear. </maml:para><maml:para>-- Drop: When the output buffer is full, execution continues. As new output is saved, the oldest output is discarded.</maml:para><maml:para>-- None: No output buffering mode is specified.</maml:para><maml:para>For more information about the output buffering mode transport option, see New-PSTransportOption.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">OutputBufferingMode</command:parameterValue><dev:type><maml:name>OutputBufferingMode</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ProxyAccessType</maml:name><maml:description><maml:para>Determines which mechanism is used to resolve the host name. Valid values are IEConfig, WinHttpConfig, AutoDetect, NoProxyServer and None. The default value is None.</maml:para><maml:para>For information about the values of this parameter, see the description of the System.Management.Automation.Remoting.ProxyAccessType enumeration in the MSDN (Microsoft Developer Network) Library at http://go.microsoft.com/fwlink/?LinkId=144756.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">ProxyAccessType</command:parameterValue><dev:type><maml:name>ProxyAccessType</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ProxyAuthentication</maml:name><maml:description><maml:para>Specifies the authentication method that is used for proxy resolution. Valid values are Basic, Digest, and Negotiate. The default value is Negotiate.</maml:para><maml:para>For information about the values of this parameter, see the description of the System.Management.Automation.Runspaces.AuthenticationMechanism enumeration in the MSDN library at http://go.microsoft.com/fwlink/?LinkID=144382.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">AuthenticationMechanism</command:parameterValue><dev:type><maml:name>AuthenticationMechanism</maml:name><maml:uri /></dev:type><dev:defaultValue>Negotiate</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ProxyCredential</maml:name><maml:description><maml:para>Specifies the credentials to use for proxy authentication. Enter a variable that contains a PSCredential object or a command that gets a PSCredential object, such as a Get-Credential command. If this option is not set, no credentials are specified.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue><dev:type><maml:name>PSCredential</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SkipCACheck</maml:name><maml:description><maml:para>Specifies that when connecting over HTTPS, the client does not validate that the server certificate is signed by a trusted certification authority (CA).</maml:para><maml:para>Use this option only when the remote computer is trusted by using another mechanism, such as when the remote computer is part of a network that is physically secure and isolated or when the remote computer is listed as a trusted host in a WinRM configuration.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SkipCNCheck</maml:name><maml:description><maml:para>Specifies that the certificate common name (CN) of the server does not need to match the hostname of the server. This option is used only in remote operations that use the HTTPS protocol.</maml:para><maml:para>Use this option only for trusted computers.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SkipRevocationCheck</maml:name><maml:description><maml:para>Does not validate the revocation status of the server certificate.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>UICulture</maml:name><maml:description><maml:para>Specifies the UI culture to use for the session.</maml:para><maml:para>Enter a culture name in &lt;languagecode2&gt;-&lt;country/regioncode2&gt; format, such as "ja-jP", a variable that contains a CultureInfo object, or a command that gets a CultureInfo object, such as a Get-Culture command.</maml:para><maml:para>The default value is $null, and the UI culture that is set in the operating system when the session is created is used in the session.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">CultureInfo</command:parameterValue><dev:type><maml:name>CultureInfo</maml:name><maml:uri /></dev:type><dev:defaultValue>Current UI culture</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>UseUTF16</maml:name><maml:description><maml:para>Encode the request in UTF16 format rather than UTF8 format.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False (UTF8 encoding)</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>IncludePortInSPN</maml:name><maml:description><maml:para>Includes the port number in the Service Principal Name (SPN) used for Kerberos authentication, for example, “HTTP/&lt;ComputerName&gt;:5985”. This option allows a client that uses a non-default SPN to authenticate against a remote computer that uses Kerberos authentication.</maml:para><maml:para>The option is designed for enterprises where multiple services that support Kerberos authentication are running under different user accounts. For example, an IIS application that allows Kerberos authentication can require the default SPN to be registered to a user account that is different from the computer account. In such cases, Windows PowerShell remoting cannot use Kerberos to authenticate because it requires an SPN that is registered to the computer account. To resolve this problem, administrators can create different SPNs (such as by using Setspn.exe) that are registered to different user accounts and can distinguish between them by including the port number in the SPN.</maml:para><maml:para>For more information about SetSPN.exe, see "SetSPN Overview" at http://go.microsoft.com/fwlink/?LinkID=189413.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name>None</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You cannot pipe input to this cmdlet.</maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name>System.Management.Automation.Remoting.PSSessionOption</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para></maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><maml:alertSet><maml:title /><maml:alert><maml:para>If the SessionOption parameter is not used in a command to create a PSSession, the session options are determined by the property values of the $PSSessionOption preference variable, if it is set. For more information about the $PSSessionOption variable, see about_Preference_Variables (http://go.microsoft.com/fwlink/?LinkID=113248).</maml:para></maml:alert><maml:alert><maml:para>The properties of a session configuration object vary with the options set for the session configuration and the values of those options. Also, session configurations that use a session configuration file have additional properties.</maml:para></maml:alert></maml:alertSet><command:examples><command:example><maml:title>
-------------------------- EXAMPLE 1 --------------------------
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;New-PSSessionOption
 
MaximumConnectionRedirectionCount : 5
NoCompression : False
NoMachineProfile : False
ProxyAccessType : IEConfig
ProxyAuthentication : Negotiate
ProxyCredential :
SkipCACheck : False
SkipCNCheck : False
SkipRevocationCheck : False
OperationTimeout : 00:03:00
NoEncryption : False
UseUTF16 : False
Culture :
UICulture :
MaximumReceivedDataSizePerCommand :
MaximumReceivedObjectSize :
ApplicationArguments :
OpenTimeout : 00:03:00
CancelTimeout : 00:01:00
IdleTimeout : 00:04:00
</dev:code><dev:remarks><maml:para>This command creates a session option object with all of the default values.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
-------------------------- EXAMPLE 2 --------------------------
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;$pso = New-PSSessionOption -Culture "fr-fr" -MaximumReceivedObjectSize 10MB
PS C:\&gt;New-PSSession -ComputerName Server01 -SessionOption $pso
</dev:code><dev:remarks><maml:para>This example shows how to use a session option object to configure a session.</maml:para><maml:para>The first command creates a new session option object and saves it in the value of the $pso variable.</maml:para><maml:para>The second command uses the New-PSSession cmdlet to create a session on the Server01 remote computer. The command uses the session option object in the value of the $pso variable as the value of the SessionOption parameter of the command.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
-------------------------- EXAMPLE 3 --------------------------
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Enter-PSSession -ComputerName Server01 -SessionOption (New-PSSessionOption -NoEncryption -NoCompression)
</dev:code><dev:remarks><maml:para>This command uses the Enter-PSSession cmdlet to start an interactive session with the Server01 computer. The value of the SessionOption parameter is a New-PSSessionOption command with the NoEncryption and NoCompression switch parameters.</maml:para><maml:para>The New-PSSessionOption command is enclosed in parentheses to make sure that it runs before the Enter-PSSession command.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
-------------------------- EXAMPLE 4 --------------------------
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;$a = New-PSSessionOption
 
MaximumConnectionRedirectionCount : 5
NoCompression : False
NoMachineProfile : False
ProxyAccessType : IEConfig
ProxyAuthentication : Negotiate
ProxyCredential :
SkipCACheck : False
SkipCNCheck : False
SkipRevocationCheck : False
OperationTimeout : 00:03:00
NoEncryption : False
UseUTF16 : False
Culture :
UICulture :
MaximumReceivedDataSizePerCommand :
MaximumReceivedObjectSize :
ApplicationArguments :
OpenTimeout : 00:03:00
CancelTimeout : 00:01:00
IdleTimeout : 00:04:00
 
PS C:\&gt;$a.UICulture = (Get-UICulture)
PS C:\&gt;$a.OpenTimeout = (New-Timespan -Minutes 4)
PS C:\&gt;$a.MaximumConnectionRedirectionCount = 1
PS C:\&gt;$a
 
MaximumConnectionRedirectionCount : 1
NoCompression : False
NoMachineProfile : False
ProxyAccessType : IEConfig
ProxyAuthentication : Negotiate
ProxyCredential :
SkipCACheck : False
SkipCNCheck : False
SkipRevocationCheck : False
OperationTimeout : 00:03:00
NoEncryption : False
UseUTF16 : False
Culture :
UICulture : en-US
MaximumReceivedDataSizePerCommand :
MaximumReceivedObjectSize :
ApplicationArguments :
OpenTimeout : 00:04:00
CancelTimeout : 00:01:00
IdleTimeout : 00:04:00
</dev:code><dev:remarks><maml:para>This example demonstrates that you can edit the session option object. All properties have read/write values.</maml:para><maml:para>Use this method to create a standard session object for your enterprise, and then create customized versions of it for particular uses.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
-------------------------- EXAMPLE 5 --------------------------
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;$PSSessionOption = New-PSSessionOption -OpenTimeOut 120000
</dev:code><dev:remarks><maml:para>This command creates a $PSSessionOption preference variable.</maml:para><maml:para>When the $PSSessionOption preference variable exists in the session, it establishes default values for options in the sessions that are created by using the New-PSSession, Enter-PSSession, and Invoke-Command cmdlets.</maml:para><maml:para>To make the $PSSessionOption variable available in all sessions, add it to your Windows PowerShell session and to your Windows PowerShell profile.</maml:para><maml:para>For more information about the $PSSessionOption preference variable, see about_Preference_Variables (http://go.microsoft.com/fwlink/?LinkID=113248). For more information about profiles, see about_Profiles (http://go.microsoft.com/fwlink/?LinkID=113729).</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
-------------------------- EXAMPLE 6 --------------------------
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;$skipCN = New-PSSessionOption -SkipCNCheck
PS C:\&gt;New-PSSession -ComputerName 171.09.21.207 -UseSSL -Credential Domain01\User01 -SessionOption $SkipCN
</dev:code><dev:remarks><maml:para>This example shows how to use a SessionOption object to fulfill the requirements for a remote session configuration.</maml:para><maml:para>The first command uses the New-PSSessionOption cmdlet to create a session option object with the SkipCNCheck property. The command saves the resulting session object in the $skipCN variable.</maml:para><maml:para>The second command uses the New-PSSession cmdlet to create a new session on a remote computer. The $skipCN check variable is used in the value of the SessionOption parameter.</maml:para><maml:para>Because the computer is identified by its IP address, the value of the ComputerName parameter does not match any of the common names in the certificate used for Secure Sockets Layer (SSL). As a result, the SkipCNCheck option is required.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
-------------------------- EXAMPLE 7 --------------------------
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;$team = @{Team="IT"; Use="Testing"}
PS C:\&gt;$TeamOption = New-PSSessionOption -ApplicationArguments $team
PS C:\&gt;$s = New-PSSession -ComputerName Server01 -SessionOption $TeamOption
PS C:\&gt;Invoke-Command -Session $s {$PSSenderInfo.SpplicationArguments}
 
Name Value
---- -----
Team IT
Use Testing
PSVersionTable {CLRVersion, BuildVersion, PSVersion, WSManStackVersion...}
 
PS C:\&gt;Invoke-Command -Session $s {if ($PSSenderInfo.ApplicationArguments.Use -ne "Testing") {.\logFiles.ps1} else {"Just testing."}}
Just testing.
</dev:code><dev:remarks><maml:para>This example shows how to use the ApplicationArguments parameter of the New-PSSessionOption cmdlet to make additional data available to the remote session.</maml:para><maml:para>The first command creates a hash table with two keys, Team and Use. The command saves the hash table in the $team variable. (For more information about hash tables, see about_Hash_Tables (http://go.microsoft.com/fwlink/?LinkID=135175).)</maml:para><maml:para>The second command uses the ApplicationArguments parameter of the New-PSSessionOption cmdlet to create a session option object that contains the data in the $team variable. The command saves the session option object in the $teamOption variable.</maml:para><maml:para>When New-PSSessionOption creates the session option object, it automatically converts the hash table in the value of the ApplicationArguments parameter to a primitive dictionary so the data can be reliably transmitted to the remote session.</maml:para><maml:para>The third command uses the New-PSSession cmdlet to start a session on the Server01 computer. It uses the SessionOption parameter to include the options in the $teamOption variable.</maml:para><maml:para>The fourth command demonstrates that the data in the $team variable is available to commands in the remote session. The data appears in the ApplicationArguments property of the $PSSenderInfo automatic variable.</maml:para><maml:para>The fifth command shows how the data might be used. The command uses the Invoke-Command cmdlet to run a script only when the value of the Use property is not "Testing". When the value of Use is "Testing", the command returns "Just testing."</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=289598</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Enter-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Invoke-Command</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>New-PSSession</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>New-PSTransportOption</command:name><maml:description><maml:para>Creates an object that contains advanced options for a session configuration.</maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>New</command:verb><command:noun>PSTransportOption</command:noun><dev:version /></command:details><maml:description><maml:para>The New-PSTransportOption cmdlet creates an object that contains transport options for session configurations. You can use the object as the value of the TransportOption parameter of cmdlets that create or change a session configuration, such as the Register-PSSessionConfiguration and Set-PSSessionConfiguration cmdlets.</maml:para><maml:para>You can also change the transport option settings by editing the values of the session configuration properties in the WSMan: drive. For more information, see WSMan Provider.</maml:para><maml:para>The session configuration options represent the session values set on the "server-side," or receiving end of a remote connection. The "client-side," or sending end of the connection, can set session option values when the session is created, or when the client disconnects from or reconnects to the session. Unless stated otherwise, when the setting values conflict, the client-side values take precedence. However, the client-side values cannot violate maximum values and quotas set in the session configuration.</maml:para><maml:para>Without parameters, New-PSTransportOption generates a transport option object with null values for all of the options. If you omit a parameter, the object has a null value for the property that the parameter represents. A null value has no effect on the session configuration.</maml:para><maml:para>For more information about session options, see New-PSSessionOption. For more information about session configurations, see about_Session_Configurations (http://go.microsoft.com/fwlink/?LinkID=145152). </maml:para><maml:para>This cmdlet is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>New-PSTransportOption</maml:name><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>IdleTimeoutSec</maml:name><maml:description><maml:para>Determines how long each session stays open if the remote computer does not receive any communication from the local computer, including the heartbeat signal. When the interval expires, the session closes.</maml:para><maml:para>The idle timeout value is of significant importance when the user intends to disconnect and reconnect to a session. The user can reconnect only if the session has not timed out.</maml:para><maml:para>The IdleTimeoutSec parameter corresponds to the IdleTimeoutMs property of a session configuration.</maml:para><maml:para>Enter a value in seconds. The default value is 7200 (2 hours). The minimum value is 60 (1 minute). The maximum is the value of the IdleTimeout property of Shell objects in the WSMan configuration (WSMan:\&lt;ComputerName&gt;\Shell\IdleTimeout). The default value is 7200000 milliseconds (2 hours).</maml:para><maml:para>If an idle timeout value is set in the session options and in the session configuration, value set in the session options takes precedence, but it cannot exceed the value of the MaxIdleTimeoutMs property of the session configuration. To set the value of the MaxIdleTimeoutMs property, use the MaxIdleTimeoutSec parameter.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>MaxConcurrentCommandsPerSession</maml:name><maml:description><maml:para>Limits the number of commands that can run concurrently in each session to the specified value. The default value is 1000.</maml:para><maml:para>The MaxConcurrentCommandsPerSession parameter corresponds to the MaxConcurrentCommandsPerShell property of a session configuration.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>MaxConcurrentUsers</maml:name><maml:description><maml:para>Limits the number of users who can run commands concurrently in each session to the specified value. The default value is 5.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>MaxIdleTimeoutSec</maml:name><maml:description><maml:para>Limits the idle timeout set for each session to the specified value. The default value is [Int]::MaxValue (~25 days).</maml:para><maml:para>The idle timeout value is of significant importance when the user intends to disconnect and reconnect to a session. The user can reconnect only if the session has not timed out.</maml:para><maml:para>The MaxIdleTimeoutSec parameter corresponds to the MaxIdleTimeoutMs property of a session configuration.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>MaxMemoryPerSessionMB</maml:name><maml:description><maml:para>Limits the memory used by each session to the specified value. Enter a value in megabytes. The default value is 1024 megabytes (1 GB).</maml:para><maml:para>The MaxMemoryPerSessionMB parameter corresponds to the MaxMemoryPerShellMB property of a session configuration.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>MaxProcessesPerSession</maml:name><maml:description><maml:para>Limits the number of processes running in each session to the specified value. The default value is 15.</maml:para><maml:para>The MaxProcessesPerSession parameter corresponds to the MaxProcessesPerShell property of a session configuration.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>MaxSessions</maml:name><maml:description><maml:para>Limits the number of sessions that use the session configuration. The default value is 25.</maml:para><maml:para>The MaxSessions parameter corresponds to the MaxShells property of a session configuration.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>MaxSessionsPerUser</maml:name><maml:description><maml:para>Limits the number of sessions that use the session configuration and run with the credentials of a given user to the specified value. The default value is 25.</maml:para><maml:para>When setting this value, consider that many users might be using the credentials of a "run as" user.</maml:para><maml:para>The MaxSessionsPerUser parameter corresponds to the MaxShellsPerUser property of a session configuration.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>OutputBufferingMode</maml:name><maml:description><maml:para>Determines how command output is managed in disconnected sessions when the output buffer becomes full.</maml:para><maml:para>The default value of the OutputBufferingMode property of sessions is Block.</maml:para><maml:para>Valid values are: </maml:para><maml:para>-- Block: When the output buffer is full, execution is suspended until the buffer is clear. </maml:para><maml:para>-- Drop: When the output buffer is full, execution continues. As new output is saved, the oldest output is discarded.</maml:para><maml:para>-- None: No output buffering mode is specified.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">OutputBufferingMode</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>ProcessIdleTimeoutSec</maml:name><maml:description><maml:para>Limits the timeout for each host process to the specified value. The default value, 0, means that there is no timeout value for the process.</maml:para><maml:para>Other session configurations have per-process timeout values. For example, the Microsoft.PowerShell.Workflow session configuration has a per-process timeout value of 28800 seconds (8 hours).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>IdleTimeoutSec</maml:name><maml:description><maml:para>Determines how long each session stays open if the remote computer does not receive any communication from the local computer, including the heartbeat signal. When the interval expires, the session closes.</maml:para><maml:para>The idle timeout value is of significant importance when the user intends to disconnect and reconnect to a session. The user can reconnect only if the session has not timed out.</maml:para><maml:para>The IdleTimeoutSec parameter corresponds to the IdleTimeoutMs property of a session configuration.</maml:para><maml:para>Enter a value in seconds. The default value is 7200 (2 hours). The minimum value is 60 (1 minute). The maximum is the value of the IdleTimeout property of Shell objects in the WSMan configuration (WSMan:\&lt;ComputerName&gt;\Shell\IdleTimeout). The default value is 7200000 milliseconds (2 hours).</maml:para><maml:para>If an idle timeout value is set in the session options and in the session configuration, value set in the session options takes precedence, but it cannot exceed the value of the MaxIdleTimeoutMs property of the session configuration. To set the value of the MaxIdleTimeoutMs property, use the MaxIdleTimeoutSec parameter.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue><dev:type><maml:name>Int32</maml:name><maml:uri /></dev:type><dev:defaultValue>7200</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>MaxConcurrentCommandsPerSession</maml:name><maml:description><maml:para>Limits the number of commands that can run concurrently in each session to the specified value. The default value is 1000.</maml:para><maml:para>The MaxConcurrentCommandsPerSession parameter corresponds to the MaxConcurrentCommandsPerShell property of a session configuration.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue><dev:type><maml:name>Int32</maml:name><maml:uri /></dev:type><dev:defaultValue>1000</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>MaxConcurrentUsers</maml:name><maml:description><maml:para>Limits the number of users who can run commands concurrently in each session to the specified value. The default value is 5.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue><dev:type><maml:name>Int32</maml:name><maml:uri /></dev:type><dev:defaultValue>5</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>MaxIdleTimeoutSec</maml:name><maml:description><maml:para>Limits the idle timeout set for each session to the specified value. The default value is [Int]::MaxValue (~25 days).</maml:para><maml:para>The idle timeout value is of significant importance when the user intends to disconnect and reconnect to a session. The user can reconnect only if the session has not timed out.</maml:para><maml:para>The MaxIdleTimeoutSec parameter corresponds to the MaxIdleTimeoutMs property of a session configuration.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue><dev:type><maml:name>Int32</maml:name><maml:uri /></dev:type><dev:defaultValue>43200</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>MaxMemoryPerSessionMB</maml:name><maml:description><maml:para>Limits the memory used by each session to the specified value. Enter a value in megabytes. The default value is 1024 megabytes (1 GB).</maml:para><maml:para>The MaxMemoryPerSessionMB parameter corresponds to the MaxMemoryPerShellMB property of a session configuration.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue><dev:type><maml:name>Int32</maml:name><maml:uri /></dev:type><dev:defaultValue>1024</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>MaxProcessesPerSession</maml:name><maml:description><maml:para>Limits the number of processes running in each session to the specified value. The default value is 15.</maml:para><maml:para>The MaxProcessesPerSession parameter corresponds to the MaxProcessesPerShell property of a session configuration.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue><dev:type><maml:name>Int32</maml:name><maml:uri /></dev:type><dev:defaultValue>15</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>MaxSessions</maml:name><maml:description><maml:para>Limits the number of sessions that use the session configuration. The default value is 25.</maml:para><maml:para>The MaxSessions parameter corresponds to the MaxShells property of a session configuration.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue><dev:type><maml:name>Int32</maml:name><maml:uri /></dev:type><dev:defaultValue>25</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>MaxSessionsPerUser</maml:name><maml:description><maml:para>Limits the number of sessions that use the session configuration and run with the credentials of a given user to the specified value. The default value is 25.</maml:para><maml:para>When setting this value, consider that many users might be using the credentials of a "run as" user.</maml:para><maml:para>The MaxSessionsPerUser parameter corresponds to the MaxShellsPerUser property of a session configuration.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue><dev:type><maml:name>Int32</maml:name><maml:uri /></dev:type><dev:defaultValue>25</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>OutputBufferingMode</maml:name><maml:description><maml:para>Determines how command output is managed in disconnected sessions when the output buffer becomes full.</maml:para><maml:para>The default value of the OutputBufferingMode property of sessions is Block.</maml:para><maml:para>Valid values are: </maml:para><maml:para>-- Block: When the output buffer is full, execution is suspended until the buffer is clear. </maml:para><maml:para>-- Drop: When the output buffer is full, execution continues. As new output is saved, the oldest output is discarded.</maml:para><maml:para>-- None: No output buffering mode is specified.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">OutputBufferingMode</command:parameterValue><dev:type><maml:name>OutputBufferingMode</maml:name><maml:uri /></dev:type><dev:defaultValue>Block</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>ProcessIdleTimeoutSec</maml:name><maml:description><maml:para>Limits the timeout for each host process to the specified value. The default value, 0, means that there is no timeout value for the process.</maml:para><maml:para>Other session configurations have per-process timeout values. For example, the Microsoft.PowerShell.Workflow session configuration has a per-process timeout value of 28800 seconds (8 hours).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue><dev:type><maml:name>Int32</maml:name><maml:uri /></dev:type><dev:defaultValue>0</dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name></maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>This cmdlet does not take input from the pipeline.</maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name>Microsoft.PowerShell.Commands.WSManConfigurationOption</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para></maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><maml:alertSet><maml:title /><maml:alert><maml:para>The properties of a session configuration object vary with the options set for the session configuration and the values of those options. Also, session configurations that use a session configuration file have additional properties.</maml:para></maml:alert></maml:alertSet><command:examples><command:example><maml:title>Example 1</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;New-PSTransportOption
ProcessIdleTimeoutSec :
MaxIdleTimeoutSec :
MaxSessions :
MaxConcurrentCommandsPerSession :
MaxSessionsPerUser :
MaxMemoryPerSessionMB :
MaxProcessesPerSession :
MaxConcurrentUsers :
IdleTimeoutSec :
OutputBufferingMode :
</dev:code><dev:remarks><maml:para>This command runs the New-PSTransportOption with no parameters. The output shows that the cmdlet generates a transport option object with null values for all properties.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>Example 2</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>The first command uses the New-PSTransportOption cmdlet to create a transport options object, which it saves in the $t variable. The command uses the MaxSessions parameter to increase the maximum number of sessions to 40.
PS C:\&gt;$t = New-PSTransportOption -MaxSessions 40
 
The second command uses the Register-PSSessionConfiguration cmdlet create the ITTasks session configuration. The command uses the TransportOption parameter to specify the transport options object in the $t variable.
PS C:\&gt;Register-PSSessionConfiguration -Name ITTaska -TransportOption $t
 
The third command uses the Get-PSSessionConfiguration cmdlet to get the ITTasks session configurations and the Format-List cmdlet to display all of the properties of the session configuration object in a list. The output shows that the value of the MaxShells property of the session configuration is 40.
PS C:\&gt;Get-PSSessionConfiguration -Name ITTasks | Format-List -Property *
Architecture : 64
Filename : %windir%\system32\pwrshplugin.dll
ResourceUri : http://schemas.microsoft.com/powershell/ITTasks
MaxConcurrentCommandsPerShell : 1000
UseSharedProcess : false
ProcessIdleTimeoutSec : 0
xmlns : http://schemas.microsoft.com/wbem/wsman/1/config/PluginConfiguration
MaxConcurrentUsers : 5
lang : en-US
SupportsOptions : true
ExactMatch : true
RunAsUser :
IdleTimeoutms : 7200000
PSVersion : 3.0
OutputBufferingMode : Block
AutoRestart : false
MaxShells : 40
MaxMemoryPerShellMB : 1024
MaxIdleTimeoutms : 43200000
SDKVersion : 2
Name : ITTasks
XmlRenderingType : text
Capability : {Shell}
RunAsPassword :
MaxProcessesPerShell : 15
Enabled : True
MaxShellsPerUser : 25
Permission :
</dev:code><dev:remarks><maml:para>This example shows how to use a transport options object to set session configuration options</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>Example 3</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>The first command uses the New-PSTransportOption cmdlet to create a transport option object. The command uses the IdleTimeoutSec parameter to set the IdleTimeoutSec property value of the object to one hour (3600 seconds). The command saves the transport objects object in the $t variable.
PS C:\&gt;$t = New-PSTransportOption -IdleTimeoutSec 3600
 
The second command uses the Set-PSSessionConfiguration cmdlet to change the transport options of the ITTasks session configuration. The command uses the TransportOption parameter to specify the transport options object in the $t variable.
PS C:\&gt;Set-PSSessionConfiguration -Name ITTasks -TransportOption $t
 
The third command uses the New-PSSession cmdlet to create the MyITTasks session on the local computer. The command uses the ConfigurationName property to specify the ITTasks session configuration. The command saves the session in the $s variable.Notice that the command does not use the SessionOption parameter of New-PSSession to set a custom idle timeout for the session. If it did, the idle timeout value set in the session option would take precedence over the idle timeout set in the session configuration.
PS C:\&gt;$s = New-PSSession -Name MyITTasks -ConfigurationName ITTasks
 
The fourth command uses the Format-List cmdlet to display all properties of the session in the $s variable in a list. The output shows that the session has an idle timeout of one hour (360,000 milliseconds).
PS C:\&gt;$s | Format-List -Property *
State : Opened
IdleTimeout : 3600000
OutputBufferingMode : Block
ComputerName : localhost
ConfigurationName : ITTasks
InstanceId : 4110c3f5-68ea-40fa-9bbf-04a433dbb02d
Id : 1
Name : MyITTasks
Availability : Available
ApplicationPrivateData : {PSVersionTable}
Runspace : System.Management.Automation.RemoteRunspace
</dev:code><dev:remarks><maml:para>This command shows the effect of setting a transport option in a session configuration on the sessions that use the session configuration.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=289599</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>about_Session_Configurations</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>New-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>New-PSSessionOption</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Register-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Set-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>Out-Default</command:name><maml:description><maml:para>Sends the output to the default formatter and to the default output cmdlet. </maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>Out</command:verb><command:noun>Default</command:noun><dev:version /></command:details><maml:description><maml:para>The Out-Default cmdlet sends output to the default formatter and the default output cmdlet. This cmdlet has no effect on the formatting or output of Windows PowerShell commands. It is a placeholder that lets you write your own Out-Default function or cmdlet.</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>Out-Default</maml:name><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Accepts input to the cmdlet.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Accepts input to the cmdlet.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue><dev:type><maml:name>PSObject</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name></maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para></maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name></maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para></maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><command:examples><command:example><maml:title></maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:remarks></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=289600</maml:uri></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>Out-Host</command:name><maml:description><maml:para>Sends output to the command line.</maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>Out</command:verb><command:noun>Host</command:noun><dev:version /></command:details><maml:description><maml:para>The Out-Host cmdlet sends output to the Windows PowerShell host for display. The host displays the output at the command line. Because Out-Host is the default, you do not need to specify it unless you want to use its parameters to change the display.</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>Out-Host</maml:name><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Specifies the objects that are written to the console. Enter a variable that contains the objects, or type a command or expression that gets the objects.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Paging</maml:name><maml:description><maml:para>Displays one page of output at a time, and waits for user input before displaying the remaining pages, much like the traditional "more" command. By default, all of the output is displayed on a single page. The page size is determined by the characteristics of the host.</maml:para></maml:description></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Specifies the objects that are written to the console. Enter a variable that contains the objects, or type a command or expression that gets the objects.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue><dev:type><maml:name>PSObject</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Paging</maml:name><maml:description><maml:para>Displays one page of output at a time, and waits for user input before displaying the remaining pages, much like the traditional "more" command. By default, all of the output is displayed on a single page. The page size is determined by the characteristics of the host.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name>System.Management.Automation.PSObject</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You can pipe any object to Out-Host.</maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name>None</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>Out-Host does not generate any output. However, the host might display the objects that Out-Host sends to it.</maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><maml:alertSet><maml:title /><maml:alert><maml:para>The cmdlets that contain the Out verb (the Out cmdlets) do not format objects; they just render them and send them to the specified display destination. If you send an unformatted object to an Out cmdlet, the cmdlet sends it to a formatting cmdlet before rendering it.</maml:para></maml:alert><maml:alert><maml:para>The Out cmdlets do not have parameters for names or file paths. To send data to an Out cmdlet, use a pipeline operator (|) to send the output of a Windows PowerShell command to the cmdlet. You can also store data in a variable and use the InputObject parameter to pass the data to the cmdlet. For help, see the examples.</maml:para></maml:alert><maml:alert><maml:para>Out-Host sends data, but it does not emit any output objects. If you pipe the output of Out-Host to the Get-Member cmdlet, Get-Member reports that no objects have been specified.</maml:para></maml:alert><maml:alert><maml:para></maml:para></maml:alert></maml:alertSet><command:examples><command:example><maml:title>
  
-------------------------- EXAMPLE 1 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-Process | Out-Host -Paging
</dev:code><dev:remarks><maml:para>This command displays the processes on the system one page at a time. It uses the Get-Process cmdlet to get the processes on the system. The pipeline operator (|) sends the results to Out-Host, which displays them at the console. The Paging parameter displays one page of data at a time.</maml:para><maml:para>The same command format is used for the Help function that is built into Windows PowerShell. That function gets data from the Get-Help cmdlet and then uses the Paging parameter of Out-Host to display the data one page at a time by using this command format: Get-Help $Args[0] | Out-Host -Paging.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 2 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;$a = Get-History
PS C:\&gt;Out-Host -InputObject $a
</dev:code><dev:remarks><maml:para>These commands display the session history at the command line. The first command uses the Get-History cmdlet to get the session history, and then it stores the history in the $a variable. The second command uses Out-Host to display the content of the $a variable, and it uses the InputObject parameter to specify the variable to Out-Host.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=289601</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Clear-Host</maml:linkText><maml:uri></maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Out-Default</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Out-File</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Out-Null</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Out-Printer</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Out-String</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Write-Host</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>Out-LineOutput</command:name><maml:description><maml:para>Out-LineOutput</maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>Out</command:verb><command:noun>LineOutput</command:noun><dev:version /></command:details><maml:description><maml:para>This cmdlet is for internal use only.</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>Out-LineOutput</maml:name><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1" aliases=""><maml:name>LineOutput</maml:name><maml:description><maml:para></maml:para></maml:description><command:parameterValue required="true" variableLength="false">Object</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para></maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para></maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue><dev:type><maml:name>PSObject</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1" aliases=""><maml:name>LineOutput</maml:name><maml:description><maml:para></maml:para></maml:description><command:parameterValue required="true" variableLength="false">Object</command:parameterValue><dev:type><maml:name>Object</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name></maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para></maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name></maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para></maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><command:examples><command:example><maml:title></maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;
 
</dev:code><dev:remarks><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title></maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>
PS C:\&gt;
 
</dev:code><dev:remarks><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=313917</maml:uri></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>Out-Null</command:name><maml:description><maml:para>Deletes output instead of sending it down the pipeline.</maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>Out</command:verb><command:noun>Null</command:noun><dev:version /></command:details><maml:description><maml:para>The Out-Null cmdlet sends output to NULL, in effect, deleting it.</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>Out-Null</maml:name><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Specifies the object that was sent to null (deleted). Enter a variable that contains the objects, or type a command or expression that gets the objects.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Specifies the object that was sent to null (deleted). Enter a variable that contains the objects, or type a command or expression that gets the objects.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue><dev:type><maml:name>PSObject</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name>System.Management.Automation.PSObject</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You can pipe any object to Out-Null.</maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name>None</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>Out-Null does not generate any output.</maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><maml:alertSet><maml:title /><maml:alert><maml:para>The cmdlets that contain the Out verb (the Out cmdlets) do not have parameters for names or file paths. To send data to an Out cmdlet, use a pipeline operator (|) to send the output of a Windows PowerShell command to the cmdlet. You can also store data in a variable and use the InputObject parameter to pass the data to the cmdlet. For more information, see the examples.</maml:para></maml:alert><maml:alert><maml:para></maml:para><maml:para>Out-Null does not return any output objects. If you pipe the output of Out-Null to the Get-Member cmdlet, Get-Member reports that no objects have been specified.</maml:para></maml:alert></maml:alertSet><command:examples><command:example><maml:title>
  
-------------------------- EXAMPLE 1 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-ChildItem | Out-Null
</dev:code><dev:remarks><maml:para>This command gets the items in the local directory, but then it deletes them instead of passing them through the pipeline or displaying them at the command line. This is useful for deleting output that you do not need.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=289602</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Out-Default</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Out-File</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Out-Host</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Out-Printer</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Out-String</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>Receive-Job</command:name><maml:description><maml:para>Gets the results of the Windows PowerShell background jobs in the current session. </maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>Receive</command:verb><command:noun>Job</command:noun><dev:version /></command:details><maml:description><maml:para>The Receive-Job cmdlet gets the results of Windows PowerShell background jobs, such as those started by using the Start-Job cmdlet or the AsJob parameter of any cmdlet. You can get the results of all jobs or identify jobs by their name, ID, instance ID, computer name, location, or session, or by submitting a job object.</maml:para><maml:para>When you start a Windows PowerShell background job, the job starts, but the results do not appear immediately. Instead, the command returns an object that represents the background job. The job object contains useful information about the job, but it does not contain the results. This method allows you to continue working in the session while the job runs. For more information about background jobs in Windows PowerShell, see about_Jobs.</maml:para><maml:para>The Receive-Job cmdlet gets the results that have been generated by the time that the Receive-Job command is submitted. If the results are not yet complete, you can run additional Receive-Job commands to get the remaining results.</maml:para><maml:para>By default, job results are deleted from the system when you receive them, but you can use the Keep parameter to save the results so that you can receive them again. To delete the job results, run the Receive-Job command again (without the Keep parameter), close the session, or use the Remove-Job cmdlet to delete the job from the session.</maml:para><maml:para>Beginning in Windows PowerShell 3.0, Receive-Job also gets the results of custom job types, such as workflow jobs and instances of scheduled jobs. To enable Receive-Job to get the results a custom job type, import the module that supports the custom job type into the session before running a Receive-Job command, either by using the Import-Module cmdlet or by using or getting a cmdlet in the module. For information about a particular custom job type, see the documentation of the custom job type feature.</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>Receive-Job</maml:name><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="1" aliases=""><maml:name>Job</maml:name><maml:description><maml:para>Specifies the job for which results are being retrieved. This parameter is required in a Receive-Job command. Enter a variable that contains the job or a command that gets the job. You can also pipe a job object to Receive-Job.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Job[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="2" aliases=""><maml:name>Location</maml:name><maml:description><maml:para>Gets only the results of jobs with the specified location. The default is all jobs in the current session.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>AutoRemoveJob</maml:name><maml:description><maml:para>Deletes the job after returning the job results. If the job has more results, the job is still deleted, but Receive-Job displays a message.</maml:para><maml:para>This parameter works only on custom job types. It is designed for instances of job types that save the job or the type outside of the session, such as instances of scheduled jobs.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Force</maml:name><maml:description><maml:para>Continues waiting if jobs are in the Suspended or Disconnected state. By default, the Wait parameter of Receive-Job returns (terminates the wait) when jobs are in one of the following states: Completed, Failed, Stopped, Suspended, or Disconnected.</maml:para><maml:para>The Force parameter is valid only when the Wait parameter is also used in the command.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Keep</maml:name><maml:description><maml:para>Saves the job results in the system, even after you have received them. By default, the job results are deleted when they are retrieved.</maml:para><maml:para>To delete the results, use Receive-Job to receive them again without the Keep parameter, close the session, or use the Remove-Job cmdlet to delete the job from the session.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>NoRecurse</maml:name><maml:description><maml:para>Gets results only from the specified job. By default, Receive-Job also gets the results of all child jobs of the specified job.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="" pipelineInput="false" position="named" aliases=""><maml:name>Wait</maml:name><maml:description><maml:para>Suppresses the command prompt until all job results are received. By default, Receive-Job immediately returns the available results.</maml:para><maml:para>By default, the Wait parameter waits until the job is in one of the following states: Completed, Failed, Stopped, Suspended, or Disconnected. To direct the Wait parameter to continue waiting if the job state is Suspended or Disconnected, use the Force parameter with the Wait parameter.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>WriteEvents</maml:name><maml:description><maml:para>Reports changes in the job state while waiting for the job to complete.</maml:para><maml:para>This parameter is valid only when the Wait parameter is used in the command and the Keep parameter is omitted.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>WriteJobInResults</maml:name><maml:description><maml:para>Returns the job object followed by the results.</maml:para><maml:para>This parameter is valid only when the Wait parameter is used in the command and the Keep parameter is omitted.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Receive-Job</maml:name><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="1" aliases=""><maml:name>Job</maml:name><maml:description><maml:para>Specifies the job for which results are being retrieved. This parameter is required in a Receive-Job command. Enter a variable that contains the job or a command that gets the job. You can also pipe a job object to Receive-Job.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Job[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="true (ByPropertyName)" position="2" aliases=""><maml:name>ComputerName</maml:name><maml:description><maml:para>Gets the results of jobs that were run on the specified computers. Enter the computer names. Wildcards are supported. The default is all jobs in the current session.</maml:para><maml:para>This parameter selects from among the job results that are stored on the local computer. It does not get data from remote computers. To get job results that are stored on remote computers, use the Invoke-Command cmdlet to run a Receive-Job command remotely.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>AutoRemoveJob</maml:name><maml:description><maml:para>Deletes the job after returning the job results. If the job has more results, the job is still deleted, but Receive-Job displays a message.</maml:para><maml:para>This parameter works only on custom job types. It is designed for instances of job types that save the job or the type outside of the session, such as instances of scheduled jobs.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Force</maml:name><maml:description><maml:para>Continues waiting if jobs are in the Suspended or Disconnected state. By default, the Wait parameter of Receive-Job returns (terminates the wait) when jobs are in one of the following states: Completed, Failed, Stopped, Suspended, or Disconnected.</maml:para><maml:para>The Force parameter is valid only when the Wait parameter is also used in the command.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Keep</maml:name><maml:description><maml:para>Saves the job results in the system, even after you have received them. By default, the job results are deleted when they are retrieved.</maml:para><maml:para>To delete the results, use Receive-Job to receive them again without the Keep parameter, close the session, or use the Remove-Job cmdlet to delete the job from the session.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>NoRecurse</maml:name><maml:description><maml:para>Gets results only from the specified job. By default, Receive-Job also gets the results of all child jobs of the specified job.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="" pipelineInput="false" position="named" aliases=""><maml:name>Wait</maml:name><maml:description><maml:para>Suppresses the command prompt until all job results are received. By default, Receive-Job immediately returns the available results.</maml:para><maml:para>By default, the Wait parameter waits until the job is in one of the following states: Completed, Failed, Stopped, Suspended, or Disconnected. To direct the Wait parameter to continue waiting if the job state is Suspended or Disconnected, use the Force parameter with the Wait parameter.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>WriteEvents</maml:name><maml:description><maml:para>Reports changes in the job state while waiting for the job to complete.</maml:para><maml:para>This parameter is valid only when the Wait parameter is used in the command and the Keep parameter is omitted.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>WriteJobInResults</maml:name><maml:description><maml:para>Returns the job object followed by the results.</maml:para><maml:para>This parameter is valid only when the Wait parameter is used in the command and the Keep parameter is omitted.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Receive-Job</maml:name><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="true (ByPropertyName)" position="1" aliases=""><maml:name>Id</maml:name><maml:description><maml:para>Gets the results of jobs with the specified IDs. The default is all jobs in the current session.</maml:para><maml:para>The ID is an integer that uniquely identifies the job within the current session. It is easier to remember and type than the instance ID, but it is unique only within the current session. You can type one or more IDs (separated by commas). To find the ID of a job, type "Get-Job" without parameters.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Int32[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>AutoRemoveJob</maml:name><maml:description><maml:para>Deletes the job after returning the job results. If the job has more results, the job is still deleted, but Receive-Job displays a message.</maml:para><maml:para>This parameter works only on custom job types. It is designed for instances of job types that save the job or the type outside of the session, such as instances of scheduled jobs.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Force</maml:name><maml:description><maml:para>Continues waiting if jobs are in the Suspended or Disconnected state. By default, the Wait parameter of Receive-Job returns (terminates the wait) when jobs are in one of the following states: Completed, Failed, Stopped, Suspended, or Disconnected.</maml:para><maml:para>The Force parameter is valid only when the Wait parameter is also used in the command.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Keep</maml:name><maml:description><maml:para>Saves the job results in the system, even after you have received them. By default, the job results are deleted when they are retrieved.</maml:para><maml:para>To delete the results, use Receive-Job to receive them again without the Keep parameter, close the session, or use the Remove-Job cmdlet to delete the job from the session.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>NoRecurse</maml:name><maml:description><maml:para>Gets results only from the specified job. By default, Receive-Job also gets the results of all child jobs of the specified job.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="" pipelineInput="false" position="named" aliases=""><maml:name>Wait</maml:name><maml:description><maml:para>Suppresses the command prompt until all job results are received. By default, Receive-Job immediately returns the available results.</maml:para><maml:para>By default, the Wait parameter waits until the job is in one of the following states: Completed, Failed, Stopped, Suspended, or Disconnected. To direct the Wait parameter to continue waiting if the job state is Suspended or Disconnected, use the Force parameter with the Wait parameter.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>WriteEvents</maml:name><maml:description><maml:para>Reports changes in the job state while waiting for the job to complete.</maml:para><maml:para>This parameter is valid only when the Wait parameter is used in the command and the Keep parameter is omitted.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>WriteJobInResults</maml:name><maml:description><maml:para>Returns the job object followed by the results.</maml:para><maml:para>This parameter is valid only when the Wait parameter is used in the command and the Keep parameter is omitted.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Receive-Job</maml:name><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="true (ByPropertyName)" position="1" aliases=""><maml:name>InstanceId</maml:name><maml:description><maml:para>Gets the results of jobs with the specified instance IDs. The default is all jobs in the current session.</maml:para><maml:para>An instance ID is a GUID that uniquely identifies the job on the computer. To find the instance ID of a job, use the Get-Job cmdlet.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Guid[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>AutoRemoveJob</maml:name><maml:description><maml:para>Deletes the job after returning the job results. If the job has more results, the job is still deleted, but Receive-Job displays a message.</maml:para><maml:para>This parameter works only on custom job types. It is designed for instances of job types that save the job or the type outside of the session, such as instances of scheduled jobs.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Force</maml:name><maml:description><maml:para>Continues waiting if jobs are in the Suspended or Disconnected state. By default, the Wait parameter of Receive-Job returns (terminates the wait) when jobs are in one of the following states: Completed, Failed, Stopped, Suspended, or Disconnected.</maml:para><maml:para>The Force parameter is valid only when the Wait parameter is also used in the command.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Keep</maml:name><maml:description><maml:para>Saves the job results in the system, even after you have received them. By default, the job results are deleted when they are retrieved.</maml:para><maml:para>To delete the results, use Receive-Job to receive them again without the Keep parameter, close the session, or use the Remove-Job cmdlet to delete the job from the session.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>NoRecurse</maml:name><maml:description><maml:para>Gets results only from the specified job. By default, Receive-Job also gets the results of all child jobs of the specified job.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="" pipelineInput="false" position="named" aliases=""><maml:name>Wait</maml:name><maml:description><maml:para>Suppresses the command prompt until all job results are received. By default, Receive-Job immediately returns the available results.</maml:para><maml:para>By default, the Wait parameter waits until the job is in one of the following states: Completed, Failed, Stopped, Suspended, or Disconnected. To direct the Wait parameter to continue waiting if the job state is Suspended or Disconnected, use the Force parameter with the Wait parameter.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>WriteEvents</maml:name><maml:description><maml:para>Reports changes in the job state while waiting for the job to complete.</maml:para><maml:para>This parameter is valid only when the Wait parameter is used in the command and the Keep parameter is omitted.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>WriteJobInResults</maml:name><maml:description><maml:para>Returns the job object followed by the results.</maml:para><maml:para>This parameter is valid only when the Wait parameter is used in the command and the Keep parameter is omitted.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Receive-Job</maml:name><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="1" aliases=""><maml:name>Job</maml:name><maml:description><maml:para>Specifies the job for which results are being retrieved. This parameter is required in a Receive-Job command. Enter a variable that contains the job or a command that gets the job. You can also pipe a job object to Receive-Job.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Job[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="true (ByPropertyName)" position="2" aliases=""><maml:name>Session</maml:name><maml:description><maml:para>Gets the results of jobs that were run in the specified Windows Powershell session (PSSession). Enter a variable that contains the PSSession or a command that gets the PSSession, such as a Get-PSSession command. The default is all jobs in the current session.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">PSSession[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>AutoRemoveJob</maml:name><maml:description><maml:para>Deletes the job after returning the job results. If the job has more results, the job is still deleted, but Receive-Job displays a message.</maml:para><maml:para>This parameter works only on custom job types. It is designed for instances of job types that save the job or the type outside of the session, such as instances of scheduled jobs.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Force</maml:name><maml:description><maml:para>Continues waiting if jobs are in the Suspended or Disconnected state. By default, the Wait parameter of Receive-Job returns (terminates the wait) when jobs are in one of the following states: Completed, Failed, Stopped, Suspended, or Disconnected.</maml:para><maml:para>The Force parameter is valid only when the Wait parameter is also used in the command.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Keep</maml:name><maml:description><maml:para>Saves the job results in the system, even after you have received them. By default, the job results are deleted when they are retrieved.</maml:para><maml:para>To delete the results, use Receive-Job to receive them again without the Keep parameter, close the session, or use the Remove-Job cmdlet to delete the job from the session.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>NoRecurse</maml:name><maml:description><maml:para>Gets results only from the specified job. By default, Receive-Job also gets the results of all child jobs of the specified job.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="" pipelineInput="false" position="named" aliases=""><maml:name>Wait</maml:name><maml:description><maml:para>Suppresses the command prompt until all job results are received. By default, Receive-Job immediately returns the available results.</maml:para><maml:para>By default, the Wait parameter waits until the job is in one of the following states: Completed, Failed, Stopped, Suspended, or Disconnected. To direct the Wait parameter to continue waiting if the job state is Suspended or Disconnected, use the Force parameter with the Wait parameter.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>WriteEvents</maml:name><maml:description><maml:para>Reports changes in the job state while waiting for the job to complete.</maml:para><maml:para>This parameter is valid only when the Wait parameter is used in the command and the Keep parameter is omitted.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>WriteJobInResults</maml:name><maml:description><maml:para>Returns the job object followed by the results.</maml:para><maml:para>This parameter is valid only when the Wait parameter is used in the command and the Keep parameter is omitted.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Receive-Job</maml:name><command:parameter required="true" variableLength="true" globbing="true" pipelineInput="true (ByPropertyName)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Gets the results of jobs with the specified friendly name. Wildcards are supported. The default is all jobs in the current session.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>AutoRemoveJob</maml:name><maml:description><maml:para>Deletes the job after returning the job results. If the job has more results, the job is still deleted, but Receive-Job displays a message.</maml:para><maml:para>This parameter works only on custom job types. It is designed for instances of job types that save the job or the type outside of the session, such as instances of scheduled jobs.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Force</maml:name><maml:description><maml:para>Continues waiting if jobs are in the Suspended or Disconnected state. By default, the Wait parameter of Receive-Job returns (terminates the wait) when jobs are in one of the following states: Completed, Failed, Stopped, Suspended, or Disconnected.</maml:para><maml:para>The Force parameter is valid only when the Wait parameter is also used in the command.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Keep</maml:name><maml:description><maml:para>Saves the job results in the system, even after you have received them. By default, the job results are deleted when they are retrieved.</maml:para><maml:para>To delete the results, use Receive-Job to receive them again without the Keep parameter, close the session, or use the Remove-Job cmdlet to delete the job from the session.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>NoRecurse</maml:name><maml:description><maml:para>Gets results only from the specified job. By default, Receive-Job also gets the results of all child jobs of the specified job.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="" pipelineInput="false" position="named" aliases=""><maml:name>Wait</maml:name><maml:description><maml:para>Suppresses the command prompt until all job results are received. By default, Receive-Job immediately returns the available results.</maml:para><maml:para>By default, the Wait parameter waits until the job is in one of the following states: Completed, Failed, Stopped, Suspended, or Disconnected. To direct the Wait parameter to continue waiting if the job state is Suspended or Disconnected, use the Force parameter with the Wait parameter.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>WriteEvents</maml:name><maml:description><maml:para>Reports changes in the job state while waiting for the job to complete.</maml:para><maml:para>This parameter is valid only when the Wait parameter is used in the command and the Keep parameter is omitted.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>WriteJobInResults</maml:name><maml:description><maml:para>Returns the job object followed by the results.</maml:para><maml:para>This parameter is valid only when the Wait parameter is used in the command and the Keep parameter is omitted.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="true (ByPropertyName)" position="2" aliases=""><maml:name>ComputerName</maml:name><maml:description><maml:para>Gets the results of jobs that were run on the specified computers. Enter the computer names. Wildcards are supported. The default is all jobs in the current session.</maml:para><maml:para>This parameter selects from among the job results that are stored on the local computer. It does not get data from remote computers. To get job results that are stored on remote computers, use the Invoke-Command cmdlet to run a Receive-Job command remotely.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>All jobs</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="true (ByPropertyName)" position="1" aliases=""><maml:name>Id</maml:name><maml:description><maml:para>Gets the results of jobs with the specified IDs. The default is all jobs in the current session.</maml:para><maml:para>The ID is an integer that uniquely identifies the job within the current session. It is easier to remember and type than the instance ID, but it is unique only within the current session. You can type one or more IDs (separated by commas). To find the ID of a job, type "Get-Job" without parameters.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Int32[]</command:parameterValue><dev:type><maml:name>Int32[]</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="true (ByPropertyName)" position="1" aliases=""><maml:name>InstanceId</maml:name><maml:description><maml:para>Gets the results of jobs with the specified instance IDs. The default is all jobs in the current session.</maml:para><maml:para>An instance ID is a GUID that uniquely identifies the job on the computer. To find the instance ID of a job, use the Get-Job cmdlet.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Guid[]</command:parameterValue><dev:type><maml:name>Guid[]</maml:name><maml:uri /></dev:type><dev:defaultValue>All jobs</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="1" aliases=""><maml:name>Job</maml:name><maml:description><maml:para>Specifies the job for which results are being retrieved. This parameter is required in a Receive-Job command. Enter a variable that contains the job or a command that gets the job. You can also pipe a job object to Receive-Job.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Job[]</command:parameterValue><dev:type><maml:name>Job[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Keep</maml:name><maml:description><maml:para>Saves the job results in the system, even after you have received them. By default, the job results are deleted when they are retrieved.</maml:para><maml:para>To delete the results, use Receive-Job to receive them again without the Keep parameter, close the session, or use the Remove-Job cmdlet to delete the job from the session.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="2" aliases=""><maml:name>Location</maml:name><maml:description><maml:para>Gets only the results of jobs with the specified location. The default is all jobs in the current session.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>All jobs</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="true" globbing="true" pipelineInput="true (ByPropertyName)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Gets the results of jobs with the specified friendly name. Wildcards are supported. The default is all jobs in the current session.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>NoRecurse</maml:name><maml:description><maml:para>Gets results only from the specified job. By default, Receive-Job also gets the results of all child jobs of the specified job.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="true (ByPropertyName)" position="2" aliases=""><maml:name>Session</maml:name><maml:description><maml:para>Gets the results of jobs that were run in the specified Windows Powershell session (PSSession). Enter a variable that contains the PSSession or a command that gets the PSSession, such as a Get-PSSession command. The default is all jobs in the current session.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">PSSession[]</command:parameterValue><dev:type><maml:name>PSSession[]</maml:name><maml:uri /></dev:type><dev:defaultValue>All jobs</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="" pipelineInput="false" position="named" aliases=""><maml:name>Wait</maml:name><maml:description><maml:para>Suppresses the command prompt until all job results are received. By default, Receive-Job immediately returns the available results.</maml:para><maml:para>By default, the Wait parameter waits until the job is in one of the following states: Completed, Failed, Stopped, Suspended, or Disconnected. To direct the Wait parameter to continue waiting if the job state is Suspended or Disconnected, use the Force parameter with the Wait parameter.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>AutoRemoveJob</maml:name><maml:description><maml:para>Deletes the job after returning the job results. If the job has more results, the job is still deleted, but Receive-Job displays a message.</maml:para><maml:para>This parameter works only on custom job types. It is designed for instances of job types that save the job or the type outside of the session, such as instances of scheduled jobs.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>WriteEvents</maml:name><maml:description><maml:para>Reports changes in the job state while waiting for the job to complete.</maml:para><maml:para>This parameter is valid only when the Wait parameter is used in the command and the Keep parameter is omitted.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>WriteJobInResults</maml:name><maml:description><maml:para>Returns the job object followed by the results.</maml:para><maml:para>This parameter is valid only when the Wait parameter is used in the command and the Keep parameter is omitted.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Force</maml:name><maml:description><maml:para>Continues waiting if jobs are in the Suspended or Disconnected state. By default, the Wait parameter of Receive-Job returns (terminates the wait) when jobs are in one of the following states: Completed, Failed, Stopped, Suspended, or Disconnected.</maml:para><maml:para>The Force parameter is valid only when the Wait parameter is also used in the command.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name>System.Management.Automation.Job</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You can pipe job objects to Receive-Job.</maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name>PSObject</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>Receive-Job returns the results of the commands in the job.</maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><command:examples><command:example><maml:title>
  
-------------------------- EXAMPLE 1 --------------------------
  
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;$job = Start-Job -ScriptBlock {Get-Process}
PS C:\&gt;Receive-Job -Job $job
</dev:code><dev:remarks><maml:para>These commands use the Job parameter of Receive-Job to get the results of a particular job. </maml:para><maml:para>The first command uses the Start-Job cmdlet to start a job that runs a Get-Process command. The command uses the assignment operator (=) to save the resulting job object in the $job variable.</maml:para><maml:para>The second command uses the Receive-Job cmdlet to get the results of the job. It uses the Job parameter to specify the job.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 2 --------------------------
  
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;$job = Start-Job -ScriptBlock {Get-Process}
PS C:\&gt;$job | Receive-Job
</dev:code><dev:remarks><maml:para>This example is the same as Example 2, except that the command uses a pipeline operator (|) to send the job object to Receive-Job. As a result, the command does not need a Job parameter to specify the job.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 3 --------------------------
  
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>The first command uses the Invoke-Command cmdlet to start a background job that runs a Get-Service command on three remote computers. The command uses the AsJob parameter to run the command as a background job. The command saves the resulting job object in the $j variable.When you use the AsJob parameter of Invoke-Command to start a job, the job object is created on the local computer, even though the job runs on the remote computers. As a result, you use local commands to manage the job.Also, when you use AsJob, Windows PowerShell returns one job object that contains a child job for each job that was started. In this case, the job object contains three child jobs, one for each job on each remote computer.
PS C:\&gt;
 
 
PS C:\&gt;$j = Invoke-Command -ComputerName Server01, Server02, Server03 -ScriptBlock {Get-Service} -AsJob
 
The second command uses the dot method to display the value of the ChildJobs property of the job object in $j. The display shows that the command created three child jobs, one for the job on each remote computer.
PS C:\&gt;$j.ChildJobs
 
Id Name State HasMoreData Location Command
-- ---- ----- ----------- -------- -------
2 Job2 Completed True Server01 Get-Service
3 Job3 Completed True Server02 Get-Service
4 Job4 Completed True Server03 Get-Service
 
The third command uses the Receive-Job cmdlet to get the results of the Job3 child job that ran on the Server02 computer. It uses the Name parameter to specify the name of the child job and the Keep parameter to save the job results even after they are received.
PS C:\&gt;Receive-Job -Name Job3 -Keep
 
Status Name DisplayName PSComputerName
------ ----------- ----------- --------------
Running AeLookupSvc Application Experience Server02
Stopped ALG Application Layer Gateway Service Server02
Running Appinfo Application Information Server02
Running AppMgmt Application Management Server02
</dev:code><dev:remarks><maml:para>These commands get the results of one of several background jobs run on remote computers.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 4 --------------------------
  
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>The first command uses the New-PSSession cmdlet to create three user-managed sessions ("PSSessions), one on each of the servers specified in the command. It saves the sessions in the $s variable.
PS C:\&gt;$s = new-pssession -computername Server01, Server02, Server03
 
The second command uses the Invoke-Command cmdlet to run a Start-Job command in each of the PSSessions in the $s variable. The job runs a Get-Eventlog command that gets the events in the System log. The command saves the results in the $j variable.Because the command used Invoke-Command to run the Start-Job command, the command actually started three independent jobs on each of the three computers. As a result, the command returned three job objects representing three jobs run locally on three different computers.
PS C:\&gt;$j = invoke-command -session $s -scriptblock {start-job -scriptblock {get-eventlog -logname system}}
 
The third command displays the three job objects in $j.
PS C:\&gt;$j
 
Id Name State HasMoreData Location Command
-- ---- ----- ----------- -------- -------
1 Job1 Completed True Localhost get-eventlog system
2 Job2 Completed True Localhost get-eventlog system
3 Job3 Completed True Localhost get-eventlog system
 
 
The fourth command uses Invoke-Command to run a Receive-Job command in each of the sessions in $s and save the results in the $Results variable.Because $j is a local variable, the script block uses the Using scope modifier to identify the $j variable. For more information about the Using scope modifier, see about_Remote_Variables (http://go.microsoft.com/fwlink/?LinkID=252653).
PS C:\&gt;$results = Invoke-Command -Session $s -ScriptBlock {Receive-Job -Job $Using:j}
</dev:code><dev:remarks><maml:para>This example shows how to get the results of background jobs run on three remote computers.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=289603</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Get-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Invoke-Command</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Remove-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Resume-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Start-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Stop-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Suspend-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Wait-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Jobs</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Job_Details</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Remote_Jobs</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Remote_Variables</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Scopes</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>Receive-PSSession</command:name><maml:description><maml:para>Gets results of commands in disconnected sessions</maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>Receive</command:verb><command:noun>PSSession</command:noun><dev:version /></command:details><maml:description><maml:para>The Receive-PSSession cmdlet gets the results of commands running in Windows PowerShell sessions ("PSSession") that were disconnected. If the session is currently connected, Receive-PSSession gets the results of commands that were running when the session was disconnected. If the session is still disconnected, Receive-PSSession connects to the session, resumes any commands that were suspended, and gets the results of commands running in the session.</maml:para><maml:para>You can use a Receive-PSSession in addition to or in place of a Connect-PSSession command. Receive-PSSession can connect to any disconnected or reconnected session, including those that were started in other sessions or on other computers. </maml:para><maml:para>Receive-PSSession works on PSSessions that were disconnected intentionally, such as by using the Disconnect-PSSession cmdlet or the InDisconnectedSession parameter of the Invoke-Command cmdlet, or unintentionally, such as by a network interruption. </maml:para><maml:para>If you use the Receive-PSSession cmdlet to connect to a session in which no commands are running or suspended, Receive-PSSession connects to the session, but returns no output or errors.</maml:para><maml:para>For more information about the Disconnected Sessions feature, see about_Remote_Disconnected_Sessions.</maml:para><maml:para>This cmdlet is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>Receive-PSSession</maml:name><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases=""><maml:name>Session</maml:name><maml:description><maml:para>Specifies the disconnected session. Enter a variable that contains the PSSession or a command that creates or gets the PSSession, such as a Get-PSSession command.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSSession</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>JobName</maml:name><maml:description><maml:para>Specifies a friendly name for the job that Receive-PSSession returns.</maml:para><maml:para>Receive-PSSession returns a job when the value of the OutTarget parameter is Job or the job that is running in the disconnected session was started in the current session.</maml:para><maml:para>If the job that is running in the disconnected session was started in the current session, Windows PowerShell reuses the original job object in the session and ignores the value of the JobName parameter.</maml:para><maml:para>If the job that is running in the disconnected session was started in a different session, Windows PowerShell creates a new job object. It uses a default name, but you can use this parameter to change the name.</maml:para><maml:para>If the default value or explicit value of the OutTarget parameter is not Job, the command succeeds, but the JobName parameter has no effect.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>OutTarget</maml:name><maml:description><maml:para>Determines how the session results are returned.</maml:para><maml:para>Valid values are:</maml:para><maml:para>-- Job: Returns the results asynchronously in a job object. You can use the JobName parameter to specify a name or new name for the job.</maml:para><maml:para>-- Host: Returns the results to the command line (synchronously). If the command is being resumed or the results consist of a large number of objects, the response might be delayed.</maml:para><maml:para>The default value of the OutTarget parameter is Host. However, if the command that is being received in disconnected session was started in the current session, the default value of the OutTarget parameter is the form in which the command was started. If the command was started as a job, it is returned as a job by default. Otherwise, it is returned to the host program by default.</maml:para><maml:para>Typically, the host program displays returned objects at the command line without delay, but this behavior can vary.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">OutTarget</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Receive-PSSession</maml:name><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="Cn"><maml:name>ComputerName</maml:name><maml:description><maml:para>Specifies the computer on which the disconnected session is stored. Sessions are stored on the computer that is at the "server-side" or receiving end of a connection. The default is the local computer.</maml:para><maml:para>Type the NetBIOS name, an IP address, or a fully qualified domain name of one computer. Wildcards are not permitted. To specify the local computer, type the computer name, "localhost", or a dot (.)</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>ApplicationName</maml:name><maml:description><maml:para>Connects only to sessions that use the specified application.</maml:para><maml:para>Enter the application name segment of the connection URI. For example, in the following connection URI, the application name is WSMan: http://localhost:5985/WSMAN. The application name of a session is stored in the Runspace.ConnectionInfo.AppName property of the session.</maml:para><maml:para>The value of this parameter is used to select and filter sessions. It does not change the application that the session uses.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Authentication</maml:name><maml:description><maml:para>Specifies the mechanism that is used to authenticate the user's credentials in the command to reconnect to the disconnected session. Valid values are Default, Basic, Credssp, Digest, Kerberos, Negotiate, and NegotiateWithImplicitCredential. The default value is Default.</maml:para><maml:para>For information about the values of this parameter, see "AuthenticationMechanism enumeration" in MSDN.</maml:para><maml:para>CAUTION: Credential Security Support Provider (CredSSP) authentication, in which the user's credentials are passed to a remote computer to be authenticated, is designed for commands that require authentication on more than one resource, such as accessing a remote network share. This mechanism increases the security risk of the remote operation. If the remote computer is compromised, the credentials that are passed to it can be used to control the network session.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">AuthenticationMechanism</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CertificateThumbprint</maml:name><maml:description><maml:para>Specifies the digital public key certificate (X509) of a user account that has permission to connect to the disconnected session. Enter the certificate thumbprint of the certificate.</maml:para><maml:para>Certificates are used in client certificate-based authentication. They can be mapped only to local user accounts; they do not work with domain accounts.</maml:para><maml:para>To get a certificate thumbprint, use a Get-Item or Get-ChildItem command in the Windows PowerShell Cert: drive.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>ConfigurationName</maml:name><maml:description><maml:para>Connects only to sessions that use the specified session configuration.</maml:para><maml:para>Enter a configuration name or the fully qualified resource URI for a session configuration. If you specify only the configuration name, the following schema URI is prepended: http://schemas.microsoft.com/powershell. The configuration name of a session is stored in the ConfigurationName property of the session.</maml:para><maml:para>The value of this parameter is used to select and filter sessions. It does not change the session configuration that the session uses.</maml:para><maml:para>For more information about session configurations, see about_Session_Configurations .</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Credential</maml:name><maml:description><maml:para>Specifies a user account that has permission to connect to the disconnected session. The default is the current user.</maml:para><maml:para>Type a user name, such as "User01" or "Domain01\User01". Or, enter a PSCredential object, such as one generated by the Get-Credential cmdlet. If you type a user name, you will be prompted for a password.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>JobName</maml:name><maml:description><maml:para>Specifies a friendly name for the job that Receive-PSSession returns.</maml:para><maml:para>Receive-PSSession returns a job when the value of the OutTarget parameter is Job or the job that is running in the disconnected session was started in the current session.</maml:para><maml:para>If the job that is running in the disconnected session was started in the current session, Windows PowerShell reuses the original job object in the session and ignores the value of the JobName parameter.</maml:para><maml:para>If the job that is running in the disconnected session was started in a different session, Windows PowerShell creates a new job object. It uses a default name, but you can use this parameter to change the name.</maml:para><maml:para>If the default value or explicit value of the OutTarget parameter is not Job, the command succeeds, but the JobName parameter has no effect.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>OutTarget</maml:name><maml:description><maml:para>Determines how the session results are returned.</maml:para><maml:para>Valid values are:</maml:para><maml:para>-- Job: Returns the results asynchronously in a job object. You can use the JobName parameter to specify a name or new name for the job.</maml:para><maml:para>-- Host: Returns the results to the command line (synchronously). If the command is being resumed or the results consist of a large number of objects, the response might be delayed.</maml:para><maml:para>The default value of the OutTarget parameter is Host. However, if the command that is being received in disconnected session was started in the current session, the default value of the OutTarget parameter is the form in which the command was started. If the command was started as a job, it is returned as a job by default. Otherwise, it is returned to the host program by default.</maml:para><maml:para>Typically, the host program displays returned objects at the command line without delay, but this behavior can vary.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">OutTarget</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Port</maml:name><maml:description><maml:para>Specifies the network port on the remote computer that is used to reconnect to the session. To connect to a remote computer, the remote computer must be listening on the port that the connection uses. The default ports are 5985 (the WinRM port for HTTP) and 5986 (the WinRM port for HTTPS).</maml:para><maml:para>Before using an alternate port, you must configure the WinRM listener on the remote computer to listen at that port. To configure the listener, type the following two commands at the Windows PowerShell prompt:</maml:para><maml:para>Remove-Item -Path WSMan:\Localhost\listener\listener* -Recurse</maml:para><maml:para>New-Item -Path WSMan:\Localhost\listener -Transport http -Address * -Port &lt;port-number&gt;</maml:para><maml:para>Do not use the Port parameter unless you must. The port that is set in the command applies to all computers or sessions on which the command runs. An alternate port setting might prevent the command from running on all computers.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SessionOption</maml:name><maml:description><maml:para>Sets advanced options for the session. Enter a SessionOption object, such as one that you create by using the New-PSSessionOption cmdlet, or a hash table in which the keys are session option names and the values are session option values.</maml:para><maml:para>The default values for the options are determined by the value of the $PSSessionOption preference variable, if it is set. Otherwise, the default values are established by options set in the session configuration.</maml:para><maml:para>The session option values take precedence over default values for sessions set in the $PSSessionOption preference variable and in the session configuration. However, they do not take precedence over maximum values, quotas or limits set in the session configuration. </maml:para><maml:para>For a description of the session options, including the default values, see New-PSSessionOption. For information about the $PSSessionOption preference variable, see about_Preference_Variables (http://go.microsoft.com/fwlink/?LinkID=113248). For more information about session configurations, see about_Session_Configurations (http://go.microsoft.com/fwlink/?LinkID=145152).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSSessionOption</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>UseSSL</maml:name><maml:description><maml:para>Uses the Secure Sockets Layer (SSL) protocol to connect to the disconnected session. By default, SSL is not used.</maml:para><maml:para>WS-Management encrypts all Windows PowerShell content transmitted over the network. UseSSL is an additional protection that sends the data across an HTTPS connection instead of an HTTP connection.</maml:para><maml:para>If you use this parameter, but SSL is not available on the port used for the command, the command fails.</maml:para></maml:description></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Specifies the friendly name of the disconnected session.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Receive-PSSession</maml:name><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="Cn"><maml:name>ComputerName</maml:name><maml:description><maml:para>Specifies the computer on which the disconnected session is stored. Sessions are stored on the computer that is at the "server-side" or receiving end of a connection. The default is the local computer.</maml:para><maml:para>Type the NetBIOS name, an IP address, or a fully qualified domain name of one computer. Wildcards are not permitted. To specify the local computer, type the computer name, "localhost", or a dot (.)</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>ApplicationName</maml:name><maml:description><maml:para>Connects only to sessions that use the specified application.</maml:para><maml:para>Enter the application name segment of the connection URI. For example, in the following connection URI, the application name is WSMan: http://localhost:5985/WSMAN. The application name of a session is stored in the Runspace.ConnectionInfo.AppName property of the session.</maml:para><maml:para>The value of this parameter is used to select and filter sessions. It does not change the application that the session uses.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Authentication</maml:name><maml:description><maml:para>Specifies the mechanism that is used to authenticate the user's credentials in the command to reconnect to the disconnected session. Valid values are Default, Basic, Credssp, Digest, Kerberos, Negotiate, and NegotiateWithImplicitCredential. The default value is Default.</maml:para><maml:para>For information about the values of this parameter, see "AuthenticationMechanism enumeration" in MSDN.</maml:para><maml:para>CAUTION: Credential Security Support Provider (CredSSP) authentication, in which the user's credentials are passed to a remote computer to be authenticated, is designed for commands that require authentication on more than one resource, such as accessing a remote network share. This mechanism increases the security risk of the remote operation. If the remote computer is compromised, the credentials that are passed to it can be used to control the network session.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">AuthenticationMechanism</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CertificateThumbprint</maml:name><maml:description><maml:para>Specifies the digital public key certificate (X509) of a user account that has permission to connect to the disconnected session. Enter the certificate thumbprint of the certificate.</maml:para><maml:para>Certificates are used in client certificate-based authentication. They can be mapped only to local user accounts; they do not work with domain accounts.</maml:para><maml:para>To get a certificate thumbprint, use a Get-Item or Get-ChildItem command in the Windows PowerShell Cert: drive.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>ConfigurationName</maml:name><maml:description><maml:para>Connects only to sessions that use the specified session configuration.</maml:para><maml:para>Enter a configuration name or the fully qualified resource URI for a session configuration. If you specify only the configuration name, the following schema URI is prepended: http://schemas.microsoft.com/powershell. The configuration name of a session is stored in the ConfigurationName property of the session.</maml:para><maml:para>The value of this parameter is used to select and filter sessions. It does not change the session configuration that the session uses.</maml:para><maml:para>For more information about session configurations, see about_Session_Configurations .</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Credential</maml:name><maml:description><maml:para>Specifies a user account that has permission to connect to the disconnected session. The default is the current user.</maml:para><maml:para>Type a user name, such as "User01" or "Domain01\User01". Or, enter a PSCredential object, such as one generated by the Get-Credential cmdlet. If you type a user name, you will be prompted for a password.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>JobName</maml:name><maml:description><maml:para>Specifies a friendly name for the job that Receive-PSSession returns.</maml:para><maml:para>Receive-PSSession returns a job when the value of the OutTarget parameter is Job or the job that is running in the disconnected session was started in the current session.</maml:para><maml:para>If the job that is running in the disconnected session was started in the current session, Windows PowerShell reuses the original job object in the session and ignores the value of the JobName parameter.</maml:para><maml:para>If the job that is running in the disconnected session was started in a different session, Windows PowerShell creates a new job object. It uses a default name, but you can use this parameter to change the name.</maml:para><maml:para>If the default value or explicit value of the OutTarget parameter is not Job, the command succeeds, but the JobName parameter has no effect.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>OutTarget</maml:name><maml:description><maml:para>Determines how the session results are returned.</maml:para><maml:para>Valid values are:</maml:para><maml:para>-- Job: Returns the results asynchronously in a job object. You can use the JobName parameter to specify a name or new name for the job.</maml:para><maml:para>-- Host: Returns the results to the command line (synchronously). If the command is being resumed or the results consist of a large number of objects, the response might be delayed.</maml:para><maml:para>The default value of the OutTarget parameter is Host. However, if the command that is being received in disconnected session was started in the current session, the default value of the OutTarget parameter is the form in which the command was started. If the command was started as a job, it is returned as a job by default. Otherwise, it is returned to the host program by default.</maml:para><maml:para>Typically, the host program displays returned objects at the command line without delay, but this behavior can vary.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">OutTarget</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Port</maml:name><maml:description><maml:para>Specifies the network port on the remote computer that is used to reconnect to the session. To connect to a remote computer, the remote computer must be listening on the port that the connection uses. The default ports are 5985 (the WinRM port for HTTP) and 5986 (the WinRM port for HTTPS).</maml:para><maml:para>Before using an alternate port, you must configure the WinRM listener on the remote computer to listen at that port. To configure the listener, type the following two commands at the Windows PowerShell prompt:</maml:para><maml:para>Remove-Item -Path WSMan:\Localhost\listener\listener* -Recurse</maml:para><maml:para>New-Item -Path WSMan:\Localhost\listener -Transport http -Address * -Port &lt;port-number&gt;</maml:para><maml:para>Do not use the Port parameter unless you must. The port that is set in the command applies to all computers or sessions on which the command runs. An alternate port setting might prevent the command from running on all computers.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SessionOption</maml:name><maml:description><maml:para>Sets advanced options for the session. Enter a SessionOption object, such as one that you create by using the New-PSSessionOption cmdlet, or a hash table in which the keys are session option names and the values are session option values.</maml:para><maml:para>The default values for the options are determined by the value of the $PSSessionOption preference variable, if it is set. Otherwise, the default values are established by options set in the session configuration.</maml:para><maml:para>The session option values take precedence over default values for sessions set in the $PSSessionOption preference variable and in the session configuration. However, they do not take precedence over maximum values, quotas or limits set in the session configuration. </maml:para><maml:para>For a description of the session options, including the default values, see New-PSSessionOption. For information about the $PSSessionOption preference variable, see about_Preference_Variables (http://go.microsoft.com/fwlink/?LinkID=113248). For more information about session configurations, see about_Session_Configurations (http://go.microsoft.com/fwlink/?LinkID=145152).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSSessionOption</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>UseSSL</maml:name><maml:description><maml:para>Uses the Secure Sockets Layer (SSL) protocol to connect to the disconnected session. By default, SSL is not used.</maml:para><maml:para>WS-Management encrypts all Windows PowerShell content transmitted over the network. UseSSL is an additional protection that sends the data across an HTTPS connection instead of an HTTP connection.</maml:para><maml:para>If you use this parameter, but SSL is not available on the port used for the command, the command fails.</maml:para></maml:description></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>InstanceId</maml:name><maml:description><maml:para>Specifies the instance ID of the disconnected session.</maml:para><maml:para>The instance ID is a GUID that uniquely identifies a PSSession on a local or remote computer.</maml:para><maml:para>The instance ID is stored in the InstanceID property of the PSSession.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Guid</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Receive-PSSession</maml:name><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="URI,CU"><maml:name>ConnectionUri</maml:name><maml:description><maml:para>Specifies a Uniform Resource Identifier (URI) that defines the connection endpoint that is used to reconnect to the disconnected session. </maml:para><maml:para>The URI must be fully qualified. The format of this string is as follows:</maml:para><maml:para></maml:para><maml:para>&lt;Transport&gt;://&lt;ComputerName&gt;:&lt;Port&gt;/&lt;ApplicationName&gt;</maml:para><maml:para></maml:para><maml:para>The default value is as follows:</maml:para><maml:para></maml:para><maml:para>http://localhost:5985/WSMAN</maml:para><maml:para>If you do not specify a connection URI, you can use the UseSSL, ComputerName, Port, and ApplicationName parameters to specify the connection URI values.</maml:para><maml:para>Valid values for the Transport segment of the URI are HTTP and HTTPS. If you specify a connection URI with a Transport segment, but do not specify a port, the session is created with standards ports: 80 for HTTP and 443 for HTTPS. To use the default ports for Windows PowerShell remoting, specify port 5985 for HTTP or 5986 for HTTPS.</maml:para><maml:para>If the destination computer redirects the connection to a different URI, Windows PowerShell prevents the redirection unless you use the AllowRedirection parameter in the command.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Uri</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>AllowRedirection</maml:name><maml:description><maml:para>Allows redirection of this connection to an alternate Uniform Resource Identifier (URI).</maml:para><maml:para>When you use the ConnectionURI parameter, the remote destination can return an instruction to redirect to a different URI. By default, Windows PowerShell does not redirect connections, but you can use this parameter to allow it to redirect the connection.</maml:para><maml:para>You can also limit the number of times the connection is redirected by changing the MaximumConnectionRedirectionCount session option value. Use the MaximumRedirection parameter of the New-PSSessionOption cmdlet or set the MaximumConnectionRedirectionCount property of the $PSSessionOption preference variable. The default value is 5.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Authentication</maml:name><maml:description><maml:para>Specifies the mechanism that is used to authenticate the user's credentials in the command to reconnect to the disconnected session. Valid values are Default, Basic, Credssp, Digest, Kerberos, Negotiate, and NegotiateWithImplicitCredential. The default value is Default.</maml:para><maml:para>For information about the values of this parameter, see "AuthenticationMechanism enumeration" in MSDN.</maml:para><maml:para>CAUTION: Credential Security Support Provider (CredSSP) authentication, in which the user's credentials are passed to a remote computer to be authenticated, is designed for commands that require authentication on more than one resource, such as accessing a remote network share. This mechanism increases the security risk of the remote operation. If the remote computer is compromised, the credentials that are passed to it can be used to control the network session.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">AuthenticationMechanism</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CertificateThumbprint</maml:name><maml:description><maml:para>Specifies the digital public key certificate (X509) of a user account that has permission to connect to the disconnected session. Enter the certificate thumbprint of the certificate.</maml:para><maml:para>Certificates are used in client certificate-based authentication. They can be mapped only to local user accounts; they do not work with domain accounts.</maml:para><maml:para>To get a certificate thumbprint, use a Get-Item or Get-ChildItem command in the Windows PowerShell Cert: drive.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>ConfigurationName</maml:name><maml:description><maml:para>Connects only to sessions that use the specified session configuration.</maml:para><maml:para>Enter a configuration name or the fully qualified resource URI for a session configuration. If you specify only the configuration name, the following schema URI is prepended: http://schemas.microsoft.com/powershell. The configuration name of a session is stored in the ConfigurationName property of the session.</maml:para><maml:para>The value of this parameter is used to select and filter sessions. It does not change the session configuration that the session uses.</maml:para><maml:para>For more information about session configurations, see about_Session_Configurations .</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Credential</maml:name><maml:description><maml:para>Specifies a user account that has permission to connect to the disconnected session. The default is the current user.</maml:para><maml:para>Type a user name, such as "User01" or "Domain01\User01". Or, enter a PSCredential object, such as one generated by the Get-Credential cmdlet. If you type a user name, you will be prompted for a password.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>JobName</maml:name><maml:description><maml:para>Specifies a friendly name for the job that Receive-PSSession returns.</maml:para><maml:para>Receive-PSSession returns a job when the value of the OutTarget parameter is Job or the job that is running in the disconnected session was started in the current session.</maml:para><maml:para>If the job that is running in the disconnected session was started in the current session, Windows PowerShell reuses the original job object in the session and ignores the value of the JobName parameter.</maml:para><maml:para>If the job that is running in the disconnected session was started in a different session, Windows PowerShell creates a new job object. It uses a default name, but you can use this parameter to change the name.</maml:para><maml:para>If the default value or explicit value of the OutTarget parameter is not Job, the command succeeds, but the JobName parameter has no effect.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>OutTarget</maml:name><maml:description><maml:para>Determines how the session results are returned.</maml:para><maml:para>Valid values are:</maml:para><maml:para>-- Job: Returns the results asynchronously in a job object. You can use the JobName parameter to specify a name or new name for the job.</maml:para><maml:para>-- Host: Returns the results to the command line (synchronously). If the command is being resumed or the results consist of a large number of objects, the response might be delayed.</maml:para><maml:para>The default value of the OutTarget parameter is Host. However, if the command that is being received in disconnected session was started in the current session, the default value of the OutTarget parameter is the form in which the command was started. If the command was started as a job, it is returned as a job by default. Otherwise, it is returned to the host program by default.</maml:para><maml:para>Typically, the host program displays returned objects at the command line without delay, but this behavior can vary.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">OutTarget</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SessionOption</maml:name><maml:description><maml:para>Sets advanced options for the session. Enter a SessionOption object, such as one that you create by using the New-PSSessionOption cmdlet, or a hash table in which the keys are session option names and the values are session option values.</maml:para><maml:para>The default values for the options are determined by the value of the $PSSessionOption preference variable, if it is set. Otherwise, the default values are established by options set in the session configuration.</maml:para><maml:para>The session option values take precedence over default values for sessions set in the $PSSessionOption preference variable and in the session configuration. However, they do not take precedence over maximum values, quotas or limits set in the session configuration. </maml:para><maml:para>For a description of the session options, including the default values, see New-PSSessionOption. For information about the $PSSessionOption preference variable, see about_Preference_Variables (http://go.microsoft.com/fwlink/?LinkID=113248). For more information about session configurations, see about_Session_Configurations (http://go.microsoft.com/fwlink/?LinkID=145152).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSSessionOption</command:parameterValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Specifies the friendly name of the disconnected session.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Receive-PSSession</maml:name><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="URI,CU"><maml:name>ConnectionUri</maml:name><maml:description><maml:para>Specifies a Uniform Resource Identifier (URI) that defines the connection endpoint that is used to reconnect to the disconnected session. </maml:para><maml:para>The URI must be fully qualified. The format of this string is as follows:</maml:para><maml:para></maml:para><maml:para>&lt;Transport&gt;://&lt;ComputerName&gt;:&lt;Port&gt;/&lt;ApplicationName&gt;</maml:para><maml:para></maml:para><maml:para>The default value is as follows:</maml:para><maml:para></maml:para><maml:para>http://localhost:5985/WSMAN</maml:para><maml:para>If you do not specify a connection URI, you can use the UseSSL, ComputerName, Port, and ApplicationName parameters to specify the connection URI values.</maml:para><maml:para>Valid values for the Transport segment of the URI are HTTP and HTTPS. If you specify a connection URI with a Transport segment, but do not specify a port, the session is created with standards ports: 80 for HTTP and 443 for HTTPS. To use the default ports for Windows PowerShell remoting, specify port 5985 for HTTP or 5986 for HTTPS.</maml:para><maml:para>If the destination computer redirects the connection to a different URI, Windows PowerShell prevents the redirection unless you use the AllowRedirection parameter in the command.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Uri</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>AllowRedirection</maml:name><maml:description><maml:para>Allows redirection of this connection to an alternate Uniform Resource Identifier (URI).</maml:para><maml:para>When you use the ConnectionURI parameter, the remote destination can return an instruction to redirect to a different URI. By default, Windows PowerShell does not redirect connections, but you can use this parameter to allow it to redirect the connection.</maml:para><maml:para>You can also limit the number of times the connection is redirected by changing the MaximumConnectionRedirectionCount session option value. Use the MaximumRedirection parameter of the New-PSSessionOption cmdlet or set the MaximumConnectionRedirectionCount property of the $PSSessionOption preference variable. The default value is 5.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Authentication</maml:name><maml:description><maml:para>Specifies the mechanism that is used to authenticate the user's credentials in the command to reconnect to the disconnected session. Valid values are Default, Basic, Credssp, Digest, Kerberos, Negotiate, and NegotiateWithImplicitCredential. The default value is Default.</maml:para><maml:para>For information about the values of this parameter, see "AuthenticationMechanism enumeration" in MSDN.</maml:para><maml:para>CAUTION: Credential Security Support Provider (CredSSP) authentication, in which the user's credentials are passed to a remote computer to be authenticated, is designed for commands that require authentication on more than one resource, such as accessing a remote network share. This mechanism increases the security risk of the remote operation. If the remote computer is compromised, the credentials that are passed to it can be used to control the network session.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">AuthenticationMechanism</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CertificateThumbprint</maml:name><maml:description><maml:para>Specifies the digital public key certificate (X509) of a user account that has permission to connect to the disconnected session. Enter the certificate thumbprint of the certificate.</maml:para><maml:para>Certificates are used in client certificate-based authentication. They can be mapped only to local user accounts; they do not work with domain accounts.</maml:para><maml:para>To get a certificate thumbprint, use a Get-Item or Get-ChildItem command in the Windows PowerShell Cert: drive.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>ConfigurationName</maml:name><maml:description><maml:para>Connects only to sessions that use the specified session configuration.</maml:para><maml:para>Enter a configuration name or the fully qualified resource URI for a session configuration. If you specify only the configuration name, the following schema URI is prepended: http://schemas.microsoft.com/powershell. The configuration name of a session is stored in the ConfigurationName property of the session.</maml:para><maml:para>The value of this parameter is used to select and filter sessions. It does not change the session configuration that the session uses.</maml:para><maml:para>For more information about session configurations, see about_Session_Configurations .</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Credential</maml:name><maml:description><maml:para>Specifies a user account that has permission to connect to the disconnected session. The default is the current user.</maml:para><maml:para>Type a user name, such as "User01" or "Domain01\User01". Or, enter a PSCredential object, such as one generated by the Get-Credential cmdlet. If you type a user name, you will be prompted for a password.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>JobName</maml:name><maml:description><maml:para>Specifies a friendly name for the job that Receive-PSSession returns.</maml:para><maml:para>Receive-PSSession returns a job when the value of the OutTarget parameter is Job or the job that is running in the disconnected session was started in the current session.</maml:para><maml:para>If the job that is running in the disconnected session was started in the current session, Windows PowerShell reuses the original job object in the session and ignores the value of the JobName parameter.</maml:para><maml:para>If the job that is running in the disconnected session was started in a different session, Windows PowerShell creates a new job object. It uses a default name, but you can use this parameter to change the name.</maml:para><maml:para>If the default value or explicit value of the OutTarget parameter is not Job, the command succeeds, but the JobName parameter has no effect.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>OutTarget</maml:name><maml:description><maml:para>Determines how the session results are returned.</maml:para><maml:para>Valid values are:</maml:para><maml:para>-- Job: Returns the results asynchronously in a job object. You can use the JobName parameter to specify a name or new name for the job.</maml:para><maml:para>-- Host: Returns the results to the command line (synchronously). If the command is being resumed or the results consist of a large number of objects, the response might be delayed.</maml:para><maml:para>The default value of the OutTarget parameter is Host. However, if the command that is being received in disconnected session was started in the current session, the default value of the OutTarget parameter is the form in which the command was started. If the command was started as a job, it is returned as a job by default. Otherwise, it is returned to the host program by default.</maml:para><maml:para>Typically, the host program displays returned objects at the command line without delay, but this behavior can vary.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">OutTarget</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SessionOption</maml:name><maml:description><maml:para>Sets advanced options for the session. Enter a SessionOption object, such as one that you create by using the New-PSSessionOption cmdlet, or a hash table in which the keys are session option names and the values are session option values.</maml:para><maml:para>The default values for the options are determined by the value of the $PSSessionOption preference variable, if it is set. Otherwise, the default values are established by options set in the session configuration.</maml:para><maml:para>The session option values take precedence over default values for sessions set in the $PSSessionOption preference variable and in the session configuration. However, they do not take precedence over maximum values, quotas or limits set in the session configuration. </maml:para><maml:para>For a description of the session options, including the default values, see New-PSSessionOption. For information about the $PSSessionOption preference variable, see about_Preference_Variables (http://go.microsoft.com/fwlink/?LinkID=113248). For more information about session configurations, see about_Session_Configurations (http://go.microsoft.com/fwlink/?LinkID=145152).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSSessionOption</command:parameterValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>InstanceId</maml:name><maml:description><maml:para>Specifies the instance ID of the disconnected session.</maml:para><maml:para>The instance ID is a GUID that uniquely identifies a PSSession on a local or remote computer.</maml:para><maml:para>The instance ID is stored in the InstanceID property of the PSSession.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Guid</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Receive-PSSession</maml:name><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases=""><maml:name>Id</maml:name><maml:description><maml:para>Specifies the ID of the disconnected session. The ID parameter works only when the disconnected session was previously connected to the current session.</maml:para><maml:para>This parameter is valid, but not effective, when the session is stored on the local computer, but was not connected to the current session.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>JobName</maml:name><maml:description><maml:para>Specifies a friendly name for the job that Receive-PSSession returns.</maml:para><maml:para>Receive-PSSession returns a job when the value of the OutTarget parameter is Job or the job that is running in the disconnected session was started in the current session.</maml:para><maml:para>If the job that is running in the disconnected session was started in the current session, Windows PowerShell reuses the original job object in the session and ignores the value of the JobName parameter.</maml:para><maml:para>If the job that is running in the disconnected session was started in a different session, Windows PowerShell creates a new job object. It uses a default name, but you can use this parameter to change the name.</maml:para><maml:para>If the default value or explicit value of the OutTarget parameter is not Job, the command succeeds, but the JobName parameter has no effect.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>OutTarget</maml:name><maml:description><maml:para>Determines how the session results are returned.</maml:para><maml:para>Valid values are:</maml:para><maml:para>-- Job: Returns the results asynchronously in a job object. You can use the JobName parameter to specify a name or new name for the job.</maml:para><maml:para>-- Host: Returns the results to the command line (synchronously). If the command is being resumed or the results consist of a large number of objects, the response might be delayed.</maml:para><maml:para>The default value of the OutTarget parameter is Host. However, if the command that is being received in disconnected session was started in the current session, the default value of the OutTarget parameter is the form in which the command was started. If the command was started as a job, it is returned as a job by default. Otherwise, it is returned to the host program by default.</maml:para><maml:para>Typically, the host program displays returned objects at the command line without delay, but this behavior can vary.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">OutTarget</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Receive-PSSession</maml:name><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases=""><maml:name>InstanceId</maml:name><maml:description><maml:para>Specifies the instance ID of the disconnected session.</maml:para><maml:para>The instance ID is a GUID that uniquely identifies a PSSession on a local or remote computer.</maml:para><maml:para>The instance ID is stored in the InstanceID property of the PSSession.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Guid</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>JobName</maml:name><maml:description><maml:para>Specifies a friendly name for the job that Receive-PSSession returns.</maml:para><maml:para>Receive-PSSession returns a job when the value of the OutTarget parameter is Job or the job that is running in the disconnected session was started in the current session.</maml:para><maml:para>If the job that is running in the disconnected session was started in the current session, Windows PowerShell reuses the original job object in the session and ignores the value of the JobName parameter.</maml:para><maml:para>If the job that is running in the disconnected session was started in a different session, Windows PowerShell creates a new job object. It uses a default name, but you can use this parameter to change the name.</maml:para><maml:para>If the default value or explicit value of the OutTarget parameter is not Job, the command succeeds, but the JobName parameter has no effect.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>OutTarget</maml:name><maml:description><maml:para>Determines how the session results are returned.</maml:para><maml:para>Valid values are:</maml:para><maml:para>-- Job: Returns the results asynchronously in a job object. You can use the JobName parameter to specify a name or new name for the job.</maml:para><maml:para>-- Host: Returns the results to the command line (synchronously). If the command is being resumed or the results consist of a large number of objects, the response might be delayed.</maml:para><maml:para>The default value of the OutTarget parameter is Host. However, if the command that is being received in disconnected session was started in the current session, the default value of the OutTarget parameter is the form in which the command was started. If the command was started as a job, it is returned as a job by default. Otherwise, it is returned to the host program by default.</maml:para><maml:para>Typically, the host program displays returned objects at the command line without delay, but this behavior can vary.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">OutTarget</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Receive-PSSession</maml:name><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Specifies the friendly name of the disconnected session.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>JobName</maml:name><maml:description><maml:para>Specifies a friendly name for the job that Receive-PSSession returns.</maml:para><maml:para>Receive-PSSession returns a job when the value of the OutTarget parameter is Job or the job that is running in the disconnected session was started in the current session.</maml:para><maml:para>If the job that is running in the disconnected session was started in the current session, Windows PowerShell reuses the original job object in the session and ignores the value of the JobName parameter.</maml:para><maml:para>If the job that is running in the disconnected session was started in a different session, Windows PowerShell creates a new job object. It uses a default name, but you can use this parameter to change the name.</maml:para><maml:para>If the default value or explicit value of the OutTarget parameter is not Job, the command succeeds, but the JobName parameter has no effect.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>OutTarget</maml:name><maml:description><maml:para>Determines how the session results are returned.</maml:para><maml:para>Valid values are:</maml:para><maml:para>-- Job: Returns the results asynchronously in a job object. You can use the JobName parameter to specify a name or new name for the job.</maml:para><maml:para>-- Host: Returns the results to the command line (synchronously). If the command is being resumed or the results consist of a large number of objects, the response might be delayed.</maml:para><maml:para>The default value of the OutTarget parameter is Host. However, if the command that is being received in disconnected session was started in the current session, the default value of the OutTarget parameter is the form in which the command was started. If the command was started as a job, it is returned as a job by default. Otherwise, it is returned to the host program by default.</maml:para><maml:para>Typically, the host program displays returned objects at the command line without delay, but this behavior can vary.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">OutTarget</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Authentication</maml:name><maml:description><maml:para>Specifies the mechanism that is used to authenticate the user's credentials in the command to reconnect to the disconnected session. Valid values are Default, Basic, Credssp, Digest, Kerberos, Negotiate, and NegotiateWithImplicitCredential. The default value is Default.</maml:para><maml:para>For information about the values of this parameter, see "AuthenticationMechanism enumeration" in MSDN.</maml:para><maml:para>CAUTION: Credential Security Support Provider (CredSSP) authentication, in which the user's credentials are passed to a remote computer to be authenticated, is designed for commands that require authentication on more than one resource, such as accessing a remote network share. This mechanism increases the security risk of the remote operation. If the remote computer is compromised, the credentials that are passed to it can be used to control the network session.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">AuthenticationMechanism</command:parameterValue><dev:type><maml:name>AuthenticationMechanism</maml:name><maml:uri /></dev:type><dev:defaultValue>Default</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CertificateThumbprint</maml:name><maml:description><maml:para>Specifies the digital public key certificate (X509) of a user account that has permission to connect to the disconnected session. Enter the certificate thumbprint of the certificate.</maml:para><maml:para>Certificates are used in client certificate-based authentication. They can be mapped only to local user accounts; they do not work with domain accounts.</maml:para><maml:para>To get a certificate thumbprint, use a Get-Item or Get-ChildItem command in the Windows PowerShell Cert: drive.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="Cn"><maml:name>ComputerName</maml:name><maml:description><maml:para>Specifies the computer on which the disconnected session is stored. Sessions are stored on the computer that is at the "server-side" or receiving end of a connection. The default is the local computer.</maml:para><maml:para>Type the NetBIOS name, an IP address, or a fully qualified domain name of one computer. Wildcards are not permitted. To specify the local computer, type the computer name, "localhost", or a dot (.)</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>Local computer</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Credential</maml:name><maml:description><maml:para>Specifies a user account that has permission to connect to the disconnected session. The default is the current user.</maml:para><maml:para>Type a user name, such as "User01" or "Domain01\User01". Or, enter a PSCredential object, such as one generated by the Get-Credential cmdlet. If you type a user name, you will be prompted for a password.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue><dev:type><maml:name>PSCredential</maml:name><maml:uri /></dev:type><dev:defaultValue>Current user</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases=""><maml:name>Id</maml:name><maml:description><maml:para>Specifies the ID of the disconnected session. The ID parameter works only when the disconnected session was previously connected to the current session.</maml:para><maml:para>This parameter is valid, but not effective, when the session is stored on the local computer, but was not connected to the current session.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue><dev:type><maml:name>Int32</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>InstanceId</maml:name><maml:description><maml:para>Specifies the instance ID of the disconnected session.</maml:para><maml:para>The instance ID is a GUID that uniquely identifies a PSSession on a local or remote computer.</maml:para><maml:para>The instance ID is stored in the InstanceID property of the PSSession.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Guid</command:parameterValue><dev:type><maml:name>Guid</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>JobName</maml:name><maml:description><maml:para>Specifies a friendly name for the job that Receive-PSSession returns.</maml:para><maml:para>Receive-PSSession returns a job when the value of the OutTarget parameter is Job or the job that is running in the disconnected session was started in the current session.</maml:para><maml:para>If the job that is running in the disconnected session was started in the current session, Windows PowerShell reuses the original job object in the session and ignores the value of the JobName parameter.</maml:para><maml:para>If the job that is running in the disconnected session was started in a different session, Windows PowerShell creates a new job object. It uses a default name, but you can use this parameter to change the name.</maml:para><maml:para>If the default value or explicit value of the OutTarget parameter is not Job, the command succeeds, but the JobName parameter has no effect.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>Job&lt;n&gt;</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Specifies the friendly name of the disconnected session.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>OutTarget</maml:name><maml:description><maml:para>Determines how the session results are returned.</maml:para><maml:para>Valid values are:</maml:para><maml:para>-- Job: Returns the results asynchronously in a job object. You can use the JobName parameter to specify a name or new name for the job.</maml:para><maml:para>-- Host: Returns the results to the command line (synchronously). If the command is being resumed or the results consist of a large number of objects, the response might be delayed.</maml:para><maml:para>The default value of the OutTarget parameter is Host. However, if the command that is being received in disconnected session was started in the current session, the default value of the OutTarget parameter is the form in which the command was started. If the command was started as a job, it is returned as a job by default. Otherwise, it is returned to the host program by default.</maml:para><maml:para>Typically, the host program displays returned objects at the command line without delay, but this behavior can vary.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">OutTarget</command:parameterValue><dev:type><maml:name>OutTarget</maml:name><maml:uri /></dev:type><dev:defaultValue>Host</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Port</maml:name><maml:description><maml:para>Specifies the network port on the remote computer that is used to reconnect to the session. To connect to a remote computer, the remote computer must be listening on the port that the connection uses. The default ports are 5985 (the WinRM port for HTTP) and 5986 (the WinRM port for HTTPS).</maml:para><maml:para>Before using an alternate port, you must configure the WinRM listener on the remote computer to listen at that port. To configure the listener, type the following two commands at the Windows PowerShell prompt:</maml:para><maml:para>Remove-Item -Path WSMan:\Localhost\listener\listener* -Recurse</maml:para><maml:para>New-Item -Path WSMan:\Localhost\listener -Transport http -Address * -Port &lt;port-number&gt;</maml:para><maml:para>Do not use the Port parameter unless you must. The port that is set in the command applies to all computers or sessions on which the command runs. An alternate port setting might prevent the command from running on all computers.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue><dev:type><maml:name>Int32</maml:name><maml:uri /></dev:type><dev:defaultValue>5985, 5986</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases=""><maml:name>Session</maml:name><maml:description><maml:para>Specifies the disconnected session. Enter a variable that contains the PSSession or a command that creates or gets the PSSession, such as a Get-PSSession command.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSSession</command:parameterValue><dev:type><maml:name>PSSession</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>UseSSL</maml:name><maml:description><maml:para>Uses the Secure Sockets Layer (SSL) protocol to connect to the disconnected session. By default, SSL is not used.</maml:para><maml:para>WS-Management encrypts all Windows PowerShell content transmitted over the network. UseSSL is an additional protection that sends the data across an HTTPS connection instead of an HTTP connection.</maml:para><maml:para>If you use this parameter, but SSL is not available on the port used for the command, the command fails.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>AllowRedirection</maml:name><maml:description><maml:para>Allows redirection of this connection to an alternate Uniform Resource Identifier (URI).</maml:para><maml:para>When you use the ConnectionURI parameter, the remote destination can return an instruction to redirect to a different URI. By default, Windows PowerShell does not redirect connections, but you can use this parameter to allow it to redirect the connection.</maml:para><maml:para>You can also limit the number of times the connection is redirected by changing the MaximumConnectionRedirectionCount session option value. Use the MaximumRedirection parameter of the New-PSSessionOption cmdlet or set the MaximumConnectionRedirectionCount property of the $PSSessionOption preference variable. The default value is 5.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>ApplicationName</maml:name><maml:description><maml:para>Connects only to sessions that use the specified application.</maml:para><maml:para>Enter the application name segment of the connection URI. For example, in the following connection URI, the application name is WSMan: http://localhost:5985/WSMAN. The application name of a session is stored in the Runspace.ConnectionInfo.AppName property of the session.</maml:para><maml:para>The value of this parameter is used to select and filter sessions. It does not change the application that the session uses.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>ConfigurationName</maml:name><maml:description><maml:para>Connects only to sessions that use the specified session configuration.</maml:para><maml:para>Enter a configuration name or the fully qualified resource URI for a session configuration. If you specify only the configuration name, the following schema URI is prepended: http://schemas.microsoft.com/powershell. The configuration name of a session is stored in the ConfigurationName property of the session.</maml:para><maml:para>The value of this parameter is used to select and filter sessions. It does not change the session configuration that the session uses.</maml:para><maml:para>For more information about session configurations, see about_Session_Configurations .</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="URI,CU"><maml:name>ConnectionUri</maml:name><maml:description><maml:para>Specifies a Uniform Resource Identifier (URI) that defines the connection endpoint that is used to reconnect to the disconnected session. </maml:para><maml:para>The URI must be fully qualified. The format of this string is as follows:</maml:para><maml:para></maml:para><maml:para>&lt;Transport&gt;://&lt;ComputerName&gt;:&lt;Port&gt;/&lt;ApplicationName&gt;</maml:para><maml:para></maml:para><maml:para>The default value is as follows:</maml:para><maml:para></maml:para><maml:para>http://localhost:5985/WSMAN</maml:para><maml:para>If you do not specify a connection URI, you can use the UseSSL, ComputerName, Port, and ApplicationName parameters to specify the connection URI values.</maml:para><maml:para>Valid values for the Transport segment of the URI are HTTP and HTTPS. If you specify a connection URI with a Transport segment, but do not specify a port, the session is created with standards ports: 80 for HTTP and 443 for HTTPS. To use the default ports for Windows PowerShell remoting, specify port 5985 for HTTP or 5986 for HTTPS.</maml:para><maml:para>If the destination computer redirects the connection to a different URI, Windows PowerShell prevents the redirection unless you use the AllowRedirection parameter in the command.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Uri</command:parameterValue><dev:type><maml:name>Uri</maml:name><maml:uri /></dev:type><dev:defaultValue>http://localhost:5985/WSMAN</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SessionOption</maml:name><maml:description><maml:para>Sets advanced options for the session. Enter a SessionOption object, such as one that you create by using the New-PSSessionOption cmdlet, or a hash table in which the keys are session option names and the values are session option values.</maml:para><maml:para>The default values for the options are determined by the value of the $PSSessionOption preference variable, if it is set. Otherwise, the default values are established by options set in the session configuration.</maml:para><maml:para>The session option values take precedence over default values for sessions set in the $PSSessionOption preference variable and in the session configuration. However, they do not take precedence over maximum values, quotas or limits set in the session configuration. </maml:para><maml:para>For a description of the session options, including the default values, see New-PSSessionOption. For information about the $PSSessionOption preference variable, see about_Preference_Variables (http://go.microsoft.com/fwlink/?LinkID=113248). For more information about session configurations, see about_Session_Configurations (http://go.microsoft.com/fwlink/?LinkID=145152).</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSSessionOption</command:parameterValue><dev:type><maml:name>PSSessionOption</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>false</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>false</dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name>System.Management.Automation.Runspaces.PSSession</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You can pipe session objects, such as those returned by the Get-PSSession cmdlet to Receive-PSSession.</maml:para></maml:description></command:inputType><command:inputType><dev:type><maml:name>System.Int32</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You can pipe session IDs to Receive-PSSession.</maml:para></maml:description></command:inputType><command:inputType><dev:type><maml:name>System.Guid</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You can pipe the instance IDs of sessions to Receive-PSSession.</maml:para></maml:description></command:inputType><command:inputType><dev:type><maml:name>System.String</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You can pipe session names to Receive-PSSession.</maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name>System.Management.Automation.Job or PSObject</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>Receive-PSSession gets the results of commands that ran in the disconnected session, if any. If the value or default value of the OutTarget parameter is Job, Receive-PSSession returns a job object. Otherwise, it returns objects that represent that command results.</maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><maml:alertSet><maml:title /><maml:alert><maml:para>Receive-PSSession gets results only from sessions that were disconnected. Only sessions that are connected to (terminate at) computers running Windows PowerShell 3.0 or later can be disconnected and reconnected.</maml:para></maml:alert><maml:alert><maml:para>If the commands that were running in the disconnected session did not generate results or if the results were already returned to another session, Receive-PSSession does not generate any output.</maml:para></maml:alert><maml:alert><maml:para>The output buffering mode of a session determines how commands in the session manage output when the session is disconnected. When the value of the OutputBufferingMode option of the session is Drop and the output buffer is full, the command begins to delete output. Receive-PSSession cannot recover this output. For more information about the output buffering mode option, see the help topics for the New-PSSessionOption and New-PSTransportOption cmdlets.</maml:para></maml:alert><maml:alert><maml:para>You cannot change the idle timeout value of a PSSession when you connect to the PSSession or receive results. The SessionOption parameter of Receive-PSSession takes a SessionOption object that has an IdleTimeout value. However, the IdleTimeout value of the SessionOption object and the IdleTimeout value of the $PSSessionOption variable are ignored when connecting to a PSSession or receiving results.</maml:para><maml:para>You can set and change the idle timeout of a PSSession when you create the PSSession (by using the New-PSSession or Invoke-Command cmdlets) and when you disconnect from the PSSession.</maml:para><maml:para>The IdleTimeout property of a PSSession is critical to disconnected sessions, because it determines how long a disconnected session is maintained on the remote computer. Disconnected sessions are considered to be idle from the moment that they are disconnected, even if commands are running in the disconnected session.</maml:para></maml:alert><maml:alert><maml:para>If you start a start a job in a remote session by using the AsJob parameter of the Invoke-Command cmdlet, the job object is created in the current session, even though the job runs in the remote session. If you disconnect the remote session, the job object in the current session is now disconnected from the job. The job object still contains any results that were returned to it, but it does not receive new results from the job in the disconnected session.</maml:para><maml:para>If a different client connects to the session that contains the running job, the results that were delivered to the original job object in the original session are not available in the newly connected session. Only results that were not delivered to the original job object are available in the reconnected session.</maml:para><maml:para>Similarly, if you start a script in a session and then disconnect from the session, any results that the script delivers to the session before disconnecting are not available to another client that connects to the session.</maml:para><maml:para>To prevent data loss in sessions that you intend to disconnect, use the InDisconnectedSession parameter of the Invoke-Command cmdlet. Because this parameter prevents results from being returned to the current session, all results are available when the session is reconnected.</maml:para><maml:para>You can also prevent data loss by using the Invoke-Command cmdlet to run a Start-Job command in the remote session. In this case, the job object is created in the remote session. You cannot use the Receive-PSSession cmdlet to get the job results. Instead, use the Connect-PSSession cmdlet to connect to the session and then use the Invoke-Command cmdlet to run a Receive-Job command in the session.</maml:para></maml:alert><maml:alert><maml:para>When a session that contains a running job is disconnected and then reconnected, the original job object is reused only if the job is disconnected and reconnected to the same session, and the command to reconnect does not specify a new job name. If the session is reconnected to a different client session or a new job name is specified, Windows PowerShell creates a new job object for the new session.</maml:para></maml:alert><maml:alert><maml:para>When you disconnect a PSSession, the session state is Disconnected and the availability is None. </maml:para><maml:para>The value of the State property is relative to the current session. Therefore, a value of Disconnected means that the PSSession is not connected to the current session. However, it does not mean that the PSSession is disconnected from all sessions. It might be connected to a different session. To determine whether you can connect or reconnect to the session, use the Availability property.</maml:para><maml:para>An Availability value of None indicates that you can connect to the session. A value of Busy indicates that you cannot connect to the PSSession because it is connected to another session.</maml:para><maml:para>For more information about the values of the State property of sessions, see "RunspaceState Enumeration" in MSDN at <maml:navigationLink><maml:linkText>http://msdn.microsoft.com/en-us/library/windows/desktop/system.management.automation.runspaces.runspacestate(v=VS.85).aspx</maml:linkText><maml:uri></maml:uri></maml:navigationLink>.</maml:para><maml:para>For more information about the values of the Availability property of sessions, see RunspaceAvailability Enumeration at <maml:navigationLink><maml:linkText>http://msdn.microsoft.com/en-us/library/windows/desktop/system.management.automation.runspaces.runspaceavailability(v=vs.85).aspx</maml:linkText><maml:uri></maml:uri></maml:navigationLink>.</maml:para></maml:alert></maml:alertSet><command:examples><command:example><maml:title>Example 1</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Receive-PSSession -ComputerName Server01 -Name ITTask
</dev:code><dev:remarks><maml:para>This command uses the Receive-PSSession cmdlet to connect to the ITTask session on the Server01 computer and get the results of commands that were running in the session.</maml:para><maml:para>Because the command does not use the OutTarget parameter, the results appear at the command line.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>Example 2</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-PSSession -ComputerName Server01, Server02 | Receive-PSSession
</dev:code><dev:remarks><maml:para>This command gets the results of all commands running in all disconnected sessions on the Server01 and Server02 computers.</maml:para><maml:para>If any session was not disconnected or is not running commands, Receive-PSSession does not connect to the session and does not return any output or errors.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>Example 3</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Receive-PSSession -ComputerName Server01 -Name ITTask -OutTarget Job -JobName ITTaskJob01 -Credential Domain01\Admin01
Id Name State HasMoreData Location
-- ---- ----- ----------- --------
16 ITTaskJob01 Running True Server01
</dev:code><dev:remarks><maml:para>This command uses the Receive-PSSession cmdlet to get the results of a script that was running in the ITTask session on the Server01 computer.</maml:para><maml:para>The command uses the ComputerName and Name parameters to identify the disconnected session. It uses the OutTarget parameter with a value of Job to direct Receive-PSSession to return the results as a job and the JobName parameter to specify a name for the job in the reconnected session.</maml:para><maml:para>The command uses the Credential parameter to run the Receive-PSSession command with the permissions of a domain administrator.</maml:para><maml:para>The output shows that Receive-PSSession returned the results as a job in the current session. To get the job results, use a Receive-Job command</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>Example 4</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>The first command uses the New-PSSession cmdlet to create a session on the Server01 computer. The command saves the session in the $s variable.The second command gets the session in the $s variable. Notice that the State is Opened and the Availability is Available. These values indicate that you are connected to the session and can run commands in the session.
PS C:\&gt;$s = New-PSSession -ComputerName Server01 -Name AD -ConfigurationName ADEndpoint
PS C:\&gt;$s
 
Id Name ComputerName State ConfigurationName Availability
 -- ---- ------------ ----- ----------------- ------------
  8 AD Server01 Opened ADEndpoint Available
 
The third command uses the Invoke-Command cmdlet to run a script in the session in the $s variable.The script begins to run and return data, but a network outage occurs that interrupts the session. The user has to exit the session and restart the local computer.
PS C:\&gt;Invoke-Command -Session $s -FilePath \\Server12\Scripts\SharedScripts\New-ADResolve.ps1
 Running "New-ADResolve.ps1" ….exit
 
# Network outage
# Restart local computer
# Network access is not re-established within 4 minutes
 
When the computer restarts, the user starts Windows PowerShell and runs a Get-PSSession command to get sessions on the Server01 computer. The output shows that the AD session still exists on the Server01 computer. The State indicates that it is disconnected and the Availability value, None, indicates that it is not connected to any client sessions.
PS C:\&gt;Get-PSSession -ComputerName Server01
 
 Id Name ComputerName State ConfigurationName Availability
 -- ---- ------------ ----- ----------------- ------------
  1 Backup Server01 Disconnected Microsoft.PowerShell None
  8 AD Server01 Disconnected ADEndpoint None
 
 
The fifth command uses the Receive-PSSession cmdlet to reconnect to the AD session and get the results of the script that ran in the session. The command uses the OutTarget parameter to request the results in a job named "ADJob".The command returns a job object. The output indicates that the script is still running.
PS C:\&gt;Receive-PSSession -ComputerName Server01 -Name AD -OutTarget Job -JobName AD
Job Id Name State HasMoreData Location
-- ---- ----- ----------- --------
16 ADJob Running True Server01
 
The sixth command uses the Get-PSSession cmdlet to check the job state. The output confirms that, in addition to resuming script execution and getting the script results, the Receive-PSSession cmdlet reconnected to the AD session, which is now open and available for commands.
PS C:\&gt;Get-PSSession -ComputerName Server01
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
 1 Backup Server01 Disconnected Microsoft.PowerShell Busy
 8 AD Server01 Opened ADEndpoint Available
 
</dev:code><dev:remarks><maml:para>This example uses the Receive-PSSession cmdlet to get the results of a job after a network outage disrupts a session connection. Windows PowerShell automatically attempts to reconnect the session once each second for the next four minutes and abandons the effort only if all attempts in the four-minute interval fail.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>Example 5</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>The first command uses the Invoke-Command cmdlet to run a script on the three remote computers. Because the scripts gathers and summarize data from multiple databases, it often takes the script an extended time to complete. The command uses the InDisconnectedSession parameter, which starts the scripts and then immediately disconnects the sessions.The command uses the SessionOption parameter to extend the IdleTimeout value of the disconnected session. Disconnected sessions are considered to be idle from the moment they are disconnected, so it's important to set the idle timeout for a long enough period that the commands can complete and you can reconnect to the session, if necessary. You can set the IdleTimeout only when you create the PSSession and change it only when you disconnect from it. You cannot change the IdleTimeout value when connecting to a PSSession or receiving its results.After running the command, the user exits Windows PowerShell and closes the computer .
PS C:\&gt;Invoke-Command -InDisconnectedSession -ComputerName Server01, Server02, Server30 -FilePath \\Server12\Scripts\SharedScripts\Get-BugStatus.ps1 -Name BugStatus -SessionOption @{IdleTimeout = 86400000} -ConfigurationName ITTasks# Exit
 
# Start Windows PowerShell on a different computer.
 
On the next day, the user resumes Windows and starts Windows PowerShell. The second command uses the Get-PSSession cmdlet to get the sessions in which the scripts were running. The command identifies the sessions by the computer name, session name, and the name of the session configuration and saves the sessions in the $s variable.The third command displays the value of the $s variable. The output shows that the sessions are disconnected, but not busy, as expected.
PS C:\&gt;$s = Get-PSSession -ComputerName Server01, Server02, Server30 -Name BugStatus
 PS C:\&gt;$s
Id Name ComputerName State ConfigurationName Availability
 -- ---- ------------ ----- ----------------- ------------
  1 ITTask Server01 Disconnected ITTasks None
  8 ITTask Server02 Disconnected ITTasks None
  2 ITTask Server30 Disconnected ITTasks None
 
 
The fourth command uses the Receive-PSSession cmdlet to connect to the sessions in the $s variable and get their results. The command saves the results in the $Results variable..Another display of the $s variable shows that the sessions are connected and available for commands.
PS C:\&gt;$Results = Receive-PSSession -Session $s
PS C:\&gt;$s
 Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
 1 ITTask Server01 Opened ITTasks Available
 8 ITTask Server02 Opened ITTasks Available
 2 ITTask Server30 Opened ITTasks Available
 
 
The fifth command displays the script results in the $Results variable. If any of the results are unexpected, the user can run commands in the sessions to investigate.
PS C:\&gt;$Results
Bug Report - Domain 01
----------------------
ComputerName BugCount LastUpdated
-------------- --------- ------------
Server01 121 Friday, December 30, 2011 5:03:34 PM…
</dev:code><dev:remarks><maml:para>This example uses the Receive-PSSession cmdlet to reconnect to sessions that were intentionally disconnected and get the results of jobs that were running in the sessions.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>Example 5</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>The first command uses the New-PSSession cmdlet to create the Test session on the Server01 computer. The command saves the session in the $s variable.
PS C:\&gt;$s = New-PSSession -ComputerName Server01 -Name Test
 
The second command uses the Invoke-Command cmdlet to run a command in the session in the $s variable. The command uses the AsJob parameter to run the command as a job and to create the job object in the current session. The command returns a job object, which is saved in the $j variable.The third command displays the job object in the $j variable.
PS C:\&gt;$j = Invoke-Command -Session $s { 1..1500 | Foreach-Object {"Return $_"; sleep 30}} -AsJob
 
PS C:\&gt;$j
Id Name State HasMoreData Location
-- ---- ----- ----------- --------
16 Job1 Running True Server01
 
The fourth command disconnects the session in the $s variable.
PS C:\&gt;$s | Disconnect-PSSession
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
1 Test Server01 Disconnected Microsoft.PowerShell None
 
The fifth command shows the effect of disconnecting on the job object in the $j variable. The job state is now Disconnected.
PS C:\&gt;$j
Id Name State HasMoreData Location
-- ---- ----- ----------- --------
16 Job1 Disconnected True Server01
 
The sixth command runs a Receive-Job command on the job in the $j variable. The output shows that the job began to return output before the session (and the job) were disconnected.
PS C:\&gt;Receive-Job $j -Keep
Return 1Return 2
 
The seventh command is run in the same client session. The command uses the Connect-PSSession cmdlet to reconnect to the Test session on the Server01 computer and saves the session in the $s2 variable.
PS C:\&gt;$s2 = Connect-PSSession -ComputerName Server01 -Name Test
 
The eighth command uses the Receive-PSSession cmdlet to get the results of the job that was running in the session. Because the command is run in the same session, Receive-PSSession returns the results as a job by default and reuses the same job object. The command saves the job in the $j2 variable.The ninth command uses the Receive-Job cmdlet to get the results of the job in the $j variable.
PS C:\&gt;$j2 = Receive-PSSession -ComputerName Server01 -Name Test
 
PS C:\&gt;Receive-Job $j
Return 3
Return 4…
</dev:code><dev:remarks><maml:para>This example shows what happens to a job that is running in a disconnected session.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=289604</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Connect-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Enter-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Exit-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Get-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Invoke-Command</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>New-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>New-PSSessionOption</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Receive-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Remove-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_PSSessions</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Remote</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Remote_Disconnected_Sessions</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Session_Configurations</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>Register-PSSessionConfiguration</command:name><maml:description><maml:para>Creates and registers a new session configuration.</maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>Register</command:verb><command:noun>PSSessionConfiguration</command:noun><dev:version /></command:details><maml:description><maml:para>The Register-PSSessionConfiguration cmdlet creates and registers a new session configuration on the local computer. This is an advanced cmdlet that is designed to be used by system administrators to create custom sessions for remote users.</maml:para><maml:para>Every Windows PowerShell session (PSSession) uses a session configuration, also known as an "endpoint." When users create a session that connects to the computer, they can select a session configuration or use the default session configuration that is registered when you enable Windows PowerShell remoting. Users can also set the $PSSessionConfigurationName preference variable, which specifies a default configuration for remote sessions created in the current session.</maml:para><maml:para>The session configuration defines the environment for the remote session. The configuration can determine which commands and language elements are available in the session, and it can include settings that protect the computer, such as those that limit the amount of data that the session can receive remotely in a single object or command. The security descriptor (ACL) of the session configuration determines which users have permission to use the session configuration.</maml:para><maml:para>You can define the elements of configuration by using an assembly that implements a new configuration class and by using a script that runs in the session. Beginning in Windows PowerShell 3.0, you can also use a session configuration file to define the session configuration.</maml:para><maml:para>For information about session configurations, see about_Session_Configurations (http://go.microsoft.com/fwlink/?LinkID=145152). For information about session configuration files, see about_Session_Configuration_Files (http://go.microsoft.com/fwlink/?LinkID=236023).</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>Register-PSSessionConfiguration</maml:name><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Specifies a name for the session configuration. This parameter is required.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>AccessMode</maml:name><maml:description><maml:para>Enables and disables the session configuration and determines whether it can be used for remote or local sessions on the computer. Remote is the default.</maml:para><maml:para>Valid values are:</maml:para><maml:para></maml:para><maml:para>-- Disabled: Disables the session configuration. It cannot be used for remote or local access to the computer.</maml:para><maml:para></maml:para><maml:para>-- Local: Allows users of the local computer to use the session configuration to create a local "loopback" session on the same computer, but denies access to remote users.</maml:para><maml:para></maml:para><maml:para>
                         
-- Remote: Allows local and remote users to use the session configuration to create sessions and run commands on this computer.</maml:para><maml:para>The value of this parameter can be overridden at a later time by the actions of other cmdlets. For example, the Enable-PSRemoting cmdlet allows remote access to all session configurations, the Enable-PSSessionConfiguration cmdlet enables session configurations, and the Disable-PSRemoting cmdlet prevents remote access to all session configurations.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSSessionConfigurationAccessMode</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ApplicationBase</maml:name><maml:description><maml:para>Specifies the path to the assembly file (*.dll) that is specified in the value of the AssemblyName parameter. Use this parameter when the value of the AssemblyName parameter does not include a path. The default is the current directory.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Force</maml:name><maml:description><maml:para>Suppresses all users prompts and restarts the WinRM service without prompting. Restarting the service makes the configuration change effective.</maml:para><maml:para>To prevent a restart and suppress the restart prompt, use the NoServiceRestart parameter.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>MaximumReceivedDataSizePerCommandMB</maml:name><maml:description><maml:para>Limits the amount of data that can be sent to this computer in any single remote command. Enter the data size in megabytes (MB). The default is 50 MB.</maml:para><maml:para>If a data size limit is defined in the configuration type that is specified in the ConfigurationTypeName parameter, the limit in the configuration type is used and the value of this parameter is ignored.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Double</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>MaximumReceivedObjectSizeMB</maml:name><maml:description><maml:para>Limits the amount of data that can be sent to this computer in any single object. Enter the data size in megabytes (MB). The default is 10 MB.</maml:para><maml:para>If an object size limit is defined in the configuration type that is specified in the ConfigurationTypeName parameter, the limit in the configuration type is used and the value of this parameter is ignored.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Double</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ModulesToImport</maml:name><maml:description><maml:para>Specifies the modules and snap-ins that are automatically imported into sessions that use the session configuration.</maml:para><maml:para>By default, only the Microsoft.PowerShell.Core snap-in is imported into sessions, but unless the cmdlets are excluded, users can use the Import-Module and Add-PSSnapin cmdlets to add modules and snap-ins to the session.</maml:para><maml:para>The modules specified in this parameter value are imported in additions to modules that are specified by the SessionType parameter and those listed in the ModulesToImport key in the session configuration file (New-PSSessionConfigurationFile). However, settings in the session configuration file can hide the commands exported by modules or prevent users from using them.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>NoServiceRestart</maml:name><maml:description><maml:para>Does not restart the WinRM service, and suppresses the prompt to restart the service.</maml:para><maml:para>By default, when you enter a Register-PSSessionConfiguration command, you are prompted to restart the WinRM service to make the new session configuration effective. Until the WinRM service is restarted, the new session configuration is not effective.</maml:para><maml:para>To restart the WinRM service without prompting, use the Force parameter. To restart the WinRM service manually, use the Restart-Service cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="PA"><maml:name>ProcessorArchitecture</maml:name><maml:description><maml:para>Determines whether a 32-bit or 64-bit version of the Windows PowerShell process is started in sessions that use this session configuration. Valid values are x86 (32-bit) and AMD64 (64-bit). The default value is determined by the processor architecture of the computer that hosts the session configuration.</maml:para><maml:para>You can use this parameter to create a 32-bit session on a 64-bit computer. Attempts to create a 64-bit process on a 32-bit computer fail.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="PowerShellVersion"><maml:name>PSVersion</maml:name><maml:description><maml:para>Specifies the version of Windows PowerShell in sessions that use this session configuration.</maml:para><maml:para> The value of this parameter takes precedence over the value of the PowerShellVersion key in the session configuration file.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Version</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>RunAsCredential</maml:name><maml:description><maml:para>Runs commands in the session with the permissions of the specified user. By default, commands run with the permissions of the current user.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SecurityDescriptorSddl</maml:name><maml:description><maml:para>Specifies a Security Descriptor Definition Language (SDDL) string for the configuration.</maml:para><maml:para>This string determines the permissions that are required to use the new session configuration. To use a session configuration in a session, users must have at least "Execute(Invoke)" permission for the configuration.</maml:para><maml:para>If the security descriptor is complex, consider using the ShowSecurityDescriptorUI parameter instead of this parameter. You cannot use both parameters in the same command.</maml:para><maml:para>If you omit this parameter, the root SDDL for the WinRM service is used for this configuration. To view or change the root SDDL, use the WSMan provider. For example "get-item wsman:\localhost\service\rootSDDL". For more information about the WSMan provider, type "get-help wsman".</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SessionType</maml:name><maml:description><maml:para>Specifies the type of session that is created by using the session configuration. The default value is Default. Valid values are:</maml:para><maml:para>-- Empty: No modules or snap-ins are added to session by default. Use the parameters of this cmdlet to add modules, functions, scripts, and other features to the session.</maml:para><maml:para>-- Default: Adds the Microsoft.PowerShell.Core snap-in to the session. This module includes the Import-Module and Add-PSSnapin cmdlets that users can use to import other modules and snap-ins unless you explicitly prohibit the use of the cmdlets.</maml:para><maml:para>-- RestrictedRemoteServer: Includes only the following cmdlets: Exit-PSSession,Get-Command, Get-FormatData, Get-Help, Measure-Object, Out-Default, and Select-Object. Use a script or assembly, or the keys in the session configuration file, to add modules, functions, scripts, and other features to the session.</maml:para><maml:para>The value of this parameter takes precedence over the value of the SessionType key in the session configuration file.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSSessionType</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SessionTypeOption</maml:name><maml:description><maml:para>Sets type-specific options for the session configuration. Enter a session type options object, such as the PSWorkflowExecutionOption object that the New-PSWorkflowExecutionOption cmdlet returns.</maml:para><maml:para>The options of sessions that use the session configuration are determined by the values of session options and the session configuration options. Unless specified, options set in the session, such as by using the New-PSSessionOption cmdlet, take precedence over options set in the session configuration. However, session option values cannot exceed maximum values set in the session configuration.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSSessionTypeOption</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ShowSecurityDescriptorUI</maml:name><maml:description><maml:para>Displays a property sheet that helps you to create the SDDL for the session configuration. The property sheet appears after you enter the Register-PSSessionConfiguration command and then restart the WinRM service.</maml:para><maml:para>When setting the permissions for the configuration, remember that users must have at least "Execute(Invoke)" permission to use the session configuration in a session.</maml:para><maml:para>You cannot use the SecurityDescriptorSDDL parameter and this parameter in the same command.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>StartupScript</maml:name><maml:description><maml:para>Specifies the fully qualified path to a Windows PowerShell script. The specified script runs in the new session that uses the session configuration.</maml:para><maml:para>You can use the script to further configure the session. If the script generates an error (even a non-terminating error), the session is not created and the user's New-PSSession command fails.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ThreadApartmentState</maml:name><maml:description><maml:para>Determines the apartment state of the threads in the session. Valid values are STA, MTA, and Unknown. Unknown is the default.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">ApartmentState</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ThreadOptions</maml:name><maml:description><maml:para>Defines how threads are created and used when a command is executed in the session. Valid values are Default, ReuseThread, UseCurrentThread, and UseNewThread. UseCurrentThread is the default.</maml:para><maml:para>For more information, see "PSThreadOptions Enumeration" in MSDN.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSThreadOptions</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>TransportOption</maml:name><maml:description><maml:para></maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSTransportOption</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>UseSharedProcess</maml:name><maml:description><maml:para>Use only one process to host all sessions that are started by the same user and use the same session configuration. By default, each session is hosted in its own process.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Register-PSSessionConfiguration</maml:name><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Specifies a name for the session configuration. This parameter is required.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="2" aliases=""><maml:name>AssemblyName</maml:name><maml:description><maml:para>Specifies the name of an assembly file (*.dll) in which the configuration type is defined. You can specify the path to the .dll in this parameter or in the value of the ApplicationBase parameter.</maml:para><maml:para>This parameter is required when the ConfigurationTypeName parameter is specified.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="3" aliases=""><maml:name>ConfigurationTypeName</maml:name><maml:description><maml:para>Specifies the fully qualified name of the Microsoft .NET Framework type that is used for this configuration. The type that you specify must implement the System.Management.Automation.Remoting.PSSessionConfiguration class.</maml:para><maml:para>To specify the assembly file (.dll) that implements the configuration type, use the AssemblyName and ApplicationBase parameters.</maml:para><maml:para>Creating a type allows you to control more aspects of the session configuration, such as exposing or hiding certain parameters of cmdlets, or setting data size and object size limits that users cannot override.</maml:para><maml:para>If you omit this parameter, the DefaultRemotePowerShellConfiguration class is used for the session configuration.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>AccessMode</maml:name><maml:description><maml:para>Enables and disables the session configuration and determines whether it can be used for remote or local sessions on the computer. Remote is the default.</maml:para><maml:para>Valid values are:</maml:para><maml:para></maml:para><maml:para>-- Disabled: Disables the session configuration. It cannot be used for remote or local access to the computer.</maml:para><maml:para></maml:para><maml:para>-- Local: Allows users of the local computer to use the session configuration to create a local "loopback" session on the same computer, but denies access to remote users.</maml:para><maml:para></maml:para><maml:para>
                         
-- Remote: Allows local and remote users to use the session configuration to create sessions and run commands on this computer.</maml:para><maml:para>The value of this parameter can be overridden at a later time by the actions of other cmdlets. For example, the Enable-PSRemoting cmdlet allows remote access to all session configurations, the Enable-PSSessionConfiguration cmdlet enables session configurations, and the Disable-PSRemoting cmdlet prevents remote access to all session configurations.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSSessionConfigurationAccessMode</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ApplicationBase</maml:name><maml:description><maml:para>Specifies the path to the assembly file (*.dll) that is specified in the value of the AssemblyName parameter. Use this parameter when the value of the AssemblyName parameter does not include a path. The default is the current directory.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Force</maml:name><maml:description><maml:para>Suppresses all users prompts and restarts the WinRM service without prompting. Restarting the service makes the configuration change effective.</maml:para><maml:para>To prevent a restart and suppress the restart prompt, use the NoServiceRestart parameter.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>MaximumReceivedDataSizePerCommandMB</maml:name><maml:description><maml:para>Limits the amount of data that can be sent to this computer in any single remote command. Enter the data size in megabytes (MB). The default is 50 MB.</maml:para><maml:para>If a data size limit is defined in the configuration type that is specified in the ConfigurationTypeName parameter, the limit in the configuration type is used and the value of this parameter is ignored.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Double</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>MaximumReceivedObjectSizeMB</maml:name><maml:description><maml:para>Limits the amount of data that can be sent to this computer in any single object. Enter the data size in megabytes (MB). The default is 10 MB.</maml:para><maml:para>If an object size limit is defined in the configuration type that is specified in the ConfigurationTypeName parameter, the limit in the configuration type is used and the value of this parameter is ignored.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Double</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ModulesToImport</maml:name><maml:description><maml:para>Specifies the modules and snap-ins that are automatically imported into sessions that use the session configuration.</maml:para><maml:para>By default, only the Microsoft.PowerShell.Core snap-in is imported into sessions, but unless the cmdlets are excluded, users can use the Import-Module and Add-PSSnapin cmdlets to add modules and snap-ins to the session.</maml:para><maml:para>The modules specified in this parameter value are imported in additions to modules that are specified by the SessionType parameter and those listed in the ModulesToImport key in the session configuration file (New-PSSessionConfigurationFile). However, settings in the session configuration file can hide the commands exported by modules or prevent users from using them.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>NoServiceRestart</maml:name><maml:description><maml:para>Does not restart the WinRM service, and suppresses the prompt to restart the service.</maml:para><maml:para>By default, when you enter a Register-PSSessionConfiguration command, you are prompted to restart the WinRM service to make the new session configuration effective. Until the WinRM service is restarted, the new session configuration is not effective.</maml:para><maml:para>To restart the WinRM service without prompting, use the Force parameter. To restart the WinRM service manually, use the Restart-Service cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="PA"><maml:name>ProcessorArchitecture</maml:name><maml:description><maml:para>Determines whether a 32-bit or 64-bit version of the Windows PowerShell process is started in sessions that use this session configuration. Valid values are x86 (32-bit) and AMD64 (64-bit). The default value is determined by the processor architecture of the computer that hosts the session configuration.</maml:para><maml:para>You can use this parameter to create a 32-bit session on a 64-bit computer. Attempts to create a 64-bit process on a 32-bit computer fail.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="PowerShellVersion"><maml:name>PSVersion</maml:name><maml:description><maml:para>Specifies the version of Windows PowerShell in sessions that use this session configuration.</maml:para><maml:para> The value of this parameter takes precedence over the value of the PowerShellVersion key in the session configuration file.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Version</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>RunAsCredential</maml:name><maml:description><maml:para>Runs commands in the session with the permissions of the specified user. By default, commands run with the permissions of the current user.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SecurityDescriptorSddl</maml:name><maml:description><maml:para>Specifies a Security Descriptor Definition Language (SDDL) string for the configuration.</maml:para><maml:para>This string determines the permissions that are required to use the new session configuration. To use a session configuration in a session, users must have at least "Execute(Invoke)" permission for the configuration.</maml:para><maml:para>If the security descriptor is complex, consider using the ShowSecurityDescriptorUI parameter instead of this parameter. You cannot use both parameters in the same command.</maml:para><maml:para>If you omit this parameter, the root SDDL for the WinRM service is used for this configuration. To view or change the root SDDL, use the WSMan provider. For example "get-item wsman:\localhost\service\rootSDDL". For more information about the WSMan provider, type "get-help wsman".</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SessionTypeOption</maml:name><maml:description><maml:para>Sets type-specific options for the session configuration. Enter a session type options object, such as the PSWorkflowExecutionOption object that the New-PSWorkflowExecutionOption cmdlet returns.</maml:para><maml:para>The options of sessions that use the session configuration are determined by the values of session options and the session configuration options. Unless specified, options set in the session, such as by using the New-PSSessionOption cmdlet, take precedence over options set in the session configuration. However, session option values cannot exceed maximum values set in the session configuration.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSSessionTypeOption</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ShowSecurityDescriptorUI</maml:name><maml:description><maml:para>Displays a property sheet that helps you to create the SDDL for the session configuration. The property sheet appears after you enter the Register-PSSessionConfiguration command and then restart the WinRM service.</maml:para><maml:para>When setting the permissions for the configuration, remember that users must have at least "Execute(Invoke)" permission to use the session configuration in a session.</maml:para><maml:para>You cannot use the SecurityDescriptorSDDL parameter and this parameter in the same command.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>StartupScript</maml:name><maml:description><maml:para>Specifies the fully qualified path to a Windows PowerShell script. The specified script runs in the new session that uses the session configuration.</maml:para><maml:para>You can use the script to further configure the session. If the script generates an error (even a non-terminating error), the session is not created and the user's New-PSSession command fails.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ThreadApartmentState</maml:name><maml:description><maml:para>Determines the apartment state of the threads in the session. Valid values are STA, MTA, and Unknown. Unknown is the default.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">ApartmentState</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ThreadOptions</maml:name><maml:description><maml:para>Defines how threads are created and used when a command is executed in the session. Valid values are Default, ReuseThread, UseCurrentThread, and UseNewThread. UseCurrentThread is the default.</maml:para><maml:para>For more information, see "PSThreadOptions Enumeration" in MSDN.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSThreadOptions</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>TransportOption</maml:name><maml:description><maml:para></maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSTransportOption</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>UseSharedProcess</maml:name><maml:description><maml:para>Use only one process to host all sessions that are started by the same user and use the same session configuration. By default, each session is hosted in its own process.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Register-PSSessionConfiguration</maml:name><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Specifies a name for the session configuration. This parameter is required.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>AccessMode</maml:name><maml:description><maml:para>Enables and disables the session configuration and determines whether it can be used for remote or local sessions on the computer. Remote is the default.</maml:para><maml:para>Valid values are:</maml:para><maml:para></maml:para><maml:para>-- Disabled: Disables the session configuration. It cannot be used for remote or local access to the computer.</maml:para><maml:para></maml:para><maml:para>-- Local: Allows users of the local computer to use the session configuration to create a local "loopback" session on the same computer, but denies access to remote users.</maml:para><maml:para></maml:para><maml:para>
                         
-- Remote: Allows local and remote users to use the session configuration to create sessions and run commands on this computer.</maml:para><maml:para>The value of this parameter can be overridden at a later time by the actions of other cmdlets. For example, the Enable-PSRemoting cmdlet allows remote access to all session configurations, the Enable-PSSessionConfiguration cmdlet enables session configurations, and the Disable-PSRemoting cmdlet prevents remote access to all session configurations.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSSessionConfigurationAccessMode</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Force</maml:name><maml:description><maml:para>Suppresses all users prompts and restarts the WinRM service without prompting. Restarting the service makes the configuration change effective.</maml:para><maml:para>To prevent a restart and suppress the restart prompt, use the NoServiceRestart parameter.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>MaximumReceivedDataSizePerCommandMB</maml:name><maml:description><maml:para>Limits the amount of data that can be sent to this computer in any single remote command. Enter the data size in megabytes (MB). The default is 50 MB.</maml:para><maml:para>If a data size limit is defined in the configuration type that is specified in the ConfigurationTypeName parameter, the limit in the configuration type is used and the value of this parameter is ignored.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Double</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>MaximumReceivedObjectSizeMB</maml:name><maml:description><maml:para>Limits the amount of data that can be sent to this computer in any single object. Enter the data size in megabytes (MB). The default is 10 MB.</maml:para><maml:para>If an object size limit is defined in the configuration type that is specified in the ConfigurationTypeName parameter, the limit in the configuration type is used and the value of this parameter is ignored.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Double</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>NoServiceRestart</maml:name><maml:description><maml:para>Does not restart the WinRM service, and suppresses the prompt to restart the service.</maml:para><maml:para>By default, when you enter a Register-PSSessionConfiguration command, you are prompted to restart the WinRM service to make the new session configuration effective. Until the WinRM service is restarted, the new session configuration is not effective.</maml:para><maml:para>To restart the WinRM service without prompting, use the Force parameter. To restart the WinRM service manually, use the Restart-Service cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="PA"><maml:name>ProcessorArchitecture</maml:name><maml:description><maml:para>Determines whether a 32-bit or 64-bit version of the Windows PowerShell process is started in sessions that use this session configuration. Valid values are x86 (32-bit) and AMD64 (64-bit). The default value is determined by the processor architecture of the computer that hosts the session configuration.</maml:para><maml:para>You can use this parameter to create a 32-bit session on a 64-bit computer. Attempts to create a 64-bit process on a 32-bit computer fail.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>RunAsCredential</maml:name><maml:description><maml:para>Runs commands in the session with the permissions of the specified user. By default, commands run with the permissions of the current user.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SecurityDescriptorSddl</maml:name><maml:description><maml:para>Specifies a Security Descriptor Definition Language (SDDL) string for the configuration.</maml:para><maml:para>This string determines the permissions that are required to use the new session configuration. To use a session configuration in a session, users must have at least "Execute(Invoke)" permission for the configuration.</maml:para><maml:para>If the security descriptor is complex, consider using the ShowSecurityDescriptorUI parameter instead of this parameter. You cannot use both parameters in the same command.</maml:para><maml:para>If you omit this parameter, the root SDDL for the WinRM service is used for this configuration. To view or change the root SDDL, use the WSMan provider. For example "get-item wsman:\localhost\service\rootSDDL". For more information about the WSMan provider, type "get-help wsman".</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ShowSecurityDescriptorUI</maml:name><maml:description><maml:para>Displays a property sheet that helps you to create the SDDL for the session configuration. The property sheet appears after you enter the Register-PSSessionConfiguration command and then restart the WinRM service.</maml:para><maml:para>When setting the permissions for the configuration, remember that users must have at least "Execute(Invoke)" permission to use the session configuration in a session.</maml:para><maml:para>You cannot use the SecurityDescriptorSDDL parameter and this parameter in the same command.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>StartupScript</maml:name><maml:description><maml:para>Specifies the fully qualified path to a Windows PowerShell script. The specified script runs in the new session that uses the session configuration.</maml:para><maml:para>You can use the script to further configure the session. If the script generates an error (even a non-terminating error), the session is not created and the user's New-PSSession command fails.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ThreadApartmentState</maml:name><maml:description><maml:para>Determines the apartment state of the threads in the session. Valid values are STA, MTA, and Unknown. Unknown is the default.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">ApartmentState</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ThreadOptions</maml:name><maml:description><maml:para>Defines how threads are created and used when a command is executed in the session. Valid values are Default, ReuseThread, UseCurrentThread, and UseNewThread. UseCurrentThread is the default.</maml:para><maml:para>For more information, see "PSThreadOptions Enumeration" in MSDN.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSThreadOptions</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>TransportOption</maml:name><maml:description><maml:para></maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSTransportOption</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>UseSharedProcess</maml:name><maml:description><maml:para>Use only one process to host all sessions that are started by the same user and use the same session configuration. By default, each session is hosted in its own process.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Path</maml:name><maml:description><maml:para>Specifies the path and file name of a session configuration file (.pssc), such as one created by the New-PSSessionConfigurationFile cmdlet. If you omit the path, the default is the current directory.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>AccessMode</maml:name><maml:description><maml:para>Enables and disables the session configuration and determines whether it can be used for remote or local sessions on the computer. Remote is the default.</maml:para><maml:para>Valid values are:</maml:para><maml:para></maml:para><maml:para>-- Disabled: Disables the session configuration. It cannot be used for remote or local access to the computer.</maml:para><maml:para></maml:para><maml:para>-- Local: Allows users of the local computer to use the session configuration to create a local "loopback" session on the same computer, but denies access to remote users.</maml:para><maml:para></maml:para><maml:para>
                         
-- Remote: Allows local and remote users to use the session configuration to create sessions and run commands on this computer.</maml:para><maml:para>The value of this parameter can be overridden at a later time by the actions of other cmdlets. For example, the Enable-PSRemoting cmdlet allows remote access to all session configurations, the Enable-PSSessionConfiguration cmdlet enables session configurations, and the Disable-PSRemoting cmdlet prevents remote access to all session configurations.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSSessionConfigurationAccessMode</command:parameterValue><dev:type><maml:name>PSSessionConfigurationAccessMode</maml:name><maml:uri /></dev:type><dev:defaultValue>Remote</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ApplicationBase</maml:name><maml:description><maml:para>Specifies the path to the assembly file (*.dll) that is specified in the value of the AssemblyName parameter. Use this parameter when the value of the AssemblyName parameter does not include a path. The default is the current directory.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>Current directory</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="2" aliases=""><maml:name>AssemblyName</maml:name><maml:description><maml:para>Specifies the name of an assembly file (*.dll) in which the configuration type is defined. You can specify the path to the .dll in this parameter or in the value of the ApplicationBase parameter.</maml:para><maml:para>This parameter is required when the ConfigurationTypeName parameter is specified.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="3" aliases=""><maml:name>ConfigurationTypeName</maml:name><maml:description><maml:para>Specifies the fully qualified name of the Microsoft .NET Framework type that is used for this configuration. The type that you specify must implement the System.Management.Automation.Remoting.PSSessionConfiguration class.</maml:para><maml:para>To specify the assembly file (.dll) that implements the configuration type, use the AssemblyName and ApplicationBase parameters.</maml:para><maml:para>Creating a type allows you to control more aspects of the session configuration, such as exposing or hiding certain parameters of cmdlets, or setting data size and object size limits that users cannot override.</maml:para><maml:para>If you omit this parameter, the DefaultRemotePowerShellConfiguration class is used for the session configuration.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>System.Management.Automation.Remoting.PSSessionConfiguration </dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Force</maml:name><maml:description><maml:para>Suppresses all users prompts and restarts the WinRM service without prompting. Restarting the service makes the configuration change effective.</maml:para><maml:para>To prevent a restart and suppress the restart prompt, use the NoServiceRestart parameter.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>MaximumReceivedDataSizePerCommandMB</maml:name><maml:description><maml:para>Limits the amount of data that can be sent to this computer in any single remote command. Enter the data size in megabytes (MB). The default is 50 MB.</maml:para><maml:para>If a data size limit is defined in the configuration type that is specified in the ConfigurationTypeName parameter, the limit in the configuration type is used and the value of this parameter is ignored.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Double</command:parameterValue><dev:type><maml:name>Double</maml:name><maml:uri /></dev:type><dev:defaultValue>50</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>MaximumReceivedObjectSizeMB</maml:name><maml:description><maml:para>Limits the amount of data that can be sent to this computer in any single object. Enter the data size in megabytes (MB). The default is 10 MB.</maml:para><maml:para>If an object size limit is defined in the configuration type that is specified in the ConfigurationTypeName parameter, the limit in the configuration type is used and the value of this parameter is ignored.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Double</command:parameterValue><dev:type><maml:name>Double</maml:name><maml:uri /></dev:type><dev:defaultValue>10</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Specifies a name for the session configuration. This parameter is required.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>NoServiceRestart</maml:name><maml:description><maml:para>Does not restart the WinRM service, and suppresses the prompt to restart the service.</maml:para><maml:para>By default, when you enter a Register-PSSessionConfiguration command, you are prompted to restart the WinRM service to make the new session configuration effective. Until the WinRM service is restarted, the new session configuration is not effective.</maml:para><maml:para>To restart the WinRM service without prompting, use the Force parameter. To restart the WinRM service manually, use the Restart-Service cmdlet.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Path</maml:name><maml:description><maml:para>Specifies the path and file name of a session configuration file (.pssc), such as one created by the New-PSSessionConfigurationFile cmdlet. If you omit the path, the default is the current directory.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>Current directory</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="PA"><maml:name>ProcessorArchitecture</maml:name><maml:description><maml:para>Determines whether a 32-bit or 64-bit version of the Windows PowerShell process is started in sessions that use this session configuration. Valid values are x86 (32-bit) and AMD64 (64-bit). The default value is determined by the processor architecture of the computer that hosts the session configuration.</maml:para><maml:para>You can use this parameter to create a 32-bit session on a 64-bit computer. Attempts to create a 64-bit process on a 32-bit computer fail.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>The processor architecture of the host computer.</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="PowerShellVersion"><maml:name>PSVersion</maml:name><maml:description><maml:para>Specifies the version of Windows PowerShell in sessions that use this session configuration.</maml:para><maml:para> The value of this parameter takes precedence over the value of the PowerShellVersion key in the session configuration file.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Version</command:parameterValue><dev:type><maml:name>Version</maml:name><maml:uri /></dev:type><dev:defaultValue>3.0</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>RunAsCredential</maml:name><maml:description><maml:para>Runs commands in the session with the permissions of the specified user. By default, commands run with the permissions of the current user.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue><dev:type><maml:name>PSCredential</maml:name><maml:uri /></dev:type><dev:defaultValue>Current user</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SecurityDescriptorSddl</maml:name><maml:description><maml:para>Specifies a Security Descriptor Definition Language (SDDL) string for the configuration.</maml:para><maml:para>This string determines the permissions that are required to use the new session configuration. To use a session configuration in a session, users must have at least "Execute(Invoke)" permission for the configuration.</maml:para><maml:para>If the security descriptor is complex, consider using the ShowSecurityDescriptorUI parameter instead of this parameter. You cannot use both parameters in the same command.</maml:para><maml:para>If you omit this parameter, the root SDDL for the WinRM service is used for this configuration. To view or change the root SDDL, use the WSMan provider. For example "get-item wsman:\localhost\service\rootSDDL". For more information about the WSMan provider, type "get-help wsman".</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>The value of the root SDDL</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SessionType</maml:name><maml:description><maml:para>Specifies the type of session that is created by using the session configuration. The default value is Default. Valid values are:</maml:para><maml:para>-- Empty: No modules or snap-ins are added to session by default. Use the parameters of this cmdlet to add modules, functions, scripts, and other features to the session.</maml:para><maml:para>-- Default: Adds the Microsoft.PowerShell.Core snap-in to the session. This module includes the Import-Module and Add-PSSnapin cmdlets that users can use to import other modules and snap-ins unless you explicitly prohibit the use of the cmdlets.</maml:para><maml:para>-- RestrictedRemoteServer: Includes only the following cmdlets: Exit-PSSession,Get-Command, Get-FormatData, Get-Help, Measure-Object, Out-Default, and Select-Object. Use a script or assembly, or the keys in the session configuration file, to add modules, functions, scripts, and other features to the session.</maml:para><maml:para>The value of this parameter takes precedence over the value of the SessionType key in the session configuration file.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSSessionType</command:parameterValue><dev:type><maml:name>PSSessionType</maml:name><maml:uri /></dev:type><dev:defaultValue>Default</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SessionTypeOption</maml:name><maml:description><maml:para>Sets type-specific options for the session configuration. Enter a session type options object, such as the PSWorkflowExecutionOption object that the New-PSWorkflowExecutionOption cmdlet returns.</maml:para><maml:para>The options of sessions that use the session configuration are determined by the values of session options and the session configuration options. Unless specified, options set in the session, such as by using the New-PSSessionOption cmdlet, take precedence over options set in the session configuration. However, session option values cannot exceed maximum values set in the session configuration.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSSessionTypeOption</command:parameterValue><dev:type><maml:name>PSSessionTypeOption</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ShowSecurityDescriptorUI</maml:name><maml:description><maml:para>Displays a property sheet that helps you to create the SDDL for the session configuration. The property sheet appears after you enter the Register-PSSessionConfiguration command and then restart the WinRM service.</maml:para><maml:para>When setting the permissions for the configuration, remember that users must have at least "Execute(Invoke)" permission to use the session configuration in a session.</maml:para><maml:para>You cannot use the SecurityDescriptorSDDL parameter and this parameter in the same command.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>StartupScript</maml:name><maml:description><maml:para>Specifies the fully qualified path to a Windows PowerShell script. The specified script runs in the new session that uses the session configuration.</maml:para><maml:para>You can use the script to further configure the session. If the script generates an error (even a non-terminating error), the session is not created and the user's New-PSSession command fails.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ThreadApartmentState</maml:name><maml:description><maml:para>Determines the apartment state of the threads in the session. Valid values are STA, MTA, and Unknown. Unknown is the default.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">ApartmentState</command:parameterValue><dev:type><maml:name>ApartmentState</maml:name><maml:uri /></dev:type><dev:defaultValue>Unknown</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ThreadOptions</maml:name><maml:description><maml:para>Defines how threads are created and used when a command is executed in the session. Valid values are Default, ReuseThread, UseCurrentThread, and UseNewThread. UseCurrentThread is the default.</maml:para><maml:para>For more information, see "PSThreadOptions Enumeration" in MSDN.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSThreadOptions</command:parameterValue><dev:type><maml:name>PSThreadOptions</maml:name><maml:uri /></dev:type><dev:defaultValue>UseCurrentThread</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>TransportOption</maml:name><maml:description><maml:para></maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSTransportOption</command:parameterValue><dev:type><maml:name>PSTransportOption</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>UseSharedProcess</maml:name><maml:description><maml:para>Use only one process to host all sessions that are started by the same user and use the same session configuration. By default, each session is hosted in its own process.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ModulesToImport</maml:name><maml:description><maml:para>Specifies the modules and snap-ins that are automatically imported into sessions that use the session configuration.</maml:para><maml:para>By default, only the Microsoft.PowerShell.Core snap-in is imported into sessions, but unless the cmdlets are excluded, users can use the Import-Module and Add-PSSnapin cmdlets to add modules and snap-ins to the session.</maml:para><maml:para>The modules specified in this parameter value are imported in additions to modules that are specified by the SessionType parameter and those listed in the ModulesToImport key in the session configuration file (New-PSSessionConfigurationFile). However, settings in the session configuration file can hide the commands exported by modules or prevent users from using them.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>Microsoft.PowerShell.Core</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>false</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>false</dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name>None</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You cannot pipe input to this cmdlet.</maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name>Microsoft.WSMan.Management.WSManConfigContainerElement</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para></maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><maml:alertSet><maml:title /><maml:alert><maml:para>To run this cmdlet on Windows Vista, Windows Server 2008, and later versions of Windows, start Windows PowerShell with the "Run as administrator" option.</maml:para><maml:para>This cmdlet generates XML that represents a Web Services for Management (WS-Management) plug-in configuration and sends the XML to WS-Management, which registers the plug-in on the local computer ("new-item wsman:\localhost\plugin").</maml:para></maml:alert><maml:alert><maml:para>The properties of a session configuration object vary with the options set for the session configuration and the values of those options. Also, session configurations that use a session configuration file have additional properties.</maml:para></maml:alert></maml:alertSet><command:examples><command:example><maml:title>
  
-------------------------- EXAMPLE 1 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Register-PSSessionConfiguration -Name NewShell -ApplicationBase c:\MyShells\ -AssemblyName MyShell.dll -ConfigurationTypeName MyClass
</dev:code><dev:remarks><maml:para>This command registers the NewShell session configuration. It uses the AssemblyName and ApplicationBase parameters to specify the location of the MyShell.dll file, which specifies the cmdlets and providers in the session configuration. It also uses the ConfigurationTypeName parameter to specify a new class that further configures the session.</maml:para><maml:para>To use this configuration, type "new-pssession -configurationname newshell".</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 2 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Register-PSSessionConfiguration -name MaintenanceShell -StartupScript C:\ps-test\Maintenance.ps1
</dev:code><dev:remarks><maml:para>This command registers the MaintenanceShell configuration on the local computer. The command uses the StartupScript parameter to specify the Maintenance.ps1 script.</maml:para><maml:para>When a user uses a New-PSSession command and selects the MaintenanceShell configuration, the Maintenance.ps1 script runs in the new session. The script can configure the session, including importing modules, adding Windows PowerShell snap-ins, and setting the execution policy for the session. If the script generates any errors, including non-terminating errors, the New-PSSession command fails.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 3 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;$sddl = "O:NSG:BAD:P(A;;GA;;;BA)S:P(AU;FA;GA;;;WD)(AU;FA;SA;GWGX;;WD)"
PS C:\&gt;Register-PSSessionConfiguration -name AdminShell -SecurityDescriptorSDDL $sddl -MaximumReceivedObjectSizeMB 20 -StartupScript C:\scripts\AdminShell.ps1
</dev:code><dev:remarks><maml:para>This example registers the AdminShell session configuration.</maml:para><maml:para>The first command saves a custom SDDL in the $sddl variable.</maml:para><maml:para>The second command registers the new shell. The command uses the SecurityDescritorSDDL parameter to specify the SDDL in the value of the $sddl variable and the MaximumReceivedObjectSizeMB parameter to increase the object size limit. It also uses the StartupScript parameter to specify a script that configures the session.</maml:para><maml:para>As an alternative to using the SecurityDescriptorSDDL parameter, you can use the ShowSecurityDescriptorUI parameter, which displays a property sheet that you can use to set permissions for the session configuration. When you click "OK" in the property sheet, the tool generates an SDDL for the session configuration.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 4 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>The first command uses the Register-PSSessionConfiguration cmdlet to register the MaintenanceShell configuration. It saves the object that the cmdlet returns in the $s variable.
PS C:\&gt;$s = Register-PSSessionConfiguration -name MaintenanceShell -StartupScript C:\ps-test\Maintenance.ps1
 
The second command displays the contents of the $s variable.
PS C:\&gt;$s
 
WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Plugin
Name Type Keys
---- ---- ----
MaintenanceShell Container {Name=MaintenanceShell}
 
 
The third command uses the GetType method and its FullName property to display the type name of the object that Register-PSSessionConfiguration returns.
PS C:\&gt;$s.GetType().FullName
 
TypeName: Microsoft.WSMan.Management.WSManConfigContainerElement
 
 
The fourth command uses the Format-List cmdlet to display all the properties of the object that Register-PSSessionConfiguration returns in a list. The PSPath property shows that the object is stored in a directory of the WSMan: drive.
PS C:\&gt;$s | Format-List -Property *
 
PSPath : Microsoft.WSMan.Management\WSMan::localhost\Plugin\MaintenanceShell
PSParentPath : Microsoft.WSMan.Management\WSMan::localhost\Plugin
PSChildName : MaintenanceShell
PSDrive : WSMan
PSProvider : Microsoft.WSMan.Management\WSMan
PSIsContainer : True
Keys : {Name=MaintenanceShell}
Name : MaintenanceShell
TypeNameOfElement : Container
 
 
The fifth command uses the Get-ChildItem cmdlet to display the items in the WSMan:\LocalHost\PlugIn path. These include the new MaintenanceShell configuration and the two default configurations that come with Windows PowerShell.
PS C:\&gt;dir WSMan:\LocalHost\Plugin
 
Name Type Keys
---- ---- ----
MaintenanceShell Container {Name=MaintenanceShell}
microsoft.powershell Container {Name=microsoft.powershell}
microsoft.powershell32 Container {Name=microsoft.powershell32}
</dev:code><dev:remarks><maml:para>This example shows that a Register-PSSessionConfiguration command returns a WSManConfigContainerElement. It also shows how to find the container elements in the WSMan: drive.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 5 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Register-PSSessionConfiguration -Name WithProfile -StartupScript Add-Profile.ps1
 
# Add-Profile.ps1
. c:\users\admin01\documents\windowspowershell\profile.ps1
</dev:code><dev:remarks><maml:para>This command creates and registers the WithProfile session configuration on the local computer. The command uses the StartupScript parameter to direct Windows PowerShell to run the specified script in any session that uses the session configuration.</maml:para><maml:para>The content of the specified script, Add-Profile.ps1, is also displayed. The script contains a single command that uses dot sourcing to run the user's CurrentUserAllHosts profile in the current scope of the session.</maml:para><maml:para>For more information about profiles, see about_Profiles. For more information about dot sourcing, see about_Scopes.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 6 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>The first pair of commands use the New-PSSessionConfigurationFile cmdlet to create two session configuration files. The first command creates a no-Language file. The second command creates a restricted-language file. Other than the value of the LanguageMode parameter, the session configuration files are equivalent.
PS C:\&gt;New-PSSessionConfigurationFile -Path .\NoLanguage.pssc -LanguageMode NoLanguage
PS C:\&gt;New-PSSessionConfigurationFile -Path .\RestrictedLanguage.pssc -LanguageMode Restricted
 
The second pair of commands use the configuration files to create session configurations on the local computer.
PS C:\&gt;Register-PSSessionConfiguration -Path .\NoLanguage.pssc -Name NoLanguage -Force
PS C:\&gt;Register-PSSessionConfiguration -Path .\RestrictedLanguage.pssc -Name RestrictedLanguage -Force
 
The third pair of command creates two sessions, each of which uses one of the session configurations that was created in the previous command pair.
PS C:\&gt;$NoLanguage = New-PSSession -ComputerName Srv01 -ConfigurationName NoLanguage
PS C:\&gt;$RestrictedLanguage = New-PSSession -ComputerName Srv01 -ConfigurationName RestrictedLanguage
 
The seventh command uses the Invoke-Command cmdlet to run an If statement in the no-Language session. The command fails, because the language elements in the command are not permitted in a no-language session.
PS C:\&gt;Invoke-Command -Session $NoLanguage {if ((Get-Date) -lt "1January2014") {"Before"} else {"After"} }
The syntax is not supported by this runspace. This might be because it is in no-language mode.
    + CategoryInfo : ParserError: (if ((Get-Date) ...") {"Before"} :String) [], ParseException
    + FullyQualifiedErrorId : ScriptsNotAllowed
    + PSComputerName : localhost
 
 
The eighth command uses the Invoke-Command cmdlet to run the same If statement in the restricted-language session. Because these language elements are permitted in the restricted-language session, the command succeeds.
PS C:\&gt;Invoke-Command -Session $RestrictedLanguage {if ((Get-Date) -lt "1January2014") {"Before"} else {"After"} }
Before
</dev:code><dev:remarks><maml:para>The commands in this example compare a no-language session to a restricted-language session. The example shows the effect of using the LanguageMode parameter of New-PSSessionConfigurationFile to limit the types of commands and statements that users can run in a session that uses a custom session configuration. </maml:para><maml:para>To run the commands in this example, start Windows PowerShell with the "Run as administrator" option. This option is required to run the Register-PSSessionConfiguration cmdlet .</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=289605</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Disable-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Enable-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Get-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>New-PSSessionConfigurationFile</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>New-PSSessionConfigurationOption</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Register-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Set-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Test-PSSessionConfigurationFile</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Unregister-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>WSMan Provider</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Session_Configurations</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Session_Configuration_Files</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>Remove-Job</command:name><maml:description><maml:para>Deletes a Windows PowerShell background job.</maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>Remove</command:verb><command:noun>Job</command:noun><dev:version /></command:details><maml:description><maml:para>The Remove-Job cmdlet deletes Windows PowerShell background jobs that were started by using the Start-Job or the AsJob parameter of any cmdlet.</maml:para><maml:para>You can use this cmdlet to delete all jobs or delete selected jobs based on their name, ID, instance ID, command, or state, or by passing a job object to Remove-Job. Without parameters or parameter values, Remove-Job has no effect.</maml:para><maml:para>Beginning in Windows PowerShell 3.0, you can use the Remove-Job cmdlet to delete custom job types, such as scheduled jobs and workflow jobs. If you use Remove-Job to delete a scheduled job, it deletes the scheduled job and deletes all instances of the scheduled job on disk, including the results of all triggered job instances.</maml:para><maml:para>Before deleting a running job, use the Stop-Job cmdlet to stop the job. If you try to delete a running job, the command fails. You can use the Force parameter of Remove-Job to delete a running job.</maml:para><maml:para>If you do not delete a background job, the job remains in the global job cache until you close the session in which the job was created.</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>Remove-Job</maml:name><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>Id</maml:name><maml:description><maml:para>Deletes background jobs with the specified IDs.</maml:para><maml:para>The ID is an integer that uniquely identifies the job within the current session. It is easier to remember and type than the instance ID, but it is unique only within the current session. You can type one or more IDs (separated by commas). To find the ID of a job, type "Get-Job" without parameters.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Int32[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="F"><maml:name>Force</maml:name><maml:description><maml:para>Deletes the job even if the status is "Running". Without the Force parameter, Remove-Job does not delete running jobs.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Remove-Job</maml:name><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>Command</maml:name><maml:description><maml:para>Deletes jobs that include the specified words in the command.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Remove-Job</maml:name><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>Filter</maml:name><maml:description><maml:para>Deletes jobs that satisfy all of the conditions established in the associated hash table. Enter a hash table where the keys are job properties and the values are job property values.</maml:para><maml:para>This parameter works only on custom job types, such as workflow jobs and scheduled jobs. It does not work on standard background jobs, such as those created by using the Start-Job cmdlet. For information about support for this parameter, see the help topic for the job type.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Hashtable</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="F"><maml:name>Force</maml:name><maml:description><maml:para>Deletes the job even if the status is "Running". Without the Force parameter, Remove-Job does not delete running jobs.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Remove-Job</maml:name><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>InstanceId</maml:name><maml:description><maml:para>Deletes jobs with the specified instance IDs.</maml:para><maml:para>An instance ID is a GUID that uniquely identifies the job on the computer. To find the instance ID of a job, use Get-Job or display the job object.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Guid[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="F"><maml:name>Force</maml:name><maml:description><maml:para>Deletes the job even if the status is "Running". Without the Force parameter, Remove-Job does not delete running jobs.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Remove-Job</maml:name><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue, ByPropertyName)" position="1" aliases=""><maml:name>Job</maml:name><maml:description><maml:para>Specifies the jobs to be deleted. Enter a variable that contains the jobs or a command that gets the jobs. You can also use a pipeline operator to submit jobs to the Remove-Job cmdlet.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Job[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="F"><maml:name>Force</maml:name><maml:description><maml:para>Deletes the job even if the status is "Running". Without the Force parameter, Remove-Job does not delete running jobs.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Remove-Job</maml:name><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Deletes only the jobs with the specified friendly names. Wildcards are permitted.</maml:para><maml:para>Because the friendly name is not guaranteed to be unique, even within the session, use the WhatIf and Confirm parameters when deleting jobs by name.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="F"><maml:name>Force</maml:name><maml:description><maml:para>Deletes the job even if the status is "Running". Without the Force parameter, Remove-Job does not delete running jobs.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Remove-Job</maml:name><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>State</maml:name><maml:description><maml:para>Deletes only jobs with the specified status. Valid values are Valid values are NotStarted, Running, Completed, Failed, Stopped, Blocked, Disconnected, Suspending, Stopping, and Suspended. To delete jobs with a state of Running, use the Force parameter.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">JobState</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>Command</maml:name><maml:description><maml:para>Deletes jobs that include the specified words in the command.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>Filter</maml:name><maml:description><maml:para>Deletes jobs that satisfy all of the conditions established in the associated hash table. Enter a hash table where the keys are job properties and the values are job property values.</maml:para><maml:para>This parameter works only on custom job types, such as workflow jobs and scheduled jobs. It does not work on standard background jobs, such as those created by using the Start-Job cmdlet. For information about support for this parameter, see the help topic for the job type.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Hashtable</command:parameterValue><dev:type><maml:name>Hashtable</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="F"><maml:name>Force</maml:name><maml:description><maml:para>Deletes the job even if the status is "Running". Without the Force parameter, Remove-Job does not delete running jobs.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>Id</maml:name><maml:description><maml:para>Deletes background jobs with the specified IDs.</maml:para><maml:para>The ID is an integer that uniquely identifies the job within the current session. It is easier to remember and type than the instance ID, but it is unique only within the current session. You can type one or more IDs (separated by commas). To find the ID of a job, type "Get-Job" without parameters.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Int32[]</command:parameterValue><dev:type><maml:name>Int32[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>InstanceId</maml:name><maml:description><maml:para>Deletes jobs with the specified instance IDs.</maml:para><maml:para>An instance ID is a GUID that uniquely identifies the job on the computer. To find the instance ID of a job, use Get-Job or display the job object.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Guid[]</command:parameterValue><dev:type><maml:name>Guid[]</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue, ByPropertyName)" position="1" aliases=""><maml:name>Job</maml:name><maml:description><maml:para>Specifies the jobs to be deleted. Enter a variable that contains the jobs or a command that gets the jobs. You can also use a pipeline operator to submit jobs to the Remove-Job cmdlet.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Job[]</command:parameterValue><dev:type><maml:name>Job[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Deletes only the jobs with the specified friendly names. Wildcards are permitted.</maml:para><maml:para>Because the friendly name is not guaranteed to be unique, even within the session, use the WhatIf and Confirm parameters when deleting jobs by name.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>State</maml:name><maml:description><maml:para>Deletes only jobs with the specified status. Valid values are Valid values are NotStarted, Running, Completed, Failed, Stopped, Blocked, Disconnected, Suspending, Stopping, and Suspended. To delete jobs with a state of Running, use the Force parameter.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">JobState</command:parameterValue><dev:type><maml:name>JobState</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>false</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>false</dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name>System.Management.Automation.Job</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You can pipe a job object to Remove-Job.</maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name>None</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>This cmdlet does not generate any output.</maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><command:examples><command:example><maml:title>
  
-------------------------- EXAMPLE 1 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;$batch = Get-Job -Name BatchJob
PS C:\&gt;$batch | Remove-Job
</dev:code><dev:remarks><maml:para>These commands delete a background job named BatchJob from the current session. The first command uses the Get-Job cmdlet to get an object representing the job, and then it saves the job in the $batch variable. The second command uses a pipeline operator (|) to send the job to the Remove-Job cmdlet.</maml:para><maml:para>This command is equivalent to using the Job parameter of Remove-Job, for example, "remove-job -job $batch".</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 2 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-job | Remove-Job
</dev:code><dev:remarks><maml:para>This command deletes all of the jobs in the current session.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 3 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Remove-Job -State NotStarted
</dev:code><dev:remarks><maml:para>This command deletes all jobs from the current session that have not yet been started.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 4 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Remove-Job -Name *batch -Force
</dev:code><dev:remarks><maml:para>This command deletes all jobs with friendly names that end with "batch" from the current session, including jobs that are running.</maml:para><maml:para>It uses the Name parameter of Remove-Job to specify a job name pattern, and it uses the Force parameter to ensure that all jobs are removed, even those that might be in progress.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 5 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;$j = Invoke-Command -ComputerName Server01 -ScriptBlock {Get-Process} -AsJob
PS C:\&gt;$j | Remove-Job
</dev:code><dev:remarks><maml:para>This example shows how to use the Remove-Job cmdlet to remove a job that was started on a remote computer by using the AsJob parameter of the Invoke-Command cmdlet.</maml:para><maml:para>The first command uses the Invoke-Command cmdlet to run a job on the Server01 computer. It uses the AsJob parameter to run the command as a background job, and it saves the resulting job object in the $j variable.</maml:para><maml:para>Because the command used the AsJob parameter, the job object is created on the local computer, even though the job runs on a remote computer. As a result, you use local commands to manage the job.</maml:para><maml:para>The second command uses the Remove-Job cmdlet to remove the job. It uses a pipeline operator (|) to send the job in $j to Remove-Job. Note that this is a local command. A remote command is not required to remove a job that was started by using the AsJob parameter.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 6 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>The first command uses the New-PSSession cmdlet to create a PSSession (a persistent connection) to the Server01 computer. A persistent connection is required when running a Start-Job command remotely. The command saves the PSSession in the $s variable.
PS C:\&gt;$s = New-PSSession -ComputerName Server01
 
The second command uses the Invoke-Command cmdlet to run a Start-Job command in the PSSession in $s. The job runs a Get-Process command. It uses the Name parameter of Start-Job to specify a friendly name for the job.
PS C:\&gt;Invoke-Command -Session $s -ScriptBlock {Start-Job -ScriptBlock {Get-Process} -Name MyJob}
 
The third command uses the Invoke-Command cmdlet to run a Remove-Job command in the PSSession in $s. The command uses the Name parameter of Remove-Job to identify the job to be deleted.
PS C:\&gt;Invoke-Command -Session $s -ScriptBlock {Remove-Job -Name MyJob}
</dev:code><dev:remarks><maml:para>This example shows how to remove a job that was started by using Invoke-Command to run a Start-Job command. In this case, the job object is created on the remote computer and you use remote commands to manage the job.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 7 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>The first command uses the Start-Job cmdlet to start a background job. The command saves the resulting job object in the $j variable.
PS C:\&gt;$j = Start-Job -ScriptBlock {Get-Process Powershell}
 
The second command uses a pipeline operator (|) to send the job object in $j to the Format-List cmdlet. The Format-List command uses the Property parameter with a value of * (all) to display all of the properties of the job object in a list.The job object display shows the values of the ID and InstanceID properties, along with the other properties of the object.
PS C:\&gt;$j | Format-List -Property *
 
HasMoreData : False
StatusMessage :
Location : localhost
Command : get-process powershell
JobStateInfo : Failed
Finished : System.Threading.ManualResetEvent
InstanceId : dce2ee73-f8c9-483e-bdd7-a549d8687eed
Id : 1
Name : Job1
ChildJobs : {Job2}
Output : {}
Error : {}
Progress : {}
Verbose : {}
Debug : {}
Warning : {}
StateChanged :
 
The third command uses a Remove-Job command to remove the job from the current session. To generate the command, you can copy and paste the InstanceID value from the object display.To copy a value in the Windows PowerShell console, use the mouse to select the value, and then press Enter to copy it. To paste a value, right-click.
PS C:\&gt;Remove-Job -InstanceID dce2ee73-f8c9-483e-bdd7-a549d8687eed
</dev:code><dev:remarks><maml:para>This example shows how to remove a job based on its instance ID.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://technet.microsoft.com/library/hh849742.aspx</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Get-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Invoke-Command</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Receive-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Resume-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Start-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Stop-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Suspend-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Wait-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Job_Details</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Remote_Jobs</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Jobs</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>Remove-Module</command:name><maml:description><maml:para>Removes modules from the current session.</maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>Remove</command:verb><command:noun>Module</command:noun><dev:version /></command:details><maml:description><maml:para>The Remove-Module cmdlet removes the members of a module, such as cmdlets and functions, from the current session.</maml:para><maml:para>If the module includes an assembly (.dll), all members that are implemented by the assembly are removed, but the assembly is not unloaded.</maml:para><maml:para>This cmdlet does not uninstall the module or delete it from the computer. It affects only the current Windows PowerShell session.</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>Remove-Module</maml:name><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases=""><maml:name>ModuleInfo</maml:name><maml:description><maml:para>Specifies the module objects to remove. Enter a variable that contains a module object (PSModuleInfo) or a command that gets a module object, such as a Get-Module command. You can also pipe module objects to Remove-Module.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">PSModuleInfo[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Force</maml:name><maml:description><maml:para>Removes read-only modules. By default, Remove-Module removes only read-write modules.</maml:para><maml:para>The ReadOnly and ReadWrite values are stored in AccessMode property of a module.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="none"><maml:name>FullyQualifiedName</maml:name><maml:description><maml:para>Removes modules with names that are specified in the form of ModuleSpecification objects (described by the Remarks section of <maml:navigationLink><maml:linkText>Module Specification Constructor (Hashtable)</maml:linkText><maml:uri></maml:uri></maml:navigationLink> on MSDN). For example, the FullyQualifiedName parameter accepts a module name that is specified in the format @{ModuleName = "modulename"; ModuleVersion = "version_number"} or @{ModuleName = "modulename"; ModuleVersion = "version_number"; Guid = "GUID"}. ModuleName and ModuleVersion are required, but Guid is optional.</maml:para><maml:para>You cannot specify the FullyQualifiedName parameter in the same command as a Name parameter; the two parameters are mutually exclusive.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Remove-Module</maml:name><command:parameter required="true" variableLength="true" globbing="true" pipelineInput="true (ByValue)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Specifies the names of modules to remove. Wildcard characters are permitted. You can also pipe name strings to Remove-Module.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Force</maml:name><maml:description><maml:para>Removes read-only modules. By default, Remove-Module removes only read-write modules.</maml:para><maml:para>The ReadOnly and ReadWrite values are stored in AccessMode property of a module.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Remove-Module</maml:name><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="none"><maml:name>FullyQualifiedName</maml:name><maml:description><maml:para>Removes modules with names that are specified in the form of ModuleSpecification objects (described by the Remarks section of <maml:navigationLink><maml:linkText>Module Specification Constructor (Hashtable)</maml:linkText><maml:uri></maml:uri></maml:navigationLink> on MSDN). For example, the FullyQualifiedName parameter accepts a module name that is specified in the format @{ModuleName = "modulename"; ModuleVersion = "version_number"} or @{ModuleName = "modulename"; ModuleVersion = "version_number"; Guid = "GUID"}. ModuleName and ModuleVersion are required, but Guid is optional.</maml:para><maml:para>You cannot specify the FullyQualifiedName parameter in the same command as a Name parameter; the two parameters are mutually exclusive.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Force</maml:name><maml:description><maml:para>Removes read-only modules. By default, Remove-Module removes only read-write modules.</maml:para><maml:para>The ReadOnly and ReadWrite values are stored in AccessMode property of a module.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="none"><maml:name>FullyQualifiedName</maml:name><maml:description><maml:para>Removes modules with names that are specified in the form of ModuleSpecification objects (described by the Remarks section of <maml:navigationLink><maml:linkText>Module Specification Constructor (Hashtable)</maml:linkText><maml:uri></maml:uri></maml:navigationLink> on MSDN). For example, the FullyQualifiedName parameter accepts a module name that is specified in the format @{ModuleName = "modulename"; ModuleVersion = "version_number"} or @{ModuleName = "modulename"; ModuleVersion = "version_number"; Guid = "GUID"}. ModuleName and ModuleVersion are required, but Guid is optional.</maml:para><maml:para>You cannot specify the FullyQualifiedName parameter in the same command as a Name parameter; the two parameters are mutually exclusive.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>none</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases=""><maml:name>ModuleInfo</maml:name><maml:description><maml:para>Specifies the module objects to remove. Enter a variable that contains a module object (PSModuleInfo) or a command that gets a module object, such as a Get-Module command. You can also pipe module objects to Remove-Module.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">PSModuleInfo[]</command:parameterValue><dev:type><maml:name>PSModuleInfo[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="true" globbing="true" pipelineInput="true (ByValue)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Specifies the names of modules to remove. Wildcard characters are permitted. You can also pipe name strings to Remove-Module.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>false</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>false</dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name>System.String, System.Management.Automation.PSModuleInfo</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You can pipe module names (strings) and module objects to Remove-Module.</maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name>None</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>Remove-Module does not generate any output.</maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><command:examples><command:example><maml:title>
  
-------------------------- EXAMPLE 1 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Remove-Module -Name BitsTransfer
</dev:code><dev:remarks><maml:para>This command removes the BitsTransfer module from the current session.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 2 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-Module | Remove-Module
</dev:code><dev:remarks><maml:para>This command removes all modules from the current session.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 3 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;"FileTransfer", "PSDiagnostics" | Remove-Module -Verbose
VERBOSE: Performing operation "Remove-Module" on Target "filetransfer (Path: 'C:\Windows\system32\WindowsPowerShell\v1.0\Modules\filetransfer\filetransfer.psd1')".
VERBOSE: Performing operation "Remove-Module" on Target "Microsoft.BackgroundIntelligentTransfer.Management (Path: 'C:\Windows\assembly\GAC_MSIL\Microsoft.BackgroundIntelligentTransfer.Management\1.0.0.0__31bf3856ad364e35\Microsoft.BackgroundIntelligentTransfe
r.Management.dll')".
VERBOSE: Performing operation "Remove-Module" on Target "psdiagnostics (Path: 'C:\Windows\system32\WindowsPowerShell\v1.0\Modules\psdiagnostics\psdiagnostics.psd1')".
VERBOSE: Removing imported function 'Start-Trace'.
VERBOSE: Removing imported function 'Stop-Trace'.
VERBOSE: Removing imported function 'Enable-WSManTrace'.
VERBOSE: Removing imported function 'Disable-WSManTrace'.
VERBOSE: Removing imported function 'Enable-PSWSManCombinedTrace'.
VERBOSE: Removing imported function 'Disable-PSWSManCombinedTrace'.
VERBOSE: Removing imported function 'Set-LogProperties'.
VERBOSE: Removing imported function 'Get-LogProperties'.
VERBOSE: Removing imported function 'Enable-PSTrace'.
VERBOSE: Removing imported function 'Disable-PSTrace'.
VERBOSE: Performing operation "Remove-Module" on Target "PSDiagnostics (Path: 'C:\Windows\system32\WindowsPowerShell\v1.0\Modules\psdiagnostics\PSDiagnostics.psm1')".
</dev:code><dev:remarks><maml:para>This command removes the BitsTransfer and PSDiagnostics modules from the current session.</maml:para><maml:para>The command uses a pipeline operator (|) to send the module names to Remove-Module. It uses the Verbose common parameter to get detailed information about the members that are removed.</maml:para><maml:para>The Verbose messages show the items that are removed. The messages differ because the BitsTransfer module includes an assembly that implements its cmdlets and a nested module with its own assembly. The PSDiagnostics module includes a module script file (.psm1) that exports functions.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 4 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;$a = Get-Module BitsTransfer
PS C:\&gt;Remove-Module -ModuleInfo $a
</dev:code><dev:remarks><maml:para>This command uses the ModuleInfo parameter to remove the BitsTransfer module.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=289607</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Get-Module</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Import-Module</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Modules</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_modules</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>Remove-PSSession</command:name><maml:description><maml:para>Closes one or more Windows PowerShell sessions (PSSessions).</maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>Remove</command:verb><command:noun>PSSession</command:noun><dev:version /></command:details><maml:description><maml:para>The Remove-PSSession cmdlet closes Windows PowerShell sessions (PSSessions) in the current session. It stops any commands that are running in the PSSessions, ends the PSSession, and releases the resources that the PSSession was using. If the PSSession is connected to a remote computer, Remove-PSSession also closes the connection between the local and remote computers.</maml:para><maml:para>To remove a PSSession, enter the Name, ComputerName, ID, or InstanceID of the session.</maml:para><maml:para>If you have saved the PSSession in a variable, the session object remains in the variable, but the state of the PSSession is "Closed."</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>Remove-PSSession</maml:name><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="true (ByPropertyName)" position="1" aliases=""><maml:name>Id</maml:name><maml:description><maml:para>Closes the PSSessions with the specified IDs. Type one or more IDs (separated by commas) or use the range operator (..) to specify a range of IDs</maml:para><maml:para>An ID is an integer that uniquely identifies the PSSession in the current session. It is easier to remember and type than the InstanceId, but it is unique only within the current session. To find the ID of a PSSession, use Get-PSSession without parameters.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Int32[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Remove-PSSession</maml:name><command:parameter required="true" variableLength="true" globbing="true" pipelineInput="true (ByPropertyName)" position="1" aliases=""><maml:name>ComputerName</maml:name><maml:description><maml:para>Closes the PSSessions that are connected to the specified computers. Wildcards are permitted.</maml:para><maml:para>Type the NetBIOS name, an IP address, or a fully qualified domain name of one or more remote computers. To specify the local computer, type the computer name, "localhost", or a dot (.).</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Remove-PSSession</maml:name><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="true (ByPropertyName)" position="named" aliases=""><maml:name>InstanceId</maml:name><maml:description><maml:para>Closes the PSSessions with the specified instance IDs.</maml:para><maml:para>The instance ID is a GUID that uniquely identifies a PSSession in the current session. The InstanceID is unique, even when you have multiple sessions running on a single computer.</maml:para><maml:para>The InstanceID is stored in the InstanceID property of the object that represents a PSSession. To find the InstanceID of the PSSessions in the current session, type "get-pssession | format-table Name, ComputerName, InstanceId".</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Guid[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Remove-PSSession</maml:name><command:parameter required="true" variableLength="true" globbing="true" pipelineInput="true (ByPropertyName)" position="named" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Closes the PSSessions with the specified friendly names. Wildcards are permitted.</maml:para><maml:para>Because the friendly name of a PSSession might not be unique, when using the Name parameter, consider also using the WhatIf or Confirm parameter in the Remove-PSSession command.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Remove-PSSession</maml:name><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="1" aliases=""><maml:name>Session</maml:name><maml:description><maml:para>Specifies the session objects of the PSSessions to close. Enter a variable that contains the PSSessions or a command that creates or gets the PSSessions, such as a New-PSSession or Get-PSSession command. You can also pipe one or more session objects to Remove-PSSession.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">PSSession[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="true" variableLength="true" globbing="true" pipelineInput="true (ByPropertyName)" position="1" aliases=""><maml:name>ComputerName</maml:name><maml:description><maml:para>Closes the PSSessions that are connected to the specified computers. Wildcards are permitted.</maml:para><maml:para>Type the NetBIOS name, an IP address, or a fully qualified domain name of one or more remote computers. To specify the local computer, type the computer name, "localhost", or a dot (.).</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>Local computer</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="true (ByPropertyName)" position="1" aliases=""><maml:name>Id</maml:name><maml:description><maml:para>Closes the PSSessions with the specified IDs. Type one or more IDs (separated by commas) or use the range operator (..) to specify a range of IDs</maml:para><maml:para>An ID is an integer that uniquely identifies the PSSession in the current session. It is easier to remember and type than the InstanceId, but it is unique only within the current session. To find the ID of a PSSession, use Get-PSSession without parameters.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Int32[]</command:parameterValue><dev:type><maml:name>Int32[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="true (ByPropertyName)" position="named" aliases=""><maml:name>InstanceId</maml:name><maml:description><maml:para>Closes the PSSessions with the specified instance IDs.</maml:para><maml:para>The instance ID is a GUID that uniquely identifies a PSSession in the current session. The InstanceID is unique, even when you have multiple sessions running on a single computer.</maml:para><maml:para>The InstanceID is stored in the InstanceID property of the object that represents a PSSession. To find the InstanceID of the PSSessions in the current session, type "get-pssession | format-table Name, ComputerName, InstanceId".</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Guid[]</command:parameterValue><dev:type><maml:name>Guid[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="true" globbing="true" pipelineInput="true (ByPropertyName)" position="named" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Closes the PSSessions with the specified friendly names. Wildcards are permitted.</maml:para><maml:para>Because the friendly name of a PSSession might not be unique, when using the Name parameter, consider also using the WhatIf or Confirm parameter in the Remove-PSSession command.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="1" aliases=""><maml:name>Session</maml:name><maml:description><maml:para>Specifies the session objects of the PSSessions to close. Enter a variable that contains the PSSessions or a command that creates or gets the PSSessions, such as a New-PSSession or Get-PSSession command. You can also pipe one or more session objects to Remove-PSSession.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">PSSession[]</command:parameterValue><dev:type><maml:name>PSSession[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>false</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>false</dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name>System.Management.Automation.Runspaces.PSSession </maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You can pipe a session object to Remove-PSSession.</maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name>None</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>Remove-PSSession does not return any objects.</maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><maml:alertSet><maml:title /><maml:alert><maml:para>The ID parameter is mandatory. You cannot type "remove-pssession" without parameters. To delete all the PSSessions in the current session, type "get-pssession | remove-pssession".</maml:para><maml:para>A PSSession uses a persistent connection to a remote computer. Create a PSSession to run a series of commands that share data. For more information, see about_PSSessions.</maml:para><maml:para>PSSessions are specific to the current session. When you end a session, the PSSessions that you created in that session are forcibly closed.</maml:para></maml:alert><maml:alert><maml:para></maml:para></maml:alert></maml:alertSet><command:examples><command:example><maml:title>
  
-------------------------- EXAMPLE 1 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;remove-pssession -id 1, 2
</dev:code><dev:remarks><maml:para>This command removes the PSSessions that have IDs 1 and 2.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 2 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;get-pssession | remove-pssession
 
- or -
 
PS C:\&gt;remove-pssession -session (get-pssession)
 
- or -
 
PS C:\&gt;$s = get-pssession
PS C:\&gt;remove-pssession -session $s
</dev:code><dev:remarks><maml:para>These commands remove all of the PSSessions in the current session. Although the three command formats look different, they have the same effect.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 3 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;$r = get-pssession -computername Serv*
$r | remove-pssession
</dev:code><dev:remarks><maml:para>These commands close the PSSessions that are connected to computers that have names that begin with "Serv".</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 4 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;get-pssession | where {$_.port -eq 90} | remove-pssession
</dev:code><dev:remarks><maml:para>This command closes the PSSessions that are connected to port 90. You can use this command format to identify PSSessions by properties other than ComputerName, Name, InstanceID, and ID.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 5 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;get-pssession | ft computername, instanceID -auto
 
ComputerName InstanceId
------------ ----------------
Server01 875d231b-2788-4f36-9f67-2e50d63bb82a
localhost c065ffa0-02c4-406e-84a3-dacb0d677868
Server02 4699cdbc-61d5-4e0d-b916-84f82ebede1f
Server03 4e5a3245-4c63-43e4-88d0-a7798bfc2414
TX-TEST-01 fc4e9dfa-f246-452d-9fa3-1adbdd64ae85
 
PS C:\&gt;remove-pssession -InstanceID fc4e9dfa-f246-452d-9fa3-1adbdd64ae85
</dev:code><dev:remarks><maml:para>These commands show how to close a PSSession based on its instance ID (RemoteRunspaceID).</maml:para><maml:para>The first command uses the Get-PSsession cmdlet to get the PSSessions in the current session. It uses a pipeline operator (|) to send the PSSessions to the Format-Table cmdlet (alias: ft), which formats their ComputerName and InstanceID properties in a table. The AutoSize parameter ("auto") compresses the columns for display.</maml:para><maml:para>From the resulting display, the administrator can identify the PSSession to be closed, and copy and paste the InstanceID of that PSSession into the second command.</maml:para><maml:para>The second command uses the Remove-PSSession cmdlet to remove the PSSession with the specified instance ID.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 6 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;function EndPSS { get-pssession | remove-pssession }
</dev:code><dev:remarks><maml:para>This function deletes all of the PSSessions in the current session. After you add this function to your Windows Powershell profile, to delete all sessions, just type "endpss".</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=289608</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Connect-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Disconnect-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Enter-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Exit-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Get-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Invoke-Command</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>New-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Receive-PSSession</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_PSSessions</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Remote</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>Remove-PSSnapin</command:name><maml:description><maml:para>Removes Windows PowerShell snap-ins from the current session.</maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>Remove</command:verb><command:noun>PSSnapin</command:noun><dev:version /></command:details><maml:description><maml:para>The Remove-PSSnapin cmdlet removes a Windows PowerShell snap-in from the current session. You can use it to remove snap-ins that you have added to Windows PowerShell, but you cannot use it to remove the snap-ins that are installed with Windows PowerShell.</maml:para><maml:para>After a snap-in is removed from the current session, it is still loaded, but the cmdlets and providers in the snap-in are no longer available in the session.</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>Remove-PSSnapin</maml:name><command:parameter required="true" variableLength="true" globbing="true" pipelineInput="true (ByPropertyName)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Specifies the names of Windows PowerShell snap-ins to remove from the current session. The parameter name ("Name") is optional, and wildcard characters (*) are permitted in the value.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>PassThru</maml:name><maml:description><maml:para>Returns an object representing the snap-in. By default, this cmdlet does not generate any output.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="true" variableLength="true" globbing="true" pipelineInput="true (ByPropertyName)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Specifies the names of Windows PowerShell snap-ins to remove from the current session. The parameter name ("Name") is optional, and wildcard characters (*) are permitted in the value.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>PassThru</maml:name><maml:description><maml:para>Returns an object representing the snap-in. By default, this cmdlet does not generate any output.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>false</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>false</dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name>System.Management.Automation.PSSnapInInfo</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You can pipe a snap-in object to Remove-PSSnapin.</maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name>None or System.Management.Automation.PSSnapInInfo</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>By default, Remove-PsSnapin does not generate any output. However, if you use the PassThru parameter, it generates a System.Management.Automation.PSSnapInInfo object representing the snap-in.</maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><maml:alertSet><maml:title /><maml:alert><maml:para>You can also refer to Remove-PSSnapin by its built-in alias, "rsnp". For more information, see about_Aliases.</maml:para><maml:para>Remove-PSSnapin does not check the version of Windows PowerShell before removing a snap-in from the session. If a snap-in cannot be removed, a warning appears and the command fails.</maml:para><maml:para>Remove-PSSnapin affects only the current session. If you have added an Add-PSSnapin command to your Windows PowerShell profile, you should delete the command to remove the snap-in from future sessions. For instructions, see about_Profiles.</maml:para></maml:alert><maml:alert><maml:para></maml:para></maml:alert></maml:alertSet><command:examples><command:example><maml:title>
  
-------------------------- EXAMPLE 1 --------------------------
  
  
                        
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;remove-pssnapin -name Microsoft.Exchange
</dev:code><dev:remarks><maml:para>This command removes the Microsoft.Exchange snap-in from the current session. When the command is complete, the cmdlets and providers that the snap-in supported are not available in the session.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 2 --------------------------
  
  
                        
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;get-PSSnapIn smp* | remove-PSSnapIn
</dev:code><dev:remarks><maml:para>This command removes the Windows PowerShell snap-ins that have names beginning with "smp" from the current session.</maml:para><maml:para>The command uses the Get-PSSnapin cmdlet to get objects representing the snap-ins. The pipeline operator (|) sends the results to the Remove-PSSnapin cmdlet, which removes them from the session. The providers and cmdlets that this snap-in supports are no longer available in the session.</maml:para><maml:para>When you pipe objects to Remove-PSSnapin, the names of the objects are associated with the Name parameter, which accepts objects from the pipeline that have a Name property.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 3 --------------------------
  
  
                        
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;remove-pssnapin -name *event*
</dev:code><dev:remarks><maml:para>This command removes all Windows PowerShell snap-ins that have names that include "event". This command specifies the "Name" parameter name, but the parameter name can be omitted because it is optional.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=289609</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Add-PSSnapin</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Get-PSSnapin</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Profiles</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>Resume-Job</command:name><maml:description><maml:para>Restarts a suspended job</maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>Resume</command:verb><command:noun>Job</command:noun><dev:version /></command:details><maml:description><maml:para>The Resume-Job cmdlet resumes a workflow job that was suspended, such as by using the Suspend-Job cmdlet or the about_Suspend-Workflow activity. When a workflow job is resumed, the job engine reconstructs the state, metadata, and output from saved resources, such as checkpoints, so the job is restarted without any loss of state or data. The job state is changed from Suspended to Running.</maml:para><maml:para>Use the parameters of Resume-Job to select jobs by name, ID, instance ID or pipe a job object, such as one returned by the Get-Job cmdlet, to Resume-Job. You can also use a property filter to select a job to be resumed. </maml:para><maml:para>By default, Resume-Job returns immediately, even though all jobs might not yet be resumed. To suppress the command prompt until all specified jobs are resumed, use the Wait parameter.</maml:para><maml:para>The Resume-Job cmdlet works only on custom job types, such as workflow jobs. It does not work on standard background jobs, such as those that are started by using the Start-Job cmdlet. If you submit a job of an unsupported type, Resume-Job generates a terminating error and stops running. </maml:para><maml:para>To identify a workflow job, look for a value of PSWorkflowJob in the PSJobTypeName property of the job. To determine whether a particular custom job type supports the Resume-Job cmdlet, see the help topics for the custom job type.</maml:para><maml:para>NOTE: Before using a Job cmdlet on a custom job type, import the module that supports the custom job type, either by using the Import-Module cmdlet or getting or using a cmdlet in the module.</maml:para><maml:para>This cmdlet is introduced in Windows PowerShell 3.0.</maml:para><maml:para></maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>Resume-Job</maml:name><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>Id</maml:name><maml:description><maml:para>Resumes the jobs with the specified IDs.</maml:para><maml:para>The ID is an integer that uniquely identifies the job within the current session. It is easier to remember and to type than the instance ID, but it is unique only within the current session. You can type one or more IDs (separated by commas). To find the ID of a job, use the Get-Job cmdlet.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Int32[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Resume-Job</maml:name><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>Filter</maml:name><maml:description><maml:para>Resumes only jobs that satisfy all of the conditions established in the associated hash table. Enter a hash table where the keys are job properties and the values are job property values.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Hashtable</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Resume-Job</maml:name><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>InstanceId</maml:name><maml:description><maml:para>Resumes jobs with the specified instance IDs. The default is all jobs.</maml:para><maml:para>An instance ID is a GUID that uniquely identifies the job on the computer. To find the instance ID of a job, use the Get-Job cmdlet.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Guid[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Resume-Job</maml:name><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue, ByPropertyName)" position="1" aliases=""><maml:name>Job</maml:name><maml:description><maml:para>Specifies the jobs to be resumed. Enter a variable that contains the jobs or a command that gets the jobs. You can also pipe jobs to the Resume-Job cmdlet.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Job[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Resume-Job</maml:name><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Resumes jobs with the specified friendly names. Enter one or more job names. Wildcards are supported.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Resume-Job</maml:name><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>State</maml:name><maml:description><maml:para>Resumes only those jobs in the specified state. Valid values are NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, and Stopping, but Resume-Job resumes only jobs in the Suspended state.</maml:para><maml:para>For more information about job states, see "JobState Enumeration" in MSDN at <maml:navigationLink><maml:linkText>http://msdn.microsoft.com/en-us/library/windows/desktop/system.management.automation.jobstate(v=vs.85).aspx</maml:linkText><maml:uri></maml:uri></maml:navigationLink></maml:para></maml:description><command:parameterValue required="true" variableLength="false">JobState</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Resume-Job</maml:name><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Wait</maml:name><maml:description><maml:para>Suspends the command prompt until all specified jobs are resumed. By default, Resume-Job returns immediately.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>Filter</maml:name><maml:description><maml:para>Resumes only jobs that satisfy all of the conditions established in the associated hash table. Enter a hash table where the keys are job properties and the values are job property values.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Hashtable</command:parameterValue><dev:type><maml:name>Hashtable</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>Id</maml:name><maml:description><maml:para>Resumes the jobs with the specified IDs.</maml:para><maml:para>The ID is an integer that uniquely identifies the job within the current session. It is easier to remember and to type than the instance ID, but it is unique only within the current session. You can type one or more IDs (separated by commas). To find the ID of a job, use the Get-Job cmdlet.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Int32[]</command:parameterValue><dev:type><maml:name>Int32[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>InstanceId</maml:name><maml:description><maml:para>Resumes jobs with the specified instance IDs. The default is all jobs.</maml:para><maml:para>An instance ID is a GUID that uniquely identifies the job on the computer. To find the instance ID of a job, use the Get-Job cmdlet.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Guid[]</command:parameterValue><dev:type><maml:name>Guid[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue, ByPropertyName)" position="1" aliases=""><maml:name>Job</maml:name><maml:description><maml:para>Specifies the jobs to be resumed. Enter a variable that contains the jobs or a command that gets the jobs. You can also pipe jobs to the Resume-Job cmdlet.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Job[]</command:parameterValue><dev:type><maml:name>Job[]</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Resumes jobs with the specified friendly names. Enter one or more job names. Wildcards are supported.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>State</maml:name><maml:description><maml:para>Resumes only those jobs in the specified state. Valid values are NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, and Stopping, but Resume-Job resumes only jobs in the Suspended state.</maml:para><maml:para>For more information about job states, see "JobState Enumeration" in MSDN at <maml:navigationLink><maml:linkText>http://msdn.microsoft.com/en-us/library/windows/desktop/system.management.automation.jobstate(v=vs.85).aspx</maml:linkText><maml:uri></maml:uri></maml:navigationLink></maml:para></maml:description><command:parameterValue required="true" variableLength="false">JobState</command:parameterValue><dev:type><maml:name>JobState</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Wait</maml:name><maml:description><maml:para>Suspends the command prompt until all specified jobs are resumed. By default, Resume-Job returns immediately.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>false</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>false</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>false</dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name>System.Management.Automation.Job</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You can pipe all types of jobs to Resume-Job. However, if Resume-Job gets a job of an unsupported type, it throws a terminating error.</maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name>None or System.Management.Automation.Job</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>If you use the PassThru parameter, Resume-Job returns the jobs that it tried to resume. Otherwise, this cmdlet does not generate any output.</maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><maml:alertSet><maml:title /><maml:alert><maml:para>Resume-Job can only resume jobs that are suspended. If you submit a job in a different state, Resume-Job runs the resume operation on the job, but generates a warning to notify you that the job could not be resumed. To suppress the warning, use the WarningAction common parameter with a value of SilentlyContinue.</maml:para></maml:alert><maml:alert><maml:para>If a job is not of a type that supports resuming, such as a workflow job (PSWorkflowJob), Resume-Job throws a terminating error.</maml:para></maml:alert><maml:alert><maml:para>The mechanism and location for saving a suspended job might vary depending on the job type. For example, suspended workflow jobs are saved in a flat file store by default, but can also be saved in a SQL database.</maml:para></maml:alert><maml:alert><maml:para>When you resume a job, the job state changes from Suspended to Running. To find the jobs that are running, including those that were resumed by this cmdlet, use the State parameter of the Get-Job cmdlet to get jobs in the Running state.</maml:para></maml:alert><maml:alert><maml:para>Some job types have options or properties that prevent Windows PowerShell from suspending the job. If attempts to suspend the job fail, verify that the job options and properties allow suspending.</maml:para></maml:alert></maml:alertSet><command:examples><command:example><maml:title>Example 1: Resume a job by ID</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>The first command uses the Get-Job cmdlet to get the job. The output shows that the job is a suspended workflow job.
PS C:\&gt;Get-Job EventJob
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
4 EventJob PSWorkflowJob Suspended True Server01 \\Script\Share\Event.ps1
 
The second command uses the Id parameter of the Resume-Job cmdlet to resume the job with an Id value of 4.
PS C:\&gt;Resume-Job -Id 4
</dev:code><dev:remarks><maml:para>The commands in this example verify that the job is a suspended workflow job and then resume the job.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>Example 2: Resume a job by name</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Resume-Job -Name WorkflowJob, InventoryWorkflow, WFTest*
 
</dev:code><dev:remarks><maml:para>This command uses the Name parameter to resume several workflow jobs on the local computer.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>Example 3: Use custom property values</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Resume-Job -Filter @{CustomID="T091291"} -State Suspended
</dev:code><dev:remarks><maml:para>This command uses the value of a custom property to identify the workflow job to resume. It uses the Filter parameter to identify the workflow job by its CustomID property. It also uses the State parameter to verify that the workflow job is suspended, before it tries to resume it.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>Example 4: Resume all suspended jobs on a remote computer</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Invoke-Command -ComputerName Srv01 -ScriptBlock {Get-Job -State Suspended | Resume-Job}
</dev:code><dev:remarks><maml:para>This command resumes all suspended jobs on the Srv01 remote computer.</maml:para><maml:para>The command uses the Invoke-Command cmdlet to run a command on the Srv01 computer. The remote command uses the State parameter of the Get-Job cmdlet to get all suspended jobs on the computer. A pipeline operator (|) sends the suspended jobs to the Resume-Job cmdlet, which resumes them.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>Example 4: Wait for jobs to resume</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Resume-Job -Name WorkflowJob, InventoryWorkflow, WFTest* -Wait
</dev:code><dev:remarks><maml:para>This command uses the Wait parameter to direct Resume-Job to return only after all specified jobs are resumed. The Wait parameter is especially useful in scripts that assume that jobs are resumed before the script continues.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>Example 5: Resume a Workflow that Suspends Itself</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>This code sample shows the Suspend-Workflow activity in a workflow.
#SampleWorkflow
Workflow Test-Suspend
{
    $a = Get-Date
    Suspend-Workflow
    (Get-Date)- $a
}
 
The following command runs the Test-Suspend workflow on the Server01 computer.When you run the workflow, the workflow runs the Get-Date activity and saves the result in the $a variable. Then it runs the Suspend-Workflow activity. In response, it takes a checkpoint, suspends the workflow, and returns a workflow job object. Suspend-Workflow returns a workflow job object even if the workflow is not explicitly run as a job.
PS C:\&gt;Test-Suspend -PSComputerName Server01
Id Name PSJobTypeName State HasMoreData Location Command
 
-- ---- ------------- ----- ----------- -------- -------
 
8 Job8 PSWorkflowJob Suspended True Server01 Test-Suspend
 
The following command resumes the Test-Suspend workflow in Job8. It uses the Wait parameter to hold the command prompt until the job is resumed.
PS C:\&gt;Resume-Job -Name Job8 -Wait
Id Name PSJobTypeName State HasMoreData Location Command
 
-- ---- ------------- ----- ----------- -------- -------
 
8 Job8 PSWorkflowJob Running True Server01 Test-Suspend
 
This command uses the Receive-Job cmdlet to get the results of the Test-Suspend workflow. The final command in the workflow returns a TimeSpan object that represents the elapsed time between the current date and time and the date and time that was saved in the $a variable before the workflow was suspended.
PS C:\&gt;Receive-Job -Name Job8
        Days : 0
 
        Hours : 0
 
        Minutes : 0
 
        Seconds : 19
 
        Milliseconds : 823
 
        Ticks : 198230041
 
        TotalDays : 0.000229432917824074
 
        TotalHours : 0.00550639002777778
 
        TotalMinutes : 0.330383401666667
 
        TotalSeconds : 19.8230041
 
        TotalMilliseconds : 19823.0041
 
        PSComputerName : Server01
 
</dev:code><dev:remarks><maml:para>The Resume-Job cmdlet lets you resume a workflow job that was suspend by using the Suspend-Workflow activity. This activity suspends a workflow from within a workflow. It is valid only in workflows.</maml:para><maml:para>For information about the Suspend-Workflow, see about_Suspend-Workflow.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=289610</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Get-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Receive-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Remove-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Resume-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Start-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Stop-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Suspend-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Wait-Job</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>Save-Help</command:name><maml:description><maml:para>Downloads and saves the newest help files to a file system directory.</maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>Save</command:verb><command:noun>Help</command:noun><dev:version /></command:details><maml:description><maml:para>The Save-Help cmdlet downloads the newest help files for Windows PowerShell modules and saves them to a directory that you specify. This feature lets you update the help files on computers that do not have access to the Internet, and makes it easier to update the help files on multiple computers. </maml:para><maml:para>In Windows PowerShell 3.0, Save-Help worked only for modules that are installed on the local computer. Although it was possible to import a module from a remote computer, or obtain a reference to a PSModuleInfo object from a remote computer by using Windows PowerShell remoting, the HelpInfoUri property was not preserved, and Save-Help would not work for remote module Help. </maml:para><maml:para>In Windows PowerShell 4.0, the HelpInfoUri property is preserved over Windows PowerShell remoting, which allows Save-Help to work for modules that are installed on remote computers. It is also possible to save a PSModuleInfo object to disk or removable media by running Export-CliXml on a computer that does not have Internet access, import the object on a computer that does have Internet access, and then run Save-Help on the PSModuleInfo object. The saved help can be transported to the remote computer by using removable storage media (such as a USB drive), and then the help can be installed on the remote computer by running Update-Help. This process can be used to install help on computers that do not have any kind of network access.</maml:para><maml:para>To install saved help files, run the Update-Help cmdlet. Add its SourcePath parameter to specify the directory in which you saved the Help files.</maml:para><maml:para>Without parameters, a Save-Help command downloads the newest help for all modules in the session and for modules that are installed on the computer in a location listed in the PSModulePath environment variable. Modules that do not support Updatable Help are skipped without warning.</maml:para><maml:para>The Save-Help cmdlet checks the version of any help files in the destination directory and, if newer help files are available, it downloads the newest help files from the Internet and saves them in the directory. The Save-Help cmdlet works just like the Update-Help cmdlet, except that it saves the downloaded cabinet (.cab) files in a directory, instead of extracting the help files from the cabinet files and installing them on the computer.</maml:para><maml:para>The saved help for each module consists of one help information (HelpInfo XML) file and one cabinet (.cab) file for the help files each UI culture. You do not need to extract the help files from the cabinet file. The Update-Help cmdlet extracts the help files, validates the XML for safety, and then installs the help files and the help information file in a language-specific subdirectory of the module directory.</maml:para><maml:para>To save the help files for modules in the Windows PowerShell installation directory ($pshome\Modules), start Windows PowerShell with the "Run as administrator" option. You must be a member of the Administrators group on the computer to download the help files for these modules.</maml:para><maml:para>This cmdlet is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>Save-Help</maml:name><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="false" position="1" aliases=""><maml:name>DestinationPath</maml:name><maml:description><maml:para>Specifies the path to the directory in which the help files are saved. Enter the path to a directory. Do not specify a file name or file name extension.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="true (ByPropertyName)" position="2" aliases="none"><maml:name>FullyQualifiedModule</maml:name><maml:description><maml:para>Specifies modules with names that are specified in the form of ModuleSpecification objects (described by the Remarks section of <maml:navigationLink><maml:linkText>Module Specification Constructor (Hashtable)</maml:linkText><maml:uri></maml:uri></maml:navigationLink> on MSDN). For example, the FullyQualifiedModule parameter accepts a module name that is specified in the format @{ModuleName = "modulename"; ModuleVersion = "version_number"} or @{ModuleName = "modulename"; ModuleVersion = "version_number"; Guid = "GUID"}. ModuleName and ModuleVersion are required, but Guid is optional.</maml:para><maml:para>You cannot specify the FullyQualifiedModule parameter in the same command as a Module parameter; the two parameters are mutually exclusive.</maml:para></maml:description><command:parameterValue required="false" variableLength="true">ModuleSpecification[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="true (ByPropertyName)" position="2" aliases=""><maml:name>Module</maml:name><maml:description><maml:para>Downloads help for the specified modules. Enter one or more module names or name patters in a comma-separated list or in a file with one module name on each line. Wildcard characters are permitted. You can also pipe module objects from the Get-Module cmdlet to Save-Help. </maml:para><maml:para>By default, Save-Help downloads help for all modules that support Updatable Help and are installed on the local computer in a location listed in the PSModulePath environment variable.</maml:para><maml:para>To save help for modules that are not installed on the computer, run a Get-Module command on a remote computer. Then pipe the resulting module objects to the Save-Help cmdlet or submit the module objects as the value of the Module or InputObject parameters.</maml:para><maml:para>If the module that you specify is installed on the computer, you can enter the module name or a module object. If the module is not installed on the computer, you must enter a module object, such as one returned by the Get-Module cmdlet.</maml:para><maml:para>The Module parameter of the Save-Help cmdlet does not accept the full path to a module file or module manifest file. To save help for a module that is not in a PSModulePath location, import the module into the current session before running the Save-Help command.</maml:para><maml:para>A value of "*" (all) attempts to update help for all modules that are installed on the computer, including modules that do not support Updatable Help. This value might generate errors as the command encounters modules that do not support Updatable Help.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="3" aliases=""><maml:name>UICulture</maml:name><maml:description><maml:para>Gets updated help files for the specified UI culture. Enter one or more language codes, such as "es-ES", a variable that contains culture objects, or a command that gets culture objects, such as a Get-Culture or Get-UICulture command.</maml:para><maml:para>Wildcards are not permitted and you cannot submit a partial language code, such as "de".</maml:para><maml:para>By default, Save-Help gets help files in the UI culture set for Windows or its fallback culture. If you use the UICulture parameter, Save-Help looks for help only for the specified UI culture, not in any fallback culture.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">CultureInfo[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Credential</maml:name><maml:description><maml:para>Runs the command with credentials of a user who has permission to access the file system location specified by the DestinationPath parameter. This parameter is valid only when the DestinationPath or LiteralPath parameter is used in the command.</maml:para><maml:para>This parameter enables you to run Save-Help commands with the DestinationPath parameter on remote computers. By providing explicit credentials, you can run the command on a remote computer and access a file share on a third computer without encountering an "access denied" error or using CredSSP authentication to delegate credentials.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Force</maml:name><maml:description><maml:para>Overrides the once-per-day limitation, circumvents version checking, and downloads files that exceed the 1 GB limit</maml:para><maml:para>Without this parameter, only one Save-Help command for each module is permitted in each 24-hour period, downloads are limited to 1 GB of uncompressed content per module, and help files for a module are installed only when they are newer than the files on the computer.</maml:para><maml:para>The once-per-day limit protects the servers that host the help files, and makes it practical for you to add a Save-Help command to your Windows PowerShell profile.</maml:para><maml:para>To save help for a module in multiple UI cultures without the Force parameter, include all UI cultures in the same command, such as: Save-Help -Module PSScheduledJobs -UICulture en-US, fr-FR, pt-BR</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>UseDefaultCredentials</maml:name><maml:description><maml:para>Runs the command, including the web download, with the credentials of the current user. By default, the command runs without explicit credentials.</maml:para><maml:para>This parameter is effective only when the web download uses NTLM, negotiate, or Kerberos-based authentication.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Save-Help</maml:name><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="true (ByPropertyName)" position="2" aliases="none"><maml:name>FullyQualifiedModule</maml:name><maml:description><maml:para>Specifies modules with names that are specified in the form of ModuleSpecification objects (described by the Remarks section of <maml:navigationLink><maml:linkText>Module Specification Constructor (Hashtable)</maml:linkText><maml:uri></maml:uri></maml:navigationLink> on MSDN). For example, the FullyQualifiedModule parameter accepts a module name that is specified in the format @{ModuleName = "modulename"; ModuleVersion = "version_number"} or @{ModuleName = "modulename"; ModuleVersion = "version_number"; Guid = "GUID"}. ModuleName and ModuleVersion are required, but Guid is optional.</maml:para><maml:para>You cannot specify the FullyQualifiedModule parameter in the same command as a Module parameter; the two parameters are mutually exclusive.</maml:para></maml:description><command:parameterValue required="false" variableLength="true">ModuleSpecification[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="true (ByPropertyName)" position="2" aliases=""><maml:name>Module</maml:name><maml:description><maml:para>Downloads help for the specified modules. Enter one or more module names or name patters in a comma-separated list or in a file with one module name on each line. Wildcard characters are permitted. You can also pipe module objects from the Get-Module cmdlet to Save-Help. </maml:para><maml:para>By default, Save-Help downloads help for all modules that support Updatable Help and are installed on the local computer in a location listed in the PSModulePath environment variable.</maml:para><maml:para>To save help for modules that are not installed on the computer, run a Get-Module command on a remote computer. Then pipe the resulting module objects to the Save-Help cmdlet or submit the module objects as the value of the Module or InputObject parameters.</maml:para><maml:para>If the module that you specify is installed on the computer, you can enter the module name or a module object. If the module is not installed on the computer, you must enter a module object, such as one returned by the Get-Module cmdlet.</maml:para><maml:para>The Module parameter of the Save-Help cmdlet does not accept the full path to a module file or module manifest file. To save help for a module that is not in a PSModulePath location, import the module into the current session before running the Save-Help command.</maml:para><maml:para>A value of "*" (all) attempts to update help for all modules that are installed on the computer, including modules that do not support Updatable Help. This value might generate errors as the command encounters modules that do not support Updatable Help.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="3" aliases=""><maml:name>UICulture</maml:name><maml:description><maml:para>Gets updated help files for the specified UI culture. Enter one or more language codes, such as "es-ES", a variable that contains culture objects, or a command that gets culture objects, such as a Get-Culture or Get-UICulture command.</maml:para><maml:para>Wildcards are not permitted and you cannot submit a partial language code, such as "de".</maml:para><maml:para>By default, Save-Help gets help files in the UI culture set for Windows or its fallback culture. If you use the UICulture parameter, Save-Help looks for help only for the specified UI culture, not in any fallback culture.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">CultureInfo[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Credential</maml:name><maml:description><maml:para>Runs the command with credentials of a user who has permission to access the file system location specified by the DestinationPath parameter. This parameter is valid only when the DestinationPath or LiteralPath parameter is used in the command.</maml:para><maml:para>This parameter enables you to run Save-Help commands with the DestinationPath parameter on remote computers. By providing explicit credentials, you can run the command on a remote computer and access a file share on a third computer without encountering an "access denied" error or using CredSSP authentication to delegate credentials.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Force</maml:name><maml:description><maml:para>Overrides the once-per-day limitation, circumvents version checking, and downloads files that exceed the 1 GB limit</maml:para><maml:para>Without this parameter, only one Save-Help command for each module is permitted in each 24-hour period, downloads are limited to 1 GB of uncompressed content per module, and help files for a module are installed only when they are newer than the files on the computer.</maml:para><maml:para>The once-per-day limit protects the servers that host the help files, and makes it practical for you to add a Save-Help command to your Windows PowerShell profile.</maml:para><maml:para>To save help for a module in multiple UI cultures without the Force parameter, include all UI cultures in the same command, such as: Save-Help -Module PSScheduledJobs -UICulture en-US, fr-FR, pt-BR</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>UseDefaultCredentials</maml:name><maml:description><maml:para>Runs the command, including the web download, with the credentials of the current user. By default, the command runs without explicit credentials.</maml:para><maml:para>This parameter is effective only when the web download uses NTLM, negotiate, or Kerberos-based authentication.</maml:para></maml:description></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>LiteralPath</maml:name><maml:description><maml:para>Specifies a path to the destination directory. Unlike the value of the DestinationPath parameter, the value of the LiteralPath parameter is used exactly as it is typed. No characters are interpreted as wildcards. If the path includes escape characters, enclose it in single quotation marks. Single quotation marks tell Windows PowerShell not to interpret any characters as escape sequences.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Credential</maml:name><maml:description><maml:para>Runs the command with credentials of a user who has permission to access the file system location specified by the DestinationPath parameter. This parameter is valid only when the DestinationPath or LiteralPath parameter is used in the command.</maml:para><maml:para>This parameter enables you to run Save-Help commands with the DestinationPath parameter on remote computers. By providing explicit credentials, you can run the command on a remote computer and access a file share on a third computer without encountering an "access denied" error or using CredSSP authentication to delegate credentials.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue><dev:type><maml:name>PSCredential</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="false" position="1" aliases=""><maml:name>DestinationPath</maml:name><maml:description><maml:para>Specifies the path to the directory in which the help files are saved. Enter the path to a directory. Do not specify a file name or file name extension.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Force</maml:name><maml:description><maml:para>Overrides the once-per-day limitation, circumvents version checking, and downloads files that exceed the 1 GB limit</maml:para><maml:para>Without this parameter, only one Save-Help command for each module is permitted in each 24-hour period, downloads are limited to 1 GB of uncompressed content per module, and help files for a module are installed only when they are newer than the files on the computer.</maml:para><maml:para>The once-per-day limit protects the servers that host the help files, and makes it practical for you to add a Save-Help command to your Windows PowerShell profile.</maml:para><maml:para>To save help for a module in multiple UI cultures without the Force parameter, include all UI cultures in the same command, such as: Save-Help -Module PSScheduledJobs -UICulture en-US, fr-FR, pt-BR</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>LiteralPath</maml:name><maml:description><maml:para>Specifies a path to the destination directory. Unlike the value of the DestinationPath parameter, the value of the LiteralPath parameter is used exactly as it is typed. No characters are interpreted as wildcards. If the path includes escape characters, enclose it in single quotation marks. Single quotation marks tell Windows PowerShell not to interpret any characters as escape sequences.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="true (ByPropertyName)" position="2" aliases="none"><maml:name>FullyQualifiedModule</maml:name><maml:description><maml:para>Specifies modules with names that are specified in the form of ModuleSpecification objects (described by the Remarks section of <maml:navigationLink><maml:linkText>Module Specification Constructor (Hashtable)</maml:linkText><maml:uri></maml:uri></maml:navigationLink> on MSDN). For example, the FullyQualifiedModule parameter accepts a module name that is specified in the format @{ModuleName = "modulename"; ModuleVersion = "version_number"} or @{ModuleName = "modulename"; ModuleVersion = "version_number"; Guid = "GUID"}. ModuleName and ModuleVersion are required, but Guid is optional.</maml:para><maml:para>You cannot specify the FullyQualifiedModule parameter in the same command as a Module parameter; the two parameters are mutually exclusive.</maml:para></maml:description><command:parameterValue required="false" variableLength="true">ModuleSpecification[]</command:parameterValue><dev:type><maml:name>ModuleSpecification[]</maml:name><maml:uri /></dev:type><dev:defaultValue>All imported or available modules.</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="true (ByPropertyName)" position="2" aliases=""><maml:name>Module</maml:name><maml:description><maml:para>Downloads help for the specified modules. Enter one or more module names or name patters in a comma-separated list or in a file with one module name on each line. Wildcard characters are permitted. You can also pipe module objects from the Get-Module cmdlet to Save-Help. </maml:para><maml:para>By default, Save-Help downloads help for all modules that support Updatable Help and are installed on the local computer in a location listed in the PSModulePath environment variable.</maml:para><maml:para>To save help for modules that are not installed on the computer, run a Get-Module command on a remote computer. Then pipe the resulting module objects to the Save-Help cmdlet or submit the module objects as the value of the Module or InputObject parameters.</maml:para><maml:para>If the module that you specify is installed on the computer, you can enter the module name or a module object. If the module is not installed on the computer, you must enter a module object, such as one returned by the Get-Module cmdlet.</maml:para><maml:para>The Module parameter of the Save-Help cmdlet does not accept the full path to a module file or module manifest file. To save help for a module that is not in a PSModulePath location, import the module into the current session before running the Save-Help command.</maml:para><maml:para>A value of "*" (all) attempts to update help for all modules that are installed on the computer, including modules that do not support Updatable Help. This value might generate errors as the command encounters modules that do not support Updatable Help.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>All (*)</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="3" aliases=""><maml:name>UICulture</maml:name><maml:description><maml:para>Gets updated help files for the specified UI culture. Enter one or more language codes, such as "es-ES", a variable that contains culture objects, or a command that gets culture objects, such as a Get-Culture or Get-UICulture command.</maml:para><maml:para>Wildcards are not permitted and you cannot submit a partial language code, such as "de".</maml:para><maml:para>By default, Save-Help gets help files in the UI culture set for Windows or its fallback culture. If you use the UICulture parameter, Save-Help looks for help only for the specified UI culture, not in any fallback culture.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">CultureInfo[]</command:parameterValue><dev:type><maml:name>CultureInfo[]</maml:name><maml:uri /></dev:type><dev:defaultValue>Current UI culture</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>UseDefaultCredentials</maml:name><maml:description><maml:para>Runs the command, including the web download, with the credentials of the current user. By default, the command runs without explicit credentials.</maml:para><maml:para>This parameter is effective only when the web download uses NTLM, negotiate, or Kerberos-based authentication.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name>System.Management.Automation.PSModuleInfo</maml:name><maml:uri>http://go.microsoft.com/fwlink/?LinkId=204114</maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You can pipe a module object from the Get-Module cmdlet to the Module parameter of Save-Help.</maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name>None</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>Save-Help does not generate any output.</maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><maml:alertSet><maml:title /><maml:alert><maml:para>To save help for modules in the $pshome\Modules directory, start Windows PowerShell with the "Run as administrator" option. Only members of the Administrators group on the computer can download help for the for modules in the $pshome\Modules directory.</maml:para></maml:alert><maml:alert><maml:para>The saved help for each module consists of one help information (HelpInfo XML) file and one cabinet (.cab) file for the help files each UI culture. You do not need to extract the help files from the cabinet file. The Update-Help cmdlet extracts the help files, validates the XML, and then installs the help files and the help information file in a language-specific subdirectory of the module directory.</maml:para></maml:alert><maml:alert><maml:para>The Save-Help cmdlet can save help for modules that are not installed on the computer. However, because help files are installed in the module directory, the Update-Help cmdlet can install updated help file only for modules that are installed on the computer.</maml:para></maml:alert><maml:alert><maml:para>If Save-Help cannot find updated help files for a module, or cannot find updated help files in the specified language, it continues silently without displaying an error message. To see which files were saved by the command, use the Verbose parameter.</maml:para></maml:alert><maml:alert><maml:para>Modules are the smallest unit of updatable help. You cannot save help for a particular cmdlet; only for all cmdlets in module. To find the module that contains a particular cmdlet, use the ModuleName property of the Get-Command cmdlet, for example, (Get-Command &lt;cmdlet-name&gt;).ModuleName</maml:para></maml:alert><maml:alert><maml:para>Save-Help supports all modules and the Windows PowerShell Core snap-ins. It does not support any other snap-ins.</maml:para></maml:alert><maml:alert><maml:para>The Update-Help and Save-Help cmdlets use the following ports to download help files: Port 80 for HTTP and port 443 for HTTPS.</maml:para></maml:alert><maml:alert><maml:para>The Update-Help and Save-Help cmdlets are not supported on Windows Preinstallation Environment (Windows PE).</maml:para></maml:alert></maml:alertSet><command:examples><command:example><maml:title>Example 1: Save the help for the DhcpServer module </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;# Option 1: Run Invoke-Command to get the PSModuleInfo object for the remote DHCP Server module, save the PSModuleInfo object in the variable $m, and then run Save-Help.
 
$m = Invoke-Command -ComputerName RemoteServer -ScriptBlock { Get-Module -Name DhcpServer -ListAvailable }
Save-Help -Module $m -DestinationPath C:\SavedHelp
 
 
# Option 2: Open a PSSession--targeted at the remote computer that is running the DhcpServer module--to get the PSModuleInfo object for the remote module, and then run Save-Help.
 
$s = New-PSSession -ComputerName RemoteServer
$m = Get-Module -PSSession $s -Name DhcpServer -ListAvailable
Save-Help -Module $m -DestinationPath C:\SavedHelp
 
 
# Option 3: Open a CIM session--targeted at the remote computer that is running the DhcpServer module--to get the PSModuleInfo object for the remote module, and then run Save-Help.
 
$c = New-CimSession -ComputerName RemoteServer
$m = Get-Module -CimSession $c -Name DhcpServer -ListAvailable
Save-Help -Module $m -DestinationPath C:\SavedHelp
</dev:code><dev:remarks><maml:para>This example shows three different ways to use Save-Help to save the help for the DhcpServer module from an Internet-connected client computer, without installing the DhcpServer module or the DHCP Server role on the local computer.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>Example 2: Install help for the DhcpServer module</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;# First, run Export-CliXml to export the PSModuleInfo object to a shared folder or to removable media.
 
$m = Get-Module -Name DhcpServer –ListAvailable
Export-CliXml –Path E:\UsbFlashDrive\DhcpModule.xml –InputObject $m
 
# Next, transport the removable media to a computer that has Internet access, and then import the PSModuleInfo object with Import-CliXml. Run Save-Help to save the Help for the imported DhcpServer module PSModuleInfo object.
 
$deserialized_m = Import-CliXml E:\UsbFlashDrive\DhcpModule.xml
Save-Help -Module $deserialized_m -DestinationPath E:\UsbFlashDrive\SavedHelp
 
# Finally, transport the removable media back to the computer that does not have network access, and then install the help by running Update-Help.
Update-Help –Module DhcpServer –SourcePath E:\UsbFlashDrive\SavedHelp
</dev:code><dev:remarks><maml:para>This example shows how to install help that you saved in Example 1 for the DhcpServer module on a computer that does not have Internet access.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>Example 3: Save help for all modules</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Save-Help –DestinationPath \\Server01\FileShare01
</dev:code><dev:remarks><maml:para>This command downloads the newest help files for all modules in the UI culture set for Windows on the local computer. It saves the help files in the \\Server01\Fileshare01 directory.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>Example 4: Save help for a module on the computer</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Save-Help –Module ServerManager -DestinationPath \\Server01\FileShare01 -Credential Domain01/Admin01
</dev:code><dev:remarks><maml:para>This command downloads the newest help files for the ServerManager module and saves them in the \\Server01\Fileshare01 directory.</maml:para><maml:para>When a module is installed on the computer, you can type the module name as the value of the Module parameter, even if the module is not imported into the current session.</maml:para><maml:para>The command uses the Credential parameter to supply the credentials of a user who has permission to write to the file share.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>Example 5: Save help for a module on a different computer</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Invoke-Command –ComputerName Server02 {Get-Module –Name CustomSQL –ListAvailable} | Save-Help -DestinationPath \\Server01\FileShare01 -Credential Domain01\Admin01
</dev:code><dev:remarks><maml:para>These commands download the newest help files for the CustomSQL module and save them in the \\Server01\Fileshare01 directory. </maml:para><maml:para>Because the CustomSQL module is not installed on the computer, the sequence includes an Invoke-Command command that gets the module object for the CustomSQL module from the Server02 computer and then pipes the module object to the Save-Help cmdlet. </maml:para><maml:para>When a module is not installed on the computer, Save-Help needs the module object, which includes information about the location of the newest help files.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>Example 6: Save help for a module in multiple languages</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Save-Help –Module Microsoft.PowerShell* -UICulture de-DE, en-US, fr-FR, ja-JP -DestinationPath D:\Help
</dev:code><dev:remarks><maml:para>This command saves help for the Windows PowerShell Core modules in four different UI cultures. The language packs for these locales do not need to be installed on the computer.</maml:para><maml:para>Save-Help can download help files for modules in different UI cultures only when the module owner makes the translated files available on the Internet.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>Example 7: Save help more than once each day</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Save-Help –Force –DestinationPath \\Server3\AdminShare\Help
</dev:code><dev:remarks><maml:para>This command saves help for all modules that are installed on the computer. The command uses It uses the Force parameter to override the rule that prevents the Save-Help cmdlet from downloading help more than once in each 24-hour period.</maml:para><maml:para>The Force parameter also overrides the 1 GB restriction and circumvents version checking, so you can download files even if the version is not greater than the version in the destination directory.</maml:para><maml:para>The command uses the Save-Help cmdlet to download and save the help files to the specified directory. The Force parameter is required when you need to run a Save-Help command more than once each day. </maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=289611</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Updatable Help Status Table (http://go.microsoft.com/fwlink/?LinkID=270007)</maml:linkText><maml:uri></maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Get-Culture</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Get-Help</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Get-Module</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Get-UICulture</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Update-Help</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>Set-PSDebug</command:name><maml:description><maml:para>Turns script debugging features on and off, sets the trace level, and toggles strict mode.</maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>Set</command:verb><command:noun>PSDebug</command:noun><dev:version /></command:details><maml:description><maml:para>The Set-PSDebug cmdlet turns script debugging features on and off, sets the trace level, and toggles strict mode.</maml:para><maml:para>When the Trace parameter is set to 1, each line of script is traced as it is executed. When the parameter is set to 2, variable assignments, function calls, and script calls are also traced. If the Step parameter is specified, you are prompted before each line of the script is executed.</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>Set-PSDebug</maml:name><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Off</maml:name><maml:description><maml:para>Turns off all script debugging features.</maml:para><maml:para>Note: A "set-strictmode -off" command disables the verification set by a "set-psdebug -strict" command. For more information, see Set-StrictMode.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Set-PSDebug</maml:name><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Step</maml:name><maml:description><maml:para>Turns on script stepping. Before each line is run, the user is prompted to stop, continue, or enter a new interpreter level to inspect the state of the script.</maml:para><maml:para>Note: Specifying the Step parameter automatically sets a Trace level of 1.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Strict</maml:name><maml:description><maml:para>Specifies that the interpreter should throw an exception if a variable is referenced before a value is assigned to the variable.</maml:para><maml:para>Note: A "set-strictmode -off" command disables the verification set by a "set-psdebug -strict" command. For more information, see Set-StrictMode.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Trace</maml:name><maml:description><maml:para>Specifies the trace level:</maml:para><maml:para>0 - Turn script tracing off</maml:para><maml:para>1 - Trace script lines as they are executed</maml:para><maml:para>2 - Trace script lines, variable assignments, function calls, and scripts.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Off</maml:name><maml:description><maml:para>Turns off all script debugging features.</maml:para><maml:para>Note: A "set-strictmode -off" command disables the verification set by a "set-psdebug -strict" command. For more information, see Set-StrictMode.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Step</maml:name><maml:description><maml:para>Turns on script stepping. Before each line is run, the user is prompted to stop, continue, or enter a new interpreter level to inspect the state of the script.</maml:para><maml:para>Note: Specifying the Step parameter automatically sets a Trace level of 1.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Strict</maml:name><maml:description><maml:para>Specifies that the interpreter should throw an exception if a variable is referenced before a value is assigned to the variable.</maml:para><maml:para>Note: A "set-strictmode -off" command disables the verification set by a "set-psdebug -strict" command. For more information, see Set-StrictMode.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Trace</maml:name><maml:description><maml:para>Specifies the trace level:</maml:para><maml:para>0 - Turn script tracing off</maml:para><maml:para>1 - Trace script lines as they are executed</maml:para><maml:para>2 - Trace script lines, variable assignments, function calls, and scripts.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue><dev:type><maml:name>Int32</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name>None</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You cannot pipe input to this cmdlet.</maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name>None</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>This cmdlet does not return any output.</maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><command:examples><command:example><maml:title>
  
-------------------------- EXAMPLE 1 --------------------------
  
</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;set-psdebug -trace 2; foreach ($i in 1..3) {$i}
 
DEBUG: 1+ Set-PsDebug -trace 2; foreach ($i in 1..3) {$i}
DEBUG: 1+ Set-PsDebug -trace 2; foreach ($i in 1..3) {$i}
1
DEBUG: 1+ Set-PsDebug -trace 2; foreach ($i in 1..3) {$i}
2
DEBUG: 1+ Set-PsDebug -trace 2; foreach ($i in 1..3) {$i}
3
</dev:code><dev:remarks><maml:para>This command sets the trace level to 2, and then runs a script that displays the numbers 1, 2, and 3.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 2 --------------------------
  
</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;set-psdebug -step; foreach ($i in 1..3) {$i}
 
DEBUG: 1+ Set-PsDebug -step; foreach ($i in 1..3) {$i}
Continue with this operation?
1+ Set-PsDebug -step; foreach ($i in 1..3) {$i}
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help
(default is "Y"):a
DEBUG: 1+ Set-PsDebug -step; foreach ($i in 1..3) {$i}
1
2
3
</dev:code><dev:remarks><maml:para>This command turns on stepping and then</maml:para><maml:para>runs a script that displays the numbers 1, 2, and 3.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 3 --------------------------
  
</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;set-psdebug -off; foreach ($i in 1..3) {$i}
1
2
3
</dev:code><dev:remarks><maml:para>This command turns off all debugging features, and then runs a script that displays the numbers 1, 2, and 3.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 4 --------------------------
  
</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;set-psdebug -strict; $NewVar
The variable $NewVar cannot be retrieved because it has not been set yet.
At line:1 char:28
+ Set-PsDebug -strict;$NewVar &lt;&lt;&lt;&lt;
</dev:code><dev:remarks><maml:para>This command puts the interpreter in strict mode, and attempts to access a variable that has not yet been set.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=289612</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Debug-Process</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Set-PSBreakpoint</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Set-StrictMode</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Write-Debug</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Debuggers</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>Set-PSSessionConfiguration</command:name><maml:description><maml:para>Changes the properties of a registered session configuration.</maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>Set</command:verb><command:noun>PSSessionConfiguration</command:noun><dev:version /></command:details><maml:description><maml:para>The Set-PSSessionConfiguration cmdlet changes the properties of the session configurations on the local computer.</maml:para><maml:para>Use the Name parameter to identify the session configuration that you want to change. Use the other parameters to specify new values for the properties of the session configuration. To delete a property value from the configuration (and use the default value), enter an empty string ("") or a value of $null for the corresponding parameter.</maml:para><maml:para>Beginning in Windows PowerShell 3.0, you can use a session configuration file to define a session configuration. This feature provides a simple and discoverable method for setting and changing the properties of sessions that use the session configuration. To specify a session configuration file, use the Path parameter of Set-PSSessionConfiguration. For information about session configuration files, see about_Session_Configuration_Files (http://go.microsoft.com/fwlink/?LinkID=236023). For information about creating and editing a session configuration file, see New-PSSessionConfigurationFile.</maml:para><maml:para>Session configurations define the environment of remote sessions (PSSessions) that connect to the local computer. Every PSSession uses a session configuration. The session configuration determines the features of the PSSession, such as the modules that are available in the session, the cmdlets that are permitted to run, the language mode, quotas, and timeouts. The security descriptor (SDDL) of the session configuration determines who can use the session configuration to connect to the local computer. For more information about session configurations, see about_Session_Configurations.</maml:para><maml:para>To see the properties of a session configuration, use the Get-PSSessionConfiguration cmdlet or the WSMan Provider. For more information about the WSMan Provider, type "Get-Help WSMan".</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>Set-PSSessionConfiguration</maml:name><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Specifies the name of the session configuration that you want to change.</maml:para><maml:para>You cannot use this parameter to change the name of the session configuration.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>AccessMode</maml:name><maml:description><maml:para>Enables and disables the session configuration and determines whether it can be used for remote or local sessions on the computer. Remote is the default.</maml:para><maml:para>Valid values are:</maml:para><maml:para></maml:para><maml:para>-- Disabled: Disables the session configuration. It cannot be used for remote or local access to the computer. This value sets the Enabled property of the session configuration (WSMan:\&lt;ComputerName&gt;\PlugIn\&lt;SessionConfigurationName&gt;\Enabled) to False.</maml:para><maml:para></maml:para><maml:para>-- Local: Adds a Network_Deny_All entry to security descriptor of the session configuration. Users of the local computer can use the session configuration to create a local "loopback" session on the same computer, but remote users are denied access.</maml:para><maml:para></maml:para><maml:para>
                         
-- Remote: Removes Deny_All and Network_Deny_All entries from the security descriptors of the session configuration. Users of local and remote computers can use the session configuration to create sessions and run commands on this computer.</maml:para><maml:para>The value of this parameter can be overridden by the actions of other cmdlets. For example, the Enable-PSRemoting cmdlet enables all session configurations on the computer and permits remote access to them, and the Disable-PSRemoting cmdlet permits only local access to all session configurations on the computer.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSSessionConfigurationAccessMode</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ApplicationBase</maml:name><maml:description><maml:para>Specifies the path to the assembly file (*.dll) that is specified in the value of the AssemblyName parameter.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Force</maml:name><maml:description><maml:para>Suppresses all user prompts, and restarts the WinRM service without prompting. Restarting the service makes the configuration change effective.</maml:para><maml:para>To prevent a restart and suppress the restart prompt, use the NoServiceRestart parameter.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>MaximumReceivedDataSizePerCommandMB</maml:name><maml:description><maml:para>Changes the limit on the amount of data that can be sent to this computer in any single remote command. Enter the data size in megabytes (MB). The default is 50 MB.</maml:para><maml:para>If a data size limit is defined in the configuration type that is specified in the ConfigurationTypeName parameter, the limit in the configuration type is used and the value of this parameter is ignored.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Double</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>MaximumReceivedObjectSizeMB</maml:name><maml:description><maml:para>Changes the limits on the amount of data that can be sent to this computer in any single object. Enter the data size in megabytes (MB). The default is 10 MB.</maml:para><maml:para>If an object size limit is defined in the configuration type that is specified in the ConfigurationTypeName parameter, the limit in the configuration type is used and the value of this parameter is ignored.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Double</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ModulesToImport</maml:name><maml:description><maml:para>Specifies the modules and snap-ins that are automatically imported into sessions that use the session configuration. Enter the module and snap-in names.</maml:para><maml:para>By default, only the Microsoft.PowerShell.Core snap-in is imported into sessions, but unless the cmdlets are excluded, users can use the Import-Module and Add-PSSnapin cmdlets to add modules and snap-ins to the session.</maml:para><maml:para>The modules specified in this parameter value are imported in additions to modules specified in the session configuration file (New-PSSessionConfigurationFile). However, settings in the session configuration file can hide the commands exported by modules or prevent users from using them.</maml:para><maml:para>The modules specified in this parameter value replace the list of modules specified by using the ModulesToImport parameter of the Register-PSSessionConfiguration cmdlet.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>NoServiceRestart</maml:name><maml:description><maml:para>Does not restart the WinRM service, and suppresses the prompt to restart the service.</maml:para><maml:para>By default, when you enter a Set-PSSessionConfiguration command, you are prompted to restart the WinRM service to make the new session configuration effective. Until the WinRM service is restarted, the new session configuration is not effective.</maml:para><maml:para>To restart the WinRM service without prompting, use the Force parameter. To restart the WinRM service manually, use the Restart-Service cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="PowerShellVersion"><maml:name>PSVersion</maml:name><maml:description><maml:para>Specifies the version of Windows PowerShell in sessions that use this session configuration.</maml:para><maml:para> The value of this parameter takes precedence over the value of the PowerShellVersion key in the session configuration file.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Version</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>RunAsCredential</maml:name><maml:description><maml:para>Runs commands in the session with the permissions of the specified user. By default, commands run with the permissions of the current user.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SecurityDescriptorSddl</maml:name><maml:description><maml:para>Specifies a different Security Descriptor Definition Language (SDDL) string for the configuration.</maml:para><maml:para>This string determines the permissions that are required to use the new session configuration. To use a session configuration in a session, users must have at least "Execute(Invoke)" permission for the configuration.</maml:para><maml:para>To use the default security descriptor for the configuration, enter an empty string ("") or a value of $null. The default is the root SDDL in the WSMan: drive.</maml:para><maml:para>If the security descriptor is complex, consider using the ShowSecurityDescriptorUI parameter instead of this one. You cannot use both parameters in the same command.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SessionTypeOption</maml:name><maml:description><maml:para>Sets type-specific options for the session configuration. Enter a session type options object, such as the PSWorkflowExecutionOption object that the New-PSWorkflowExecutionOption cmdlet returns.</maml:para><maml:para>The options of sessions that use the session configuration are determined by the values of session options and the session configuration options. Unless specified, options set in the session, such as by using the New-PSSessionOption cmdlet, take precedence over options set in the session configuration. However, session option values cannot exceed maximum values set in the session configuration.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSSessionTypeOption</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ShowSecurityDescriptorUI</maml:name><maml:description><maml:para>Displays a property sheet that helps you to create a new SDDL for the session configuration. The property sheet appears after you enter the Set-PSSessionConfiguration command and then restart the WinRM service.</maml:para><maml:para>When setting the permissions to the configuration, remember that users must have at least "Execute(Invoke)" permission to use the session configuration in a session.</maml:para><maml:para>You cannot use the SecurityDescriptorSDDL parameter and this parameter in the same command.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>StartupScript</maml:name><maml:description><maml:para>Adds or changes the startup script for the configuration. Enter the fully qualified path to a Windows PowerShell script. The specified script runs in the new session that uses the session configuration.</maml:para><maml:para>To delete a startup script from a session configuration, enter an empty string ("") or a value of $null.</maml:para><maml:para>You can use a startup script to further configure the user's session. If the script generates an error (even a non-terminating error), the session is not created and the user's New-PSSession command fails.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ThreadApartmentState</maml:name><maml:description><maml:para>Changes the apartment state setting for the threads in the session. Valid values are STA, MTA and Unknown. Unknown is the default.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">ApartmentState</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ThreadOptions</maml:name><maml:description><maml:para>Changes the thread options setting in the configuration. This setting defines how threads are created and used when a command is executed in the session. Valid values are Default, ReuseThread, UseCurrentThread, and UseNewThread. UseCurrentThread is the default.</maml:para><maml:para>For more information, see "PSThreadOptions Enumeration" in MSDN.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSThreadOptions</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>TransportOption</maml:name><maml:description><maml:para>Sets transport options for the session configuration. Enter a transport options object, such as the WSManConfigurationOption object that the New-PSTransportOption cmdlet returns.</maml:para><maml:para>The options of sessions that use the session configuration are determined by the values of session options and the session configuration options. Unless specified, options set in the session, such as by using the New-PSSessionOption cmdlet, take precedence over options set in the session configuration. However, session option values cannot exceed maximum values set in the session configuration.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSTransportOption</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>UseSharedProcess</maml:name><maml:description><maml:para>Use only one process to host all sessions that are started by the same user and use the same session configuration. By default, each session is hosted in its own process.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Set-PSSessionConfiguration</maml:name><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Specifies the name of the session configuration that you want to change.</maml:para><maml:para>You cannot use this parameter to change the name of the session configuration.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="2" aliases=""><maml:name>AssemblyName</maml:name><maml:description><maml:para>Creates a session configuration based on a class that is defined in an assembly.</maml:para><maml:para>Enter the path (optional) and file name of an assembly (a .dll file) that defines a session configuration. If you enter only the name, you can enter the path in the value of the ApplicationBase parameter.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="3" aliases=""><maml:name>ConfigurationTypeName</maml:name><maml:description><maml:para>Specifies the type of the session configuration that is defined in the assembly in the AssemblyName parameter. The type that you specify must implement the System.Management.Automation.Remoting.PSSessionConfiguration class.</maml:para><maml:para>This parameter is required when you specify an assembly name.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>AccessMode</maml:name><maml:description><maml:para>Enables and disables the session configuration and determines whether it can be used for remote or local sessions on the computer. Remote is the default.</maml:para><maml:para>Valid values are:</maml:para><maml:para></maml:para><maml:para>-- Disabled: Disables the session configuration. It cannot be used for remote or local access to the computer. This value sets the Enabled property of the session configuration (WSMan:\&lt;ComputerName&gt;\PlugIn\&lt;SessionConfigurationName&gt;\Enabled) to False.</maml:para><maml:para></maml:para><maml:para>-- Local: Adds a Network_Deny_All entry to security descriptor of the session configuration. Users of the local computer can use the session configuration to create a local "loopback" session on the same computer, but remote users are denied access.</maml:para><maml:para></maml:para><maml:para>
                         
-- Remote: Removes Deny_All and Network_Deny_All entries from the security descriptors of the session configuration. Users of local and remote computers can use the session configuration to create sessions and run commands on this computer.</maml:para><maml:para>The value of this parameter can be overridden by the actions of other cmdlets. For example, the Enable-PSRemoting cmdlet enables all session configurations on the computer and permits remote access to them, and the Disable-PSRemoting cmdlet permits only local access to all session configurations on the computer.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSSessionConfigurationAccessMode</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ApplicationBase</maml:name><maml:description><maml:para>Specifies the path to the assembly file (*.dll) that is specified in the value of the AssemblyName parameter.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Force</maml:name><maml:description><maml:para>Suppresses all user prompts, and restarts the WinRM service without prompting. Restarting the service makes the configuration change effective.</maml:para><maml:para>To prevent a restart and suppress the restart prompt, use the NoServiceRestart parameter.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>MaximumReceivedDataSizePerCommandMB</maml:name><maml:description><maml:para>Changes the limit on the amount of data that can be sent to this computer in any single remote command. Enter the data size in megabytes (MB). The default is 50 MB.</maml:para><maml:para>If a data size limit is defined in the configuration type that is specified in the ConfigurationTypeName parameter, the limit in the configuration type is used and the value of this parameter is ignored.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Double</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>MaximumReceivedObjectSizeMB</maml:name><maml:description><maml:para>Changes the limits on the amount of data that can be sent to this computer in any single object. Enter the data size in megabytes (MB). The default is 10 MB.</maml:para><maml:para>If an object size limit is defined in the configuration type that is specified in the ConfigurationTypeName parameter, the limit in the configuration type is used and the value of this parameter is ignored.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Double</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ModulesToImport</maml:name><maml:description><maml:para>Specifies the modules and snap-ins that are automatically imported into sessions that use the session configuration. Enter the module and snap-in names.</maml:para><maml:para>By default, only the Microsoft.PowerShell.Core snap-in is imported into sessions, but unless the cmdlets are excluded, users can use the Import-Module and Add-PSSnapin cmdlets to add modules and snap-ins to the session.</maml:para><maml:para>The modules specified in this parameter value are imported in additions to modules specified in the session configuration file (New-PSSessionConfigurationFile). However, settings in the session configuration file can hide the commands exported by modules or prevent users from using them.</maml:para><maml:para>The modules specified in this parameter value replace the list of modules specified by using the ModulesToImport parameter of the Register-PSSessionConfiguration cmdlet.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>NoServiceRestart</maml:name><maml:description><maml:para>Does not restart the WinRM service, and suppresses the prompt to restart the service.</maml:para><maml:para>By default, when you enter a Set-PSSessionConfiguration command, you are prompted to restart the WinRM service to make the new session configuration effective. Until the WinRM service is restarted, the new session configuration is not effective.</maml:para><maml:para>To restart the WinRM service without prompting, use the Force parameter. To restart the WinRM service manually, use the Restart-Service cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="PowerShellVersion"><maml:name>PSVersion</maml:name><maml:description><maml:para>Specifies the version of Windows PowerShell in sessions that use this session configuration.</maml:para><maml:para> The value of this parameter takes precedence over the value of the PowerShellVersion key in the session configuration file.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Version</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>RunAsCredential</maml:name><maml:description><maml:para>Runs commands in the session with the permissions of the specified user. By default, commands run with the permissions of the current user.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SecurityDescriptorSddl</maml:name><maml:description><maml:para>Specifies a different Security Descriptor Definition Language (SDDL) string for the configuration.</maml:para><maml:para>This string determines the permissions that are required to use the new session configuration. To use a session configuration in a session, users must have at least "Execute(Invoke)" permission for the configuration.</maml:para><maml:para>To use the default security descriptor for the configuration, enter an empty string ("") or a value of $null. The default is the root SDDL in the WSMan: drive.</maml:para><maml:para>If the security descriptor is complex, consider using the ShowSecurityDescriptorUI parameter instead of this one. You cannot use both parameters in the same command.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SessionTypeOption</maml:name><maml:description><maml:para>Sets type-specific options for the session configuration. Enter a session type options object, such as the PSWorkflowExecutionOption object that the New-PSWorkflowExecutionOption cmdlet returns.</maml:para><maml:para>The options of sessions that use the session configuration are determined by the values of session options and the session configuration options. Unless specified, options set in the session, such as by using the New-PSSessionOption cmdlet, take precedence over options set in the session configuration. However, session option values cannot exceed maximum values set in the session configuration.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSSessionTypeOption</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ShowSecurityDescriptorUI</maml:name><maml:description><maml:para>Displays a property sheet that helps you to create a new SDDL for the session configuration. The property sheet appears after you enter the Set-PSSessionConfiguration command and then restart the WinRM service.</maml:para><maml:para>When setting the permissions to the configuration, remember that users must have at least "Execute(Invoke)" permission to use the session configuration in a session.</maml:para><maml:para>You cannot use the SecurityDescriptorSDDL parameter and this parameter in the same command.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>StartupScript</maml:name><maml:description><maml:para>Adds or changes the startup script for the configuration. Enter the fully qualified path to a Windows PowerShell script. The specified script runs in the new session that uses the session configuration.</maml:para><maml:para>To delete a startup script from a session configuration, enter an empty string ("") or a value of $null.</maml:para><maml:para>You can use a startup script to further configure the user's session. If the script generates an error (even a non-terminating error), the session is not created and the user's New-PSSession command fails.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ThreadApartmentState</maml:name><maml:description><maml:para>Changes the apartment state setting for the threads in the session. Valid values are STA, MTA and Unknown. Unknown is the default.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">ApartmentState</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ThreadOptions</maml:name><maml:description><maml:para>Changes the thread options setting in the configuration. This setting defines how threads are created and used when a command is executed in the session. Valid values are Default, ReuseThread, UseCurrentThread, and UseNewThread. UseCurrentThread is the default.</maml:para><maml:para>For more information, see "PSThreadOptions Enumeration" in MSDN.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSThreadOptions</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>TransportOption</maml:name><maml:description><maml:para>Sets transport options for the session configuration. Enter a transport options object, such as the WSManConfigurationOption object that the New-PSTransportOption cmdlet returns.</maml:para><maml:para>The options of sessions that use the session configuration are determined by the values of session options and the session configuration options. Unless specified, options set in the session, such as by using the New-PSSessionOption cmdlet, take precedence over options set in the session configuration. However, session option values cannot exceed maximum values set in the session configuration.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSTransportOption</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>UseSharedProcess</maml:name><maml:description><maml:para>Use only one process to host all sessions that are started by the same user and use the same session configuration. By default, each session is hosted in its own process.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Set-PSSessionConfiguration</maml:name><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Specifies the name of the session configuration that you want to change.</maml:para><maml:para>You cannot use this parameter to change the name of the session configuration.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>AccessMode</maml:name><maml:description><maml:para>Enables and disables the session configuration and determines whether it can be used for remote or local sessions on the computer. Remote is the default.</maml:para><maml:para>Valid values are:</maml:para><maml:para></maml:para><maml:para>-- Disabled: Disables the session configuration. It cannot be used for remote or local access to the computer. This value sets the Enabled property of the session configuration (WSMan:\&lt;ComputerName&gt;\PlugIn\&lt;SessionConfigurationName&gt;\Enabled) to False.</maml:para><maml:para></maml:para><maml:para>-- Local: Adds a Network_Deny_All entry to security descriptor of the session configuration. Users of the local computer can use the session configuration to create a local "loopback" session on the same computer, but remote users are denied access.</maml:para><maml:para></maml:para><maml:para>
                         
-- Remote: Removes Deny_All and Network_Deny_All entries from the security descriptors of the session configuration. Users of local and remote computers can use the session configuration to create sessions and run commands on this computer.</maml:para><maml:para>The value of this parameter can be overridden by the actions of other cmdlets. For example, the Enable-PSRemoting cmdlet enables all session configurations on the computer and permits remote access to them, and the Disable-PSRemoting cmdlet permits only local access to all session configurations on the computer.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSSessionConfigurationAccessMode</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Force</maml:name><maml:description><maml:para>Suppresses all user prompts, and restarts the WinRM service without prompting. Restarting the service makes the configuration change effective.</maml:para><maml:para>To prevent a restart and suppress the restart prompt, use the NoServiceRestart parameter.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>MaximumReceivedDataSizePerCommandMB</maml:name><maml:description><maml:para>Changes the limit on the amount of data that can be sent to this computer in any single remote command. Enter the data size in megabytes (MB). The default is 50 MB.</maml:para><maml:para>If a data size limit is defined in the configuration type that is specified in the ConfigurationTypeName parameter, the limit in the configuration type is used and the value of this parameter is ignored.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Double</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>MaximumReceivedObjectSizeMB</maml:name><maml:description><maml:para>Changes the limits on the amount of data that can be sent to this computer in any single object. Enter the data size in megabytes (MB). The default is 10 MB.</maml:para><maml:para>If an object size limit is defined in the configuration type that is specified in the ConfigurationTypeName parameter, the limit in the configuration type is used and the value of this parameter is ignored.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Double</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>NoServiceRestart</maml:name><maml:description><maml:para>Does not restart the WinRM service, and suppresses the prompt to restart the service.</maml:para><maml:para>By default, when you enter a Set-PSSessionConfiguration command, you are prompted to restart the WinRM service to make the new session configuration effective. Until the WinRM service is restarted, the new session configuration is not effective.</maml:para><maml:para>To restart the WinRM service without prompting, use the Force parameter. To restart the WinRM service manually, use the Restart-Service cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>RunAsCredential</maml:name><maml:description><maml:para>Runs commands in the session with the permissions of the specified user. By default, commands run with the permissions of the current user.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SecurityDescriptorSddl</maml:name><maml:description><maml:para>Specifies a different Security Descriptor Definition Language (SDDL) string for the configuration.</maml:para><maml:para>This string determines the permissions that are required to use the new session configuration. To use a session configuration in a session, users must have at least "Execute(Invoke)" permission for the configuration.</maml:para><maml:para>To use the default security descriptor for the configuration, enter an empty string ("") or a value of $null. The default is the root SDDL in the WSMan: drive.</maml:para><maml:para>If the security descriptor is complex, consider using the ShowSecurityDescriptorUI parameter instead of this one. You cannot use both parameters in the same command.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ShowSecurityDescriptorUI</maml:name><maml:description><maml:para>Displays a property sheet that helps you to create a new SDDL for the session configuration. The property sheet appears after you enter the Set-PSSessionConfiguration command and then restart the WinRM service.</maml:para><maml:para>When setting the permissions to the configuration, remember that users must have at least "Execute(Invoke)" permission to use the session configuration in a session.</maml:para><maml:para>You cannot use the SecurityDescriptorSDDL parameter and this parameter in the same command.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>StartupScript</maml:name><maml:description><maml:para>Adds or changes the startup script for the configuration. Enter the fully qualified path to a Windows PowerShell script. The specified script runs in the new session that uses the session configuration.</maml:para><maml:para>To delete a startup script from a session configuration, enter an empty string ("") or a value of $null.</maml:para><maml:para>You can use a startup script to further configure the user's session. If the script generates an error (even a non-terminating error), the session is not created and the user's New-PSSession command fails.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ThreadApartmentState</maml:name><maml:description><maml:para>Changes the apartment state setting for the threads in the session. Valid values are STA, MTA and Unknown. Unknown is the default.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">ApartmentState</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ThreadOptions</maml:name><maml:description><maml:para>Changes the thread options setting in the configuration. This setting defines how threads are created and used when a command is executed in the session. Valid values are Default, ReuseThread, UseCurrentThread, and UseNewThread. UseCurrentThread is the default.</maml:para><maml:para>For more information, see "PSThreadOptions Enumeration" in MSDN.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSThreadOptions</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>TransportOption</maml:name><maml:description><maml:para>Sets transport options for the session configuration. Enter a transport options object, such as the WSManConfigurationOption object that the New-PSTransportOption cmdlet returns.</maml:para><maml:para>The options of sessions that use the session configuration are determined by the values of session options and the session configuration options. Unless specified, options set in the session, such as by using the New-PSSessionOption cmdlet, take precedence over options set in the session configuration. However, session option values cannot exceed maximum values set in the session configuration.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSTransportOption</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>UseSharedProcess</maml:name><maml:description><maml:para>Use only one process to host all sessions that are started by the same user and use the same session configuration. By default, each session is hosted in its own process.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Path</maml:name><maml:description><maml:para>Adds or replaces a session configuration file (.pssc), such as one created by the New-PSSessionConfigurationFile cmdlet. If you omit the path, the default is the current directory.</maml:para><maml:para>For information about editing a session configuration file, see the help topic for the New-PSSessionConfigurationFile cmdlet.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ApplicationBase</maml:name><maml:description><maml:para>Specifies the path to the assembly file (*.dll) that is specified in the value of the AssemblyName parameter.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="2" aliases=""><maml:name>AssemblyName</maml:name><maml:description><maml:para>Creates a session configuration based on a class that is defined in an assembly.</maml:para><maml:para>Enter the path (optional) and file name of an assembly (a .dll file) that defines a session configuration. If you enter only the name, you can enter the path in the value of the ApplicationBase parameter.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="3" aliases=""><maml:name>ConfigurationTypeName</maml:name><maml:description><maml:para>Specifies the type of the session configuration that is defined in the assembly in the AssemblyName parameter. The type that you specify must implement the System.Management.Automation.Remoting.PSSessionConfiguration class.</maml:para><maml:para>This parameter is required when you specify an assembly name.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Force</maml:name><maml:description><maml:para>Suppresses all user prompts, and restarts the WinRM service without prompting. Restarting the service makes the configuration change effective.</maml:para><maml:para>To prevent a restart and suppress the restart prompt, use the NoServiceRestart parameter.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>MaximumReceivedDataSizePerCommandMB</maml:name><maml:description><maml:para>Changes the limit on the amount of data that can be sent to this computer in any single remote command. Enter the data size in megabytes (MB). The default is 50 MB.</maml:para><maml:para>If a data size limit is defined in the configuration type that is specified in the ConfigurationTypeName parameter, the limit in the configuration type is used and the value of this parameter is ignored.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Double</command:parameterValue><dev:type><maml:name>Double</maml:name><maml:uri /></dev:type><dev:defaultValue>50</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>MaximumReceivedObjectSizeMB</maml:name><maml:description><maml:para>Changes the limits on the amount of data that can be sent to this computer in any single object. Enter the data size in megabytes (MB). The default is 10 MB.</maml:para><maml:para>If an object size limit is defined in the configuration type that is specified in the ConfigurationTypeName parameter, the limit in the configuration type is used and the value of this parameter is ignored.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Double</command:parameterValue><dev:type><maml:name>Double</maml:name><maml:uri /></dev:type><dev:defaultValue>10</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Specifies the name of the session configuration that you want to change.</maml:para><maml:para>You cannot use this parameter to change the name of the session configuration.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>NoServiceRestart</maml:name><maml:description><maml:para>Does not restart the WinRM service, and suppresses the prompt to restart the service.</maml:para><maml:para>By default, when you enter a Set-PSSessionConfiguration command, you are prompted to restart the WinRM service to make the new session configuration effective. Until the WinRM service is restarted, the new session configuration is not effective.</maml:para><maml:para>To restart the WinRM service without prompting, use the Force parameter. To restart the WinRM service manually, use the Restart-Service cmdlet.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="PowerShellVersion"><maml:name>PSVersion</maml:name><maml:description><maml:para>Specifies the version of Windows PowerShell in sessions that use this session configuration.</maml:para><maml:para> The value of this parameter takes precedence over the value of the PowerShellVersion key in the session configuration file.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Version</command:parameterValue><dev:type><maml:name>Version</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>RunAsCredential</maml:name><maml:description><maml:para>Runs commands in the session with the permissions of the specified user. By default, commands run with the permissions of the current user.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue><dev:type><maml:name>PSCredential</maml:name><maml:uri /></dev:type><dev:defaultValue>Current user</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SecurityDescriptorSddl</maml:name><maml:description><maml:para>Specifies a different Security Descriptor Definition Language (SDDL) string for the configuration.</maml:para><maml:para>This string determines the permissions that are required to use the new session configuration. To use a session configuration in a session, users must have at least "Execute(Invoke)" permission for the configuration.</maml:para><maml:para>To use the default security descriptor for the configuration, enter an empty string ("") or a value of $null. The default is the root SDDL in the WSMan: drive.</maml:para><maml:para>If the security descriptor is complex, consider using the ShowSecurityDescriptorUI parameter instead of this one. You cannot use both parameters in the same command.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ShowSecurityDescriptorUI</maml:name><maml:description><maml:para>Displays a property sheet that helps you to create a new SDDL for the session configuration. The property sheet appears after you enter the Set-PSSessionConfiguration command and then restart the WinRM service.</maml:para><maml:para>When setting the permissions to the configuration, remember that users must have at least "Execute(Invoke)" permission to use the session configuration in a session.</maml:para><maml:para>You cannot use the SecurityDescriptorSDDL parameter and this parameter in the same command.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>StartupScript</maml:name><maml:description><maml:para>Adds or changes the startup script for the configuration. Enter the fully qualified path to a Windows PowerShell script. The specified script runs in the new session that uses the session configuration.</maml:para><maml:para>To delete a startup script from a session configuration, enter an empty string ("") or a value of $null.</maml:para><maml:para>You can use a startup script to further configure the user's session. If the script generates an error (even a non-terminating error), the session is not created and the user's New-PSSession command fails.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ThreadApartmentState</maml:name><maml:description><maml:para>Changes the apartment state setting for the threads in the session. Valid values are STA, MTA and Unknown. Unknown is the default.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">ApartmentState</command:parameterValue><dev:type><maml:name>ApartmentState</maml:name><maml:uri /></dev:type><dev:defaultValue>ApartmentState.Unknown</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ThreadOptions</maml:name><maml:description><maml:para>Changes the thread options setting in the configuration. This setting defines how threads are created and used when a command is executed in the session. Valid values are Default, ReuseThread, UseCurrentThread, and UseNewThread. UseCurrentThread is the default.</maml:para><maml:para>For more information, see "PSThreadOptions Enumeration" in MSDN.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSThreadOptions</command:parameterValue><dev:type><maml:name>PSThreadOptions</maml:name><maml:uri /></dev:type><dev:defaultValue>PSThreadOptions.UserCurrentThread</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>UseSharedProcess</maml:name><maml:description><maml:para>Use only one process to host all sessions that are started by the same user and use the same session configuration. By default, each session is hosted in its own process.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>AccessMode</maml:name><maml:description><maml:para>Enables and disables the session configuration and determines whether it can be used for remote or local sessions on the computer. Remote is the default.</maml:para><maml:para>Valid values are:</maml:para><maml:para></maml:para><maml:para>-- Disabled: Disables the session configuration. It cannot be used for remote or local access to the computer. This value sets the Enabled property of the session configuration (WSMan:\&lt;ComputerName&gt;\PlugIn\&lt;SessionConfigurationName&gt;\Enabled) to False.</maml:para><maml:para></maml:para><maml:para>-- Local: Adds a Network_Deny_All entry to security descriptor of the session configuration. Users of the local computer can use the session configuration to create a local "loopback" session on the same computer, but remote users are denied access.</maml:para><maml:para></maml:para><maml:para>
                         
-- Remote: Removes Deny_All and Network_Deny_All entries from the security descriptors of the session configuration. Users of local and remote computers can use the session configuration to create sessions and run commands on this computer.</maml:para><maml:para>The value of this parameter can be overridden by the actions of other cmdlets. For example, the Enable-PSRemoting cmdlet enables all session configurations on the computer and permits remote access to them, and the Disable-PSRemoting cmdlet permits only local access to all session configurations on the computer.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSSessionConfigurationAccessMode</command:parameterValue><dev:type><maml:name>PSSessionConfigurationAccessMode</maml:name><maml:uri /></dev:type><dev:defaultValue>Remote</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>SessionTypeOption</maml:name><maml:description><maml:para>Sets type-specific options for the session configuration. Enter a session type options object, such as the PSWorkflowExecutionOption object that the New-PSWorkflowExecutionOption cmdlet returns.</maml:para><maml:para>The options of sessions that use the session configuration are determined by the values of session options and the session configuration options. Unless specified, options set in the session, such as by using the New-PSSessionOption cmdlet, take precedence over options set in the session configuration. However, session option values cannot exceed maximum values set in the session configuration.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSSessionTypeOption</command:parameterValue><dev:type><maml:name>PSSessionTypeOption</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>TransportOption</maml:name><maml:description><maml:para>Sets transport options for the session configuration. Enter a transport options object, such as the WSManConfigurationOption object that the New-PSTransportOption cmdlet returns.</maml:para><maml:para>The options of sessions that use the session configuration are determined by the values of session options and the session configuration options. Unless specified, options set in the session, such as by using the New-PSSessionOption cmdlet, take precedence over options set in the session configuration. However, session option values cannot exceed maximum values set in the session configuration.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSTransportOption</command:parameterValue><dev:type><maml:name>PSTransportOption</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Path</maml:name><maml:description><maml:para>Adds or replaces a session configuration file (.pssc), such as one created by the New-PSSessionConfigurationFile cmdlet. If you omit the path, the default is the current directory.</maml:para><maml:para>For information about editing a session configuration file, see the help topic for the New-PSSessionConfigurationFile cmdlet.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>ModulesToImport</maml:name><maml:description><maml:para>Specifies the modules and snap-ins that are automatically imported into sessions that use the session configuration. Enter the module and snap-in names.</maml:para><maml:para>By default, only the Microsoft.PowerShell.Core snap-in is imported into sessions, but unless the cmdlets are excluded, users can use the Import-Module and Add-PSSnapin cmdlets to add modules and snap-ins to the session.</maml:para><maml:para>The modules specified in this parameter value are imported in additions to modules specified in the session configuration file (New-PSSessionConfigurationFile). However, settings in the session configuration file can hide the commands exported by modules or prevent users from using them.</maml:para><maml:para>The modules specified in this parameter value replace the list of modules specified by using the ModulesToImport parameter of the Register-PSSessionConfiguration cmdlet.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>Microsoft.PowerShell.Core</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>false</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>false</dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name>None</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You cannot pipe input to this cmdlet.</maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name>Microsoft.WSMan.Management.WSManConfigLeafElement</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para></maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><maml:alertSet><maml:title /><maml:alert><maml:para>To run this cmdlet, start Windows PowerShell with the "Run as administrator" option.</maml:para></maml:alert><maml:alert><maml:para>The Set-PSSessionConfiguration cmdlet does not change the configuration name and the WSMan provider does not support the Rename-Item cmdlet. To change the name of a session configuration, use the Unregister-PSSessionConfiguration cmdlet to delete the configuration and then use the Register-PSSessionConfiguration cmdlet to create and register a new session configuration.</maml:para></maml:alert><maml:alert><maml:para>You can use the Set-PSSessionConfiguration cmdlet to change the default Microsoft.PowerShell and Microsoft.PowerShell32 session configurations. They are not protected. To revert to the original version of a default session configuration, use the Unregister-PSSessionConfiguration cmdlet to delete the default session configuration and then use the Enable-PSRemoting cmdlet to restore it.</maml:para></maml:alert><maml:alert><maml:para>The properties of a session configuration object vary with the options set for the session configuration and the values of those options. Also, session configurations that use a session configuration file have additional properties.</maml:para></maml:alert><maml:alert><maml:para>You can use commands in the WSMan: drive to change the properties of session configurations. However, you cannot use the WSMan: drive in Windows PowerShell 2.0 to change session configuration properties that are introduced in Windows PowerShell 3.0, such as OutputBufferingMode. Windows PowerShell 2.0 commands do not generate an error, but they are ineffective. To change properties introduced in Windows PowerShell 3.0, use the WSMan: drive in Windows PowerShell 3.0.</maml:para></maml:alert></maml:alertSet><command:examples><command:example><maml:title>
  
-------------------------- EXAMPLE 1 --------------------------
  
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Set-PSSessionConfiguration -Name MaintenanceShell -ThreadApartmentState STA
</dev:code><dev:remarks><maml:para>This command changes the thread apartment state in the MaintenanceShell configuration to STA. The change is effective when you restart the WinRM service.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 2 --------------------------
  
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>The first command uses the Register-PSSessionConfiguration cmdlet to create the AdminShell configuration.
PS C:\&gt;Register-PSSessionConfiguration -name AdminShell -AssemblyName C:\Shells\AdminShell.dll -ConfigurationType AdminClass
 
The second command uses the Set-PSSessionConfiguration cmdlet to add the AdminConfig.ps1 script to the configuration. The change is effective when you restart WinRM.
PS C:\&gt;Set-PSSessionConfiguration -Name AdminShell -StartupScript AdminConfig.ps1
 
The third command removes the AdminConfig.ps1 script from the configuration. It uses the Set-PSSessionConfiguration cmdlet with a value of $null for the StartupScript parameter.
PS C:\&gt;Set-PSSessionConfiguration -Name AdminShell -StartupScript $null
</dev:code><dev:remarks><maml:para>This example shows how to create and then change a session configuration.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 3 --------------------------
  
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Set-PSSessionConfiguration -name IncObj -MaximumReceivedObjectSizeMB 20
 
WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Plugin\IncObj\InitializationParameters
ParamName ParamValue
--------- ----------
psmaximumreceivedobjectsizemb 20
"Restart WinRM service"
WinRM service need to be restarted to make the changes effective. Do you want to run the command "restart-service winrm"?
[Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): y
</dev:code><dev:remarks><maml:para>This example shows sample output from the Set-PSSessionConfiguration cmdlet.</maml:para><maml:para>The Set-PSSessionConfiguration command in this example increases the value of the MaximumReceivedObjectSizeMB property to 20.</maml:para><maml:para>The Set-PSSessionConfiguration command returns a Microsoft.WSMan.Management.WSManConfigLeafElement object that shows the parameter name and new value.</maml:para><maml:para>It also prompts you to restart the WinRM service. The Set-PSSessionConfiguration change is not effective until the WinRM service is restarted.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 4 --------------------------
  
                       </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>The first command uses the Set-PSSessionConfiguration cmdlet to change the startup script in the MaintenanceShell session configuration to Maintenance.ps1. The output of this command shows the change and prompts you to restart the WinRM service. The response is "y" (yes).
PS C:\&gt;Set-PSSessionConfiguration -Name MaintenanceShell -StartupScript C:\ps-test\Maintenance.ps1
WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Plugin\MaintenanceShell\InitializationParameters
 
ParamName ParamValue
--------- ----------
startupscript c:\ps-test\Mainte...
 
"Restart WinRM service"
WinRM service need to be restarted to make the changes effective. Do you want to run
the command "restart-service winrm"?
[Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): y
 
 
The second command uses the Get-PSSessionConfiguration cmdlet to get the MaintenanceShell session configuration. The command uses a pipeline operator (|) to send the results of the command to the Format-List cmdlet, which displays all of the properties of the session configuration object in a list.
PS C:\&gt;Get-PSSessionConfiguration MaintenanceShell | Format-List -Property *
xmlns : http://schemas.microsoft.com/wbem/wsman/1/config/PluginConfiguration
Name : MaintenanceShell
Filename : %windir%\system32\pwrshplugin.dll
SDKVersion : 1
XmlRenderingType : text
lang : en-US
PSVersion : 2.0
startupscript : c:\ps-test\Maintenance.ps1
ResourceUri : http://schemas.microsoft.com/powershell/MaintenanceShell
SupportsOptions : true
ExactMatch : true
Capability : {Shell}
Permission :
 
The third command uses the WSMan provider to view the initialization parameters for the MaintenanceShell configuration. The command uses the Get-ChildItem cmdlet (alias = dir) to get the child items in the InitializationParameters node for the MaintenanceShell plug-in.For more information about the WSMan provider, type "get-help wsman".
PS C:\&gt;dir WSMan:\localhost\Plugin\MaintenanceShell\InitializationParameters
ParamName ParamValue
--------- ----------
PSVersion 2.0
startupscript c:\ps-test\Maintenance.ps1
 
</dev:code><dev:remarks><maml:para>This example shows different ways of viewing the results of a Set-PSSessionConfiguration command.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=289613</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Disable-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Enable-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Get-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>New-PSSessionConfigurationFile</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>New-PSSessionOption</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>New-PSTransportOption</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>New-PSWorkflowExecutionOption</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Register-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Set-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Test-PSSessionConfigurationFile</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Unregister-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>WSMan Provider</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Session_Configurations</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Session_Configuration_Files</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>Set-StrictMode</command:name><maml:description><maml:para>Establishes and enforces coding rules in expressions, scripts, and script blocks. </maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>Set</command:verb><command:noun>StrictMode</command:noun><dev:version /></command:details><maml:description><maml:para>The Set-StrictMode cmdlet configures strict mode for the current scope (and all child scopes) and turns it on and off. When strict mode is on, Windows PowerShell generates a terminating error when the content of an expression, script, or script block violates basic best-practice coding rules.</maml:para><maml:para>Use the Version parameter to determine which coding rules are enforced.</maml:para><maml:para>Unlike the Set-PSDebug cmdlet, Set-StrictMode affects only the current scope and its child scopes, so you can use it in a script or function without affecting the global scope.</maml:para><maml:para>When Set-StrictMode is off, uninitialized variables (Version 1) are assumed to have a value of 0 (zero) or $null, depending on type. References to non-existent properties return $null, and the results of function syntax that is not valid vary with the error. Unnamed variables are not permitted.</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>Set-StrictMode</maml:name><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Version</maml:name><maml:description><maml:para>Specifies the conditions that cause an error in strict mode. This parameter is required.</maml:para><maml:para>The valid values are "1.0", "2.0", and "Latest". The following list shows the effect of each value.</maml:para><maml:para>1.0</maml:para><maml:para>-- Prohibits references to uninitialized variables, except for uninitialized variables in strings.</maml:para><maml:para>2.0</maml:para><maml:para>-- Prohibits references to uninitialized variables (including uninitialized variables in strings).</maml:para><maml:para>-- Prohibits references to non-existent properties of an object.</maml:para><maml:para>-- Prohibits function calls that use the syntax for calling methods.</maml:para><maml:para>-- Prohibits a variable without a name (${}).</maml:para><maml:para>Latest:</maml:para><maml:para>--Selects the latest (most strict) version available. Use this value to assure that scripts use the strictest available version, even when new versions are added to Windows PowerShell.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Version</command:parameterValue></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Set-StrictMode</maml:name><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Off</maml:name><maml:description><maml:para>Turns strict mode off. This parameter also turns off "Set-PSDebug -Strict".</maml:para></maml:description></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Off</maml:name><maml:description><maml:para>Turns strict mode off. This parameter also turns off "Set-PSDebug -Strict".</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Version</maml:name><maml:description><maml:para>Specifies the conditions that cause an error in strict mode. This parameter is required.</maml:para><maml:para>The valid values are "1.0", "2.0", and "Latest". The following list shows the effect of each value.</maml:para><maml:para>1.0</maml:para><maml:para>-- Prohibits references to uninitialized variables, except for uninitialized variables in strings.</maml:para><maml:para>2.0</maml:para><maml:para>-- Prohibits references to uninitialized variables (including uninitialized variables in strings).</maml:para><maml:para>-- Prohibits references to non-existent properties of an object.</maml:para><maml:para>-- Prohibits function calls that use the syntax for calling methods.</maml:para><maml:para>-- Prohibits a variable without a name (${}).</maml:para><maml:para>Latest:</maml:para><maml:para>--Selects the latest (most strict) version available. Use this value to assure that scripts use the strictest available version, even when new versions are added to Windows PowerShell.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Version</command:parameterValue><dev:type><maml:name>Version</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name>None</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You cannot pipe input to this cmdlet.</maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name>None</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>This cmdlet does not return any output.</maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><maml:alertSet><maml:title /><maml:alert><maml:para>Set-StrictMode is similar to the Strict parameter of Set-PSDebug. "Set-Strictmode -version 1" is equivalent to "Set-PSDebug -strict", except that Set-PSDebug is effective in all scopes. Set-StrictMode is effective only in the scope in which it is set and in its child scopes. For more information about scopes in Windows PowerShell, see about_Scopes.</maml:para></maml:alert><maml:alert><maml:para></maml:para></maml:alert></maml:alertSet><command:examples><command:example><maml:title>
  
-------------------------- EXAMPLE 1 --------------------------
  
</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;set-strictmode -version 1.0
PS C:\&gt;$a -gt 5
False
The variable $a cannot be retrieved because it has not been set yet.
At line:1 char:3
+ $a &lt;&lt;&lt;&lt; -gt 5
+ CategoryInfo : InvalidOperation: (a:Token) [], RuntimeException
+ FullyQualifiedErrorId : VariableIsUndefined
</dev:code><dev:remarks><maml:para>This command turns strict mode on and sets it to version 1.0. As a result, attempts to reference variables that are not initialized will fail.</maml:para><maml:para>The sample output shows the effect of version 1.0 strict mode.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 2 --------------------------
  
</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;# set-strictmode -version 2.0
# Strict mode is off by default.
 
PS C:\&gt;function add ($a, $b) {$a + $b}
PS C:\&gt;add 3 4
7
PS C:\&gt;add(3,4)
3
4
PS C:\&gt;set-strictmode -version 2.0
PS C:\&gt;add(3,4)
 
The function or command was called like a method. Parameters should be separated by spaces, as described in 'Get-Help about_Parameter.'
At line:1 char:4
+ add &lt;&lt;&lt;&lt; (3,4)
+ CategoryInfo : InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : StrictModeFunctionCallWithParens
 
PS C:\&gt;set-strictmode -off
PS C:\&gt;$string = "This is a string."
PS C:\&gt;$string.Month
PS C:\&gt;
PS C:\&gt;set-strictmode -version 2.0
PS C:\&gt;$string = "This is a string."
PS C:\&gt;$string.Month
 
Property 'month' cannot be found on this object; make sure it exists.
At line:1 char:9
+ $string. &lt;&lt;&lt;&lt; month
+ CategoryInfo : InvalidOperation: (.:OperatorToken) [], RuntimeException
+ FullyQualifiedErrorId : PropertyNotFoundStrict
</dev:code><dev:remarks><maml:para>This command turns strict mode on and sets it to version 2.0. As a result, Windows PowerShell throws an error if you use method syntax (parentheses and commas) for a function call or reference uninitialized variables or non-existent properties.</maml:para><maml:para>The sample output shows the effect of version 2.0 strict mode.</maml:para><maml:para>Without version 2.0 strict mode, the "(3,4)" value is interpreted as a single array object to which nothing is added. With version 2.0 strict mode, it is correctly interpreted as faulty syntax for submitting two values.</maml:para><maml:para>Without version 2.0, the reference to the non-existent Month property of a string returns only null. With version 2.0, it is interpreted correctly as a reference error.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=289614</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Set-PSDebug</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Scopes</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Debuggers</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>Start-Job</command:name><maml:description><maml:para>Starts a Windows PowerShell background job.</maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>Start</command:verb><command:noun>Job</command:noun><dev:version /></command:details><maml:description><maml:para>The Start-Job cmdlet starts a Windows PowerShell background job on the local computer.</maml:para><maml:para>A Windows PowerShell background job runs a command "in the background" without interacting with the current session. When you start a background job, a job object is returned immediately, even if the job takes an extended time to complete. You can continue to work in the session without interruption while the job runs.</maml:para><maml:para>The job object contains useful information about the job, but it does not contain the job results. When the job completes, use the Receive-Job cmdlet to get the results of the job. For more information about background jobs, see about_Jobs.</maml:para><maml:para>To run a background job on a remote computer, use the AsJob parameter that is available on many cmdlets, or use the Invoke-Command cmdlet to run a Start-Job command on the remote computer. For more information, see about_Remote_Jobs.</maml:para><maml:para>Beginning in Windows PowerShell 3.0, Start-Job can start instances of custom job types, such as scheduled jobs. For information about using Start-Job to start jobs with custom types, see the help topics for the job type feature.</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>Start-Job</maml:name><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1" aliases="Command"><maml:name>ScriptBlock</maml:name><maml:description><maml:para>Specifies the commands to run in the background job. Enclose the commands in braces ( { } ) to create a script block. This parameter is required.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">ScriptBlock</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="2" aliases=""><maml:name>InitializationScript</maml:name><maml:description><maml:para>Specifies commands that run before the job starts. Enclose the commands in braces ( { } ) to create a script block.</maml:para><maml:para>Use this parameter to prepare the session in which the job runs. For example, you can use it to add functions, snap-ins, and modules to the session.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">ScriptBlock</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="Args"><maml:name>ArgumentList</maml:name><maml:description><maml:para>Specifies the arguments (parameter values) for the script that is specified by the FilePath parameter.</maml:para><maml:para>Because all of the values that follow the ArgumentList parameter name are interpreted as being values of ArgumentList, the ArgumentList parameter should be the last parameter in the command.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Object[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Authentication</maml:name><maml:description><maml:para>Specifies the mechanism that is used to authenticate the user's credentials. Valid values are Default, Basic, Credssp, Digest, Kerberos, Negotiate, and NegotiateWithImplicitCredential. The default value is Default.</maml:para><maml:para>CredSSP authentication is available only in Windows Vista, Windows Server 2008, and later versions of Windows.</maml:para><maml:para>For information about the values of this parameter, see the description of the System.Management.Automation.Runspaces.AuthenticationMechanism enumeration in MSDN.</maml:para><maml:para>CAUTION: Credential Security Support Provider (CredSSP) authentication, in which the user's credentials are passed to a remote computer to be authenticated, is designed for commands that require authentication on more than one resource, such as accessing a remote network share. This mechanism increases the security risk of the remote operation. If the remote computer is compromised, the credentials that are passed to it can be used to control the network session.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">AuthenticationMechanism</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Credential</maml:name><maml:description><maml:para>Specifies a user account that has permission to perform this action. The default is the current user.</maml:para><maml:para>Type a user name, such as "User01" or "Domain01\User01", or enter a PSCredential object, such as one from the Get-Credential cmdlet.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Specifies input to the command. Enter a variable that contains the objects, or type a command or expression that generates the objects.</maml:para><maml:para>In the value of the ScriptBlock parameter, use the $input automatic variable to represent the input objects.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Specifies a friendly name for the new job. You can use the name to identify the job to other job cmdlets, such as Stop-Job.</maml:para><maml:para>The default friendly name is Job#, where "#" is an ordinal number that is incremented for each job.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>PSVersion</maml:name><maml:description><maml:para>Runs the job with the specified version of Windows PowerShell. Valid values are 2.0 and 3.0.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Version</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>RunAs32</maml:name><maml:description><maml:para>Runs the job in a 32-bit process. Use this parameter to force the job to run in a 32-bit process on a 64-bit operating system.</maml:para><maml:para>NOTE: On 64-bit versions of Windows 7 and Windows Server 2008 R2, when the Start-Job command includes the RunAs32 parameter, you cannot use the Credential parameter to specify the credentials of another user.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Start-Job</maml:name><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1" aliases=""><maml:name>FilePath</maml:name><maml:description><maml:para>Runs the specified local script as a background job. Enter the path and file name of the script or pipe a script path to Start-Job. The script must reside on the local computer or in a directory that the local computer can access.</maml:para><maml:para>When you use this parameter, Windows PowerShell converts the contents of the specified script file to a script block and runs the script block as a background job.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="2" aliases=""><maml:name>InitializationScript</maml:name><maml:description><maml:para>Specifies commands that run before the job starts. Enclose the commands in braces ( { } ) to create a script block.</maml:para><maml:para>Use this parameter to prepare the session in which the job runs. For example, you can use it to add functions, snap-ins, and modules to the session.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">ScriptBlock</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="Args"><maml:name>ArgumentList</maml:name><maml:description><maml:para>Specifies the arguments (parameter values) for the script that is specified by the FilePath parameter.</maml:para><maml:para>Because all of the values that follow the ArgumentList parameter name are interpreted as being values of ArgumentList, the ArgumentList parameter should be the last parameter in the command.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Object[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Authentication</maml:name><maml:description><maml:para>Specifies the mechanism that is used to authenticate the user's credentials. Valid values are Default, Basic, Credssp, Digest, Kerberos, Negotiate, and NegotiateWithImplicitCredential. The default value is Default.</maml:para><maml:para>CredSSP authentication is available only in Windows Vista, Windows Server 2008, and later versions of Windows.</maml:para><maml:para>For information about the values of this parameter, see the description of the System.Management.Automation.Runspaces.AuthenticationMechanism enumeration in MSDN.</maml:para><maml:para>CAUTION: Credential Security Support Provider (CredSSP) authentication, in which the user's credentials are passed to a remote computer to be authenticated, is designed for commands that require authentication on more than one resource, such as accessing a remote network share. This mechanism increases the security risk of the remote operation. If the remote computer is compromised, the credentials that are passed to it can be used to control the network session.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">AuthenticationMechanism</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Credential</maml:name><maml:description><maml:para>Specifies a user account that has permission to perform this action. The default is the current user.</maml:para><maml:para>Type a user name, such as "User01" or "Domain01\User01", or enter a PSCredential object, such as one from the Get-Credential cmdlet.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Specifies input to the command. Enter a variable that contains the objects, or type a command or expression that generates the objects.</maml:para><maml:para>In the value of the ScriptBlock parameter, use the $input automatic variable to represent the input objects.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Specifies a friendly name for the new job. You can use the name to identify the job to other job cmdlets, such as Stop-Job.</maml:para><maml:para>The default friendly name is Job#, where "#" is an ordinal number that is incremented for each job.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>PSVersion</maml:name><maml:description><maml:para>Runs the job with the specified version of Windows PowerShell. Valid values are 2.0 and 3.0.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Version</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>RunAs32</maml:name><maml:description><maml:para>Runs the job in a 32-bit process. Use this parameter to force the job to run in a 32-bit process on a 64-bit operating system.</maml:para><maml:para>NOTE: On 64-bit versions of Windows 7 and Windows Server 2008 R2, when the Start-Job command includes the RunAs32 parameter, you cannot use the Credential parameter to specify the credentials of another user.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Start-Job</maml:name><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="2" aliases=""><maml:name>InitializationScript</maml:name><maml:description><maml:para>Specifies commands that run before the job starts. Enclose the commands in braces ( { } ) to create a script block.</maml:para><maml:para>Use this parameter to prepare the session in which the job runs. For example, you can use it to add functions, snap-ins, and modules to the session.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">ScriptBlock</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="Args"><maml:name>ArgumentList</maml:name><maml:description><maml:para>Specifies the arguments (parameter values) for the script that is specified by the FilePath parameter.</maml:para><maml:para>Because all of the values that follow the ArgumentList parameter name are interpreted as being values of ArgumentList, the ArgumentList parameter should be the last parameter in the command.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Object[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Authentication</maml:name><maml:description><maml:para>Specifies the mechanism that is used to authenticate the user's credentials. Valid values are Default, Basic, Credssp, Digest, Kerberos, Negotiate, and NegotiateWithImplicitCredential. The default value is Default.</maml:para><maml:para>CredSSP authentication is available only in Windows Vista, Windows Server 2008, and later versions of Windows.</maml:para><maml:para>For information about the values of this parameter, see the description of the System.Management.Automation.Runspaces.AuthenticationMechanism enumeration in MSDN.</maml:para><maml:para>CAUTION: Credential Security Support Provider (CredSSP) authentication, in which the user's credentials are passed to a remote computer to be authenticated, is designed for commands that require authentication on more than one resource, such as accessing a remote network share. This mechanism increases the security risk of the remote operation. If the remote computer is compromised, the credentials that are passed to it can be used to control the network session.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">AuthenticationMechanism</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Credential</maml:name><maml:description><maml:para>Specifies a user account that has permission to perform this action. The default is the current user.</maml:para><maml:para>Type a user name, such as "User01" or "Domain01\User01", or enter a PSCredential object, such as one from the Get-Credential cmdlet.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Specifies input to the command. Enter a variable that contains the objects, or type a command or expression that generates the objects.</maml:para><maml:para>In the value of the ScriptBlock parameter, use the $input automatic variable to represent the input objects.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Specifies a friendly name for the new job. You can use the name to identify the job to other job cmdlets, such as Stop-Job.</maml:para><maml:para>The default friendly name is Job#, where "#" is an ordinal number that is incremented for each job.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>PSVersion</maml:name><maml:description><maml:para>Runs the job with the specified version of Windows PowerShell. Valid values are 2.0 and 3.0.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Version</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>RunAs32</maml:name><maml:description><maml:para>Runs the job in a 32-bit process. Use this parameter to force the job to run in a 32-bit process on a 64-bit operating system.</maml:para><maml:para>NOTE: On 64-bit versions of Windows 7 and Windows Server 2008 R2, when the Start-Job command includes the RunAs32 parameter, you cannot use the Credential parameter to specify the credentials of another user.</maml:para></maml:description></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="PSPath"><maml:name>LiteralPath</maml:name><maml:description><maml:para>Runs the specified local script as a background job. Enter the path to a script on the local computer.</maml:para><maml:para>Unlike the FilePath parameter, the value of LiteralPath is used exactly as it is typed. No characters are interpreted as wildcards. If the path includes escape characters, enclose it in single quotation marks. Single quotation marks tell Windows PowerShell not to interpret any characters as escape sequences.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Start-Job</maml:name><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1" aliases=""><maml:name>DefinitionName</maml:name><maml:description><maml:para>Starts the job with the specified job definition name. Use this parameter to start custom job types that have a definition name, such as scheduled jobs.</maml:para><maml:para>When you use Start-Job to start an instance of a scheduled job, the job starts immediately, regardless of job triggers or job options. The resulting job instance is a scheduled job, but it is not saved to disk like triggered scheduled jobs. Also, you cannot use the ArgumentList parameter of Start-Job to provide values for parameters of scripts that run in a scheduled job. For more information, see about_Scheduled_Jobs.</maml:para><maml:para></maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="2" aliases=""><maml:name>DefinitionPath</maml:name><maml:description><maml:para>Starts the job at the specified path location. Enter the definition path. The concatenation of the values of the DefinitionPath and DefinitionName parameters should be the fully-qualified path to the job definition. Use this parameter to start custom job types that have a definition path, such as scheduled jobs.</maml:para><maml:para>For scheduled jobs, the value of the DefinitionPath parameter is "$home\AppData\Local\Windows\PowerShell\ScheduledJob".</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="3" aliases=""><maml:name>Type</maml:name><maml:description><maml:para>Starts only jobs of the specified custom type. Enter a custom job type name, such as PSScheduledJob for scheduled jobs or PSWorkflowJob for workflows jobs. This parameter is not valid for standard background jobs.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="Args"><maml:name>ArgumentList</maml:name><maml:description><maml:para>Specifies the arguments (parameter values) for the script that is specified by the FilePath parameter.</maml:para><maml:para>Because all of the values that follow the ArgumentList parameter name are interpreted as being values of ArgumentList, the ArgumentList parameter should be the last parameter in the command.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Object[]</command:parameterValue><dev:type><maml:name>Object[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Authentication</maml:name><maml:description><maml:para>Specifies the mechanism that is used to authenticate the user's credentials. Valid values are Default, Basic, Credssp, Digest, Kerberos, Negotiate, and NegotiateWithImplicitCredential. The default value is Default.</maml:para><maml:para>CredSSP authentication is available only in Windows Vista, Windows Server 2008, and later versions of Windows.</maml:para><maml:para>For information about the values of this parameter, see the description of the System.Management.Automation.Runspaces.AuthenticationMechanism enumeration in MSDN.</maml:para><maml:para>CAUTION: Credential Security Support Provider (CredSSP) authentication, in which the user's credentials are passed to a remote computer to be authenticated, is designed for commands that require authentication on more than one resource, such as accessing a remote network share. This mechanism increases the security risk of the remote operation. If the remote computer is compromised, the credentials that are passed to it can be used to control the network session.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">AuthenticationMechanism</command:parameterValue><dev:type><maml:name>AuthenticationMechanism</maml:name><maml:uri /></dev:type><dev:defaultValue>Default</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Credential</maml:name><maml:description><maml:para>Specifies a user account that has permission to perform this action. The default is the current user.</maml:para><maml:para>Type a user name, such as "User01" or "Domain01\User01", or enter a PSCredential object, such as one from the Get-Credential cmdlet.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue><dev:type><maml:name>PSCredential</maml:name><maml:uri /></dev:type><dev:defaultValue>Current user</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1" aliases=""><maml:name>FilePath</maml:name><maml:description><maml:para>Runs the specified local script as a background job. Enter the path and file name of the script or pipe a script path to Start-Job. The script must reside on the local computer or in a directory that the local computer can access.</maml:para><maml:para>When you use this parameter, Windows PowerShell converts the contents of the specified script file to a script block and runs the script block as a background job.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="2" aliases=""><maml:name>InitializationScript</maml:name><maml:description><maml:para>Specifies commands that run before the job starts. Enclose the commands in braces ( { } ) to create a script block.</maml:para><maml:para>Use this parameter to prepare the session in which the job runs. For example, you can use it to add functions, snap-ins, and modules to the session.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">ScriptBlock</command:parameterValue><dev:type><maml:name>ScriptBlock</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Specifies input to the command. Enter a variable that contains the objects, or type a command or expression that generates the objects.</maml:para><maml:para>In the value of the ScriptBlock parameter, use the $input automatic variable to represent the input objects.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue><dev:type><maml:name>PSObject</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="PSPath"><maml:name>LiteralPath</maml:name><maml:description><maml:para>Runs the specified local script as a background job. Enter the path to a script on the local computer.</maml:para><maml:para>Unlike the FilePath parameter, the value of LiteralPath is used exactly as it is typed. No characters are interpreted as wildcards. If the path includes escape characters, enclose it in single quotation marks. Single quotation marks tell Windows PowerShell not to interpret any characters as escape sequences.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Specifies a friendly name for the new job. You can use the name to identify the job to other job cmdlets, such as Stop-Job.</maml:para><maml:para>The default friendly name is Job#, where "#" is an ordinal number that is incremented for each job.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>Job&lt;number&gt;</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>PSVersion</maml:name><maml:description><maml:para>Runs the job with the specified version of Windows PowerShell. Valid values are 2.0 and 3.0.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Version</command:parameterValue><dev:type><maml:name>Version</maml:name><maml:uri /></dev:type><dev:defaultValue>3.0</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>RunAs32</maml:name><maml:description><maml:para>Runs the job in a 32-bit process. Use this parameter to force the job to run in a 32-bit process on a 64-bit operating system.</maml:para><maml:para>NOTE: On 64-bit versions of Windows 7 and Windows Server 2008 R2, when the Start-Job command includes the RunAs32 parameter, you cannot use the Credential parameter to specify the credentials of another user.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1" aliases="Command"><maml:name>ScriptBlock</maml:name><maml:description><maml:para>Specifies the commands to run in the background job. Enclose the commands in braces ( { } ) to create a script block. This parameter is required.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">ScriptBlock</command:parameterValue><dev:type><maml:name>ScriptBlock</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1" aliases=""><maml:name>DefinitionName</maml:name><maml:description><maml:para>Starts the job with the specified job definition name. Use this parameter to start custom job types that have a definition name, such as scheduled jobs.</maml:para><maml:para>When you use Start-Job to start an instance of a scheduled job, the job starts immediately, regardless of job triggers or job options. The resulting job instance is a scheduled job, but it is not saved to disk like triggered scheduled jobs. Also, you cannot use the ArgumentList parameter of Start-Job to provide values for parameters of scripts that run in a scheduled job. For more information, see about_Scheduled_Jobs.</maml:para><maml:para></maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="2" aliases=""><maml:name>DefinitionPath</maml:name><maml:description><maml:para>Starts the job at the specified path location. Enter the definition path. The concatenation of the values of the DefinitionPath and DefinitionName parameters should be the fully-qualified path to the job definition. Use this parameter to start custom job types that have a definition path, such as scheduled jobs.</maml:para><maml:para>For scheduled jobs, the value of the DefinitionPath parameter is "$home\AppData\Local\Windows\PowerShell\ScheduledJob".</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="3" aliases=""><maml:name>Type</maml:name><maml:description><maml:para>Starts only jobs of the specified custom type. Enter a custom job type name, such as PSScheduledJob for scheduled jobs or PSWorkflowJob for workflows jobs. This parameter is not valid for standard background jobs.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name>System.String</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You can pipe an object with the Name property to the Name parameter. For example, you can pipe a FileInfo object from Get-ChildItem to Start-Job.</maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name>System.Management.Automation.PSRemotingJob</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>Start-Job returns an object that represents the job that it started.</maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><maml:alertSet><maml:title /><maml:alert><maml:para>To run in the background, Start-Job runs in its own session within the current session. When you use the Invoke-Command cmdlet to run a Start-Job command in a session on a remote computer, Start-Job runs in a session within the remote session.</maml:para></maml:alert><maml:alert><maml:para></maml:para></maml:alert></maml:alertSet><command:examples><command:example><maml:title>
  
-------------------------- EXAMPLE 1 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;start-job -scriptblock {get-process}
 
Id Name State HasMoreData Location Command
--- ---- ----- ----------- -------- -------
1 Job1 Running True localhost get-process
</dev:code><dev:remarks><maml:para>This command starts a background job that runs a Get-Process command. The command returns a job object with information about the job. The command prompt returns immediately so that you can work in the session while the job runs in the background.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 2 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;$jobWRM = invoke-command -computerName (get-content servers.txt) -scriptblock {get-service winrm} -jobname WinRM -throttlelimit 16 -AsJob
</dev:code><dev:remarks><maml:para>This command uses the Invoke-Command cmdlet and its AsJob parameter to start a background job that runs a "get-service winrm" command on numerous computers. Because the command is running on a server with substantial network traffic, the command uses the ThrottleLimit parameter of Invoke-Command to limit the number of concurrent commands to 16.</maml:para><maml:para>The command uses the ComputerName parameter to specify the computers on which the job runs. The value of the ComputerName parameter is a Get-Content command that gets the text in the Servers.txt file, a file of computer names in a domain.</maml:para><maml:para>The command uses the ScriptBlock parameter to specify the command and the JobName parameter to specify a friendly name for the job.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 3 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;$j = start-job -scriptblock {get-eventlog -log system} -credential domain01\user01
PS C:\&gt;$j | format-list -property *
 
HasMoreData : True
StatusMessage :
Location : localhost
Command : get-eventlog -log system
JobStateInfo : Running
Finished : System.Threading.ManualResetEvent
InstanceId : 2d9d775f-63e0-4d48-b4bc-c05d0e177f34
Id : 1
Name : Job1
ChildJobs : {Job2}
Output : {}
Error : {}
Progress : {}
Verbose : {}
Debug : {}
Warning : {}
StateChanged :
 
PS C:\&gt;$j.JobStateInfo.state
Completed
PS C:\&gt;$results = receive-job -job $j
PS C:\&gt;$results
 
Index Time Type Source EventID Message
----- ---- ---- ------ ------- -------
84366 Feb 18 19:20 Information Service Control M... 7036 The description...
84365 Feb 18 19:16 Information Service Control M... 7036 The description...
84364 Feb 18 19:10 Information Service Control M... 7036 The description...
...
</dev:code><dev:remarks><maml:para>These commands manage a background job that gets all of the events from the System log in Event Viewer. The job runs on the local computer.</maml:para><maml:para>The first command uses the Start-Job cmdlet to start the job. It uses the Credential parameter to specify the user account of a user who has permission to run the job on the computer. Then it saves the job object that Start-Job returns in the $j variable.</maml:para><maml:para>At this point, you can resume your other work while the job completes.</maml:para><maml:para>The second command uses a pipeline operator (|) to pass the job object in $j to the Format-List cmdlet. The Format-List command uses the Property parameter with a value of all (*) to display all of the properties of the job object in a list.</maml:para><maml:para>The third command displays the value of the JobStateInfo property. This contains the status of the job.</maml:para><maml:para>The fourth command uses the Receive-Job cmdlet to get the results of the job. It stores the results in the $results variable.</maml:para><maml:para>The final command displays the contents of the $results variable.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 4 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;start-job -filepath c:\scripts\sample.ps1
</dev:code><dev:remarks><maml:para>This command runs the Sample.ps1 script as a background job.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 5 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;start-job -name WinRm -scriptblock {get-process winrm}
</dev:code><dev:remarks><maml:para>This command runs a background job that gets the WinRM process on the local computer. The command uses the ScriptBlock parameter to specify the command that runs in the background job. It uses the Name parameter to specify a friendly name for the new job.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 6 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;start-job -name GetMappingFiles -initializationScript {import-module MapFunctions} -scriptblock {Get-Map -name * | set-content D:\Maps.tif} -runAs32
</dev:code><dev:remarks><maml:para>This command starts a job that collects a large amount of data and saves it in a .tif file. The command uses the InitializationScript parameter to run a script block that imports a required module. It also uses the RunAs32 parameter to run the job in a 32-bit process even if the computer has a 64-bit operating system.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=289615</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Get-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Invoke-Command</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Receive-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Remove-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Resume-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Start-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Stop-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Suspend-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Wait-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Job_Details</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Remote_Jobs</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Jobs</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>Stop-Job</command:name><maml:description><maml:para>Stops a Windows PowerShell background job.</maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>Stop</command:verb><command:noun>Job</command:noun><dev:version /></command:details><maml:description><maml:para>The Stop-Job cmdlet stops Windows PowerShell background jobs that are in progress. You can use this cmdlet to stop all jobs or stop selected jobs based on their name, ID, instance ID, or state, or by passing a job object to Stop-Job.</maml:para><maml:para>You can use Stop-Job to stop background jobs, such as those that were started by using the Start-Job cmdlet or the AsJob parameter of any cmdlet. When you stop a background job, Windows PowerShell completes all tasks that are pending in that job queue and then ends the job. No new tasks are added to the queue after this command is submitted.</maml:para><maml:para>This cmdlet does not delete background jobs. To delete a job, use the Remove-Job cmdlet.</maml:para><maml:para>Beginning in Windows PowerShell 3.0, Stop-Job also stops custom job types, such as workflow jobs and instances of scheduled jobs. To enable Stop-Job to stop a job with custom job type, import the module that supports the custom job type into the session before running a Stop-Job command, either by using the Import-Module cmdlet or by using or getting a cmdlet in the module. For information about a particular custom job type, see the documentation of the custom job type feature.</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>Stop-Job</maml:name><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>Id</maml:name><maml:description><maml:para>Stops jobs with the specified IDs. The default is all jobs in the current session.</maml:para><maml:para>The ID is an integer that uniquely identifies the job within the current session. It is easier to remember and type than the InstanceId, but it is unique only within the current session. You can type one or more IDs (separated by commas). To find the ID of a job, type "Get-Job" without parameters.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Int32[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>PassThru</maml:name><maml:description><maml:para>Returns an object representing the new background job. By default, this cmdlet does not generate any output.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Stop-Job</maml:name><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>Filter</maml:name><maml:description><maml:para>Stops jobs that satisfy all of the conditions established in the associated hash table. Enter a hash table where the keys are job properties and the values are job property values.</maml:para><maml:para>This parameter works only on custom job types, such as workflow jobs and scheduled jobs. It does not work on standard background jobs, such as those created by using the Start-Job cmdlet. For information about support for this parameter, see the help topic for the job type.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Hashtable</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>PassThru</maml:name><maml:description><maml:para>Returns an object representing the new background job. By default, this cmdlet does not generate any output.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Stop-Job</maml:name><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>InstanceId</maml:name><maml:description><maml:para>Stops only jobs with the specified instance IDs. The default is all jobs.</maml:para><maml:para>An instance ID is a GUID that uniquely identifies the job on the computer. To find the instance ID of a job, use Get-Job.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Guid[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>PassThru</maml:name><maml:description><maml:para>Returns an object representing the new background job. By default, this cmdlet does not generate any output.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Stop-Job</maml:name><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue, ByPropertyName)" position="1" aliases=""><maml:name>Job</maml:name><maml:description><maml:para>Specifies the jobs to be stopped. Enter a variable that contains the jobs or a command that gets the jobs. You can also use a pipeline operator to submit jobs to the Stop-Job cmdlet. By default, Stop-Job deletes all jobs that were started in the current session.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Job[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>PassThru</maml:name><maml:description><maml:para>Returns an object representing the new background job. By default, this cmdlet does not generate any output.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Stop-Job</maml:name><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Stops only the jobs with the specified friendly names. Enter the job names in a comma-separated list or use wildcard characters (*) to enter a job name pattern. By default, Stop-Job stops all jobs created in the current session.</maml:para><maml:para>Because the friendly name is not guaranteed to be unique, use the WhatIf and Confirm parameters when stopping jobs by name.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>PassThru</maml:name><maml:description><maml:para>Returns an object representing the new background job. By default, this cmdlet does not generate any output.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Stop-Job</maml:name><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>State</maml:name><maml:description><maml:para>Stops only jobs in the specified state. Valid values are NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping.</maml:para><maml:para>For more information about job states, see "JobState Enumeration" in MSDN at <maml:navigationLink><maml:linkText>http://msdn.microsoft.com/en-us/library/windows/desktop/system.management.automation.jobstate(v=vs.85).aspx</maml:linkText><maml:uri></maml:uri></maml:navigationLink></maml:para></maml:description><command:parameterValue required="true" variableLength="false">JobState</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>PassThru</maml:name><maml:description><maml:para>Returns an object representing the new background job. By default, this cmdlet does not generate any output.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>Filter</maml:name><maml:description><maml:para>Stops jobs that satisfy all of the conditions established in the associated hash table. Enter a hash table where the keys are job properties and the values are job property values.</maml:para><maml:para>This parameter works only on custom job types, such as workflow jobs and scheduled jobs. It does not work on standard background jobs, such as those created by using the Start-Job cmdlet. For information about support for this parameter, see the help topic for the job type.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Hashtable</command:parameterValue><dev:type><maml:name>Hashtable</maml:name><maml:uri /></dev:type><dev:defaultValue>Non</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>Id</maml:name><maml:description><maml:para>Stops jobs with the specified IDs. The default is all jobs in the current session.</maml:para><maml:para>The ID is an integer that uniquely identifies the job within the current session. It is easier to remember and type than the InstanceId, but it is unique only within the current session. You can type one or more IDs (separated by commas). To find the ID of a job, type "Get-Job" without parameters.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Int32[]</command:parameterValue><dev:type><maml:name>Int32[]</maml:name><maml:uri /></dev:type><dev:defaultValue>All jobs</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>InstanceId</maml:name><maml:description><maml:para>Stops only jobs with the specified instance IDs. The default is all jobs.</maml:para><maml:para>An instance ID is a GUID that uniquely identifies the job on the computer. To find the instance ID of a job, use Get-Job.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Guid[]</command:parameterValue><dev:type><maml:name>Guid[]</maml:name><maml:uri /></dev:type><dev:defaultValue>All jobs</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue, ByPropertyName)" position="1" aliases=""><maml:name>Job</maml:name><maml:description><maml:para>Specifies the jobs to be stopped. Enter a variable that contains the jobs or a command that gets the jobs. You can also use a pipeline operator to submit jobs to the Stop-Job cmdlet. By default, Stop-Job deletes all jobs that were started in the current session.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Job[]</command:parameterValue><dev:type><maml:name>Job[]</maml:name><maml:uri /></dev:type><dev:defaultValue>All jobs</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Stops only the jobs with the specified friendly names. Enter the job names in a comma-separated list or use wildcard characters (*) to enter a job name pattern. By default, Stop-Job stops all jobs created in the current session.</maml:para><maml:para>Because the friendly name is not guaranteed to be unique, use the WhatIf and Confirm parameters when stopping jobs by name.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>All jobs</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>PassThru</maml:name><maml:description><maml:para>Returns an object representing the new background job. By default, this cmdlet does not generate any output.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>State</maml:name><maml:description><maml:para>Stops only jobs in the specified state. Valid values are NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping.</maml:para><maml:para>For more information about job states, see "JobState Enumeration" in MSDN at <maml:navigationLink><maml:linkText>http://msdn.microsoft.com/en-us/library/windows/desktop/system.management.automation.jobstate(v=vs.85).aspx</maml:linkText><maml:uri></maml:uri></maml:navigationLink></maml:para></maml:description><command:parameterValue required="true" variableLength="false">JobState</command:parameterValue><dev:type><maml:name>JobState</maml:name><maml:uri /></dev:type><dev:defaultValue>All jobs</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>false</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>false</dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name>System.Management.Automation.RemotingJob</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You can pipe a job object to Stop-Job.</maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name>None or System.Management.Automation.PSRemotingJob</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>When you use the PassThru parameter, Stop-Job returns a job object. Otherwise, this cmdlet does not generate any output.</maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><command:examples><command:example><maml:title>
  
-------------------------- EXAMPLE 1 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;$s = New-PSSession -ComputerName Server01 -Credential Domain01\Admin02
PS C:\&gt;$j = Invoke-Command -Session $s -ScriptBlock {Start-Job -ScriptBlock {Get-EventLog System}}
PS C:\&gt;Invoke-Command -Session $s -ScriptBlock { Stop-job -Job $Using:j }
</dev:code><dev:remarks><maml:para>This example shows how to use the Stop-Job cmdlet to stop a job that is running on a remote computer.</maml:para><maml:para>Because the job was started by using the Invoke-Command cmdlet to run a Start-Job command remotely, the job object is stored on the remote computer, and you must use another Invoke-Command command to run a Stop-Job command remotely. For more information about remote background jobs, see about_Remote_Jobs.</maml:para><maml:para>The first command creates a Windows PowerShell session (PSSession) on the Server01 computer and saves the session object in the $s variable. The command uses the credentials of a domain administrator.</maml:para><maml:para>The second command uses the Invoke-Command cmdlet to run a Start-Job command in the session. The command in the job gets all of the events in the System event log. The resulting job object is stored in the $j variable.</maml:para><maml:para>The third command stops the job. It uses the Invoke-Command cmdlet to run a Stop-Job command in the PSSession on Server01. Because the job objects are stored in $j, which is a variable on the local computer, the command uses the Using scope modifier to identify $j as a local variable. For more information about the Using scope modifier, see about_Remote_Variables (http://go.microsoft.com/fwlink/?LinkID=252653).</maml:para><maml:para>When the command completes, the job is stopped and the PSSession in $s is available for use.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
                        
                       
-------------------------- EXAMPLE 2 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Stop-Job -Name Job1
</dev:code><dev:remarks><maml:para>This command stops the Job1 background job.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 3 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Stop-Job -ID 1, 3, 4
</dev:code><dev:remarks><maml:para>This command stops three jobs. It identifies them by their IDs.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 4 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-Job | Stop-Job
</dev:code><dev:remarks><maml:para>This command stops all of the background jobs in the current session.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 5 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Stop-Job -State Blocked
</dev:code><dev:remarks><maml:para>This command stops all the jobs that are blocked.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 6 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-Job | Format-Table ID, Name, Command, @{Label="State";Expression={$_.JobStateInfo.State}},
InstanceID -Auto
 
Id Name Command State InstanceId
-- ---- ------- ----- ----------
1 Job1 start-service schedule Running 05abb67a-2932-4bd5-b331-c0254b8d9146
3 Job3 start-service schedule Running c03cbd45-19f3-4558-ba94-ebe41b68ad03
5 Job5 get-service s* Blocked e3bbfed1-9c53-401a-a2c3-a8db34336adf
 
PS C:\&gt;Stop-Job -InstanceId e3bbfed1-9c53-401a-a2c3-a8db34336adf
</dev:code><dev:remarks><maml:para>These commands show how to stop a job based on its instance ID.</maml:para><maml:para>The first command uses the Get-Job cmdlet to get the jobs in the current session. The command uses a pipeline operator (|) to send the jobs to a Format-Table command, which displays a table of the specified properties of each job. The table includes the Instance ID of each job. It uses a calculated property to display the job state.</maml:para><maml:para>The second command uses a Stop-Job command with the InstanceID parameter to stop a selected job.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 7 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;$j = Invoke-Command -ComputerName Server01 -ScriptBlock {Get-EventLog System} -AsJob
PS C:\&gt;$j | Stop-Job -PassThru
 
Id Name State HasMoreData Location Command
-- ---- ---- ----------- -------- -------
5 Job5 Stopped True user01-tablet get-eventlog system
</dev:code><dev:remarks><maml:para>This example shows how to use the Stop-Job cmdlet to stop a job that is running on a remote computer.</maml:para><maml:para>Because the job was started by using the AsJob parameter of the Invoke-Command cmdlet, the job object is located on the local computer, even though the job runs on the remote computer. As such, you can use a local Stop-Job command to stop the job.</maml:para><maml:para>The first command uses the Invoke-Command cmdlet to start a background job on the Server01 computer. The command uses the AsJob parameter to run the remote command as a background job.</maml:para><maml:para>This command returns a job object, which is the same job object that the Start-Job cmdlet returns. The command saves the job object in the $j variable.</maml:para><maml:para>The second command uses a pipeline operator to send the job in the $j variable to Stop-Job. The command uses the PassThru parameter to direct Stop-Job to return a job object. The job object display confirms that the State of the job is "Stopped".</maml:para><maml:para>For more information about remote background jobs, see about_Remote_Jobs.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=289616</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Get-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Invoke-Command</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Receive-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Remove-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Resume-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Start-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Stop-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Suspend-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Wait-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Job_Details</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Remote_Jobs</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Remote_Variables</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Jobs</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Scopes</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>Suspend-Job</command:name><maml:description><maml:para>Temporarily stops workflow jobs.</maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>Suspend</command:verb><command:noun>Job</command:noun><dev:version /></command:details><maml:description><maml:para>The Suspend-Job cmdlet suspends (temporarily interrupts or pauses) workflow jobs. This cmdlet allows users who are running workflows to suspend the workflow. It complements the <maml:navigationLink><maml:linkText>Suspend-Workflow</maml:linkText><maml:uri></maml:uri></maml:navigationLink> activity, which is a command in the workflow that suspends the workflow.</maml:para><maml:para>The Suspend-Job cmdlet works only on workflow jobs. It does not work on standard background jobs, such as those that are started by using the Start-Job cmdlet. </maml:para><maml:para>To identify a workflow job, look for a value of PSWorkflowJob in the PSJobTypeName property of the job. To determine whether a particular custom job type supports the Suspend-Job cmdlet, see the help topics for the custom job type.</maml:para><maml:para>When you suspend a workflow job, the workflow job runs to the next checkpoint, suspends, and immediately returns a workflow job object. To wait for the suspension to complete before getting the job, use the Wait parameter of Suspend-Job or the Wait-Job cmdlet. When the workflow job is suspended, the value of the State property of the job is Suspended.</maml:para><maml:para>Suspending correctly relies on checkpoints. The current job state, metadata, and output are saved in the checkpoint so the workflow job can be resumed without any loss of state or data. If the workflow job does not have checkpoints, it cannot be suspended properly. To add checkpoints to a workflow that you are running, use the PSPersist workflow common parameter. You can use the Force parameter to suspend any workflow job immediately and to suspend a workflow job that does not have checkpoints, but the action might cause loss of state and data.</maml:para><maml:para>NOTE: Before using a Job cmdlet on a custom job type, such as a workflow job (PSWorkflowJob) import the module that supports the custom job type, either by using the Import-Module cmdlet or using or using a cmdlet in the module.</maml:para><maml:para>This cmdlet is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>Suspend-Job</maml:name><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>Id</maml:name><maml:description><maml:para>Suspends the workflow jobs with the specified IDs.</maml:para><maml:para>The ID is an integer that uniquely identifies the job within the current session. It is easier to remember and to type than the instance ID, but it is unique only within the current session. You can type one or more IDs (separated by commas). To find the ID of a job, use the Get-Job cmdlet.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Int32[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="F"><maml:name>Force</maml:name><maml:description><maml:para>Suspends the workflow job immediately. This action might cause a loss of state and data.</maml:para><maml:para>By default, Suspend-Job lets the workflow job run until the next checkpoint and then suspends it. You can also use this parameter to suspend workflow jobs that do not have checkpoints.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Wait</maml:name><maml:description><maml:para>Returns only after the workflow job is in the suspended state. By default, Suspend-Job suspends immediately, even if the workflow job is not yet in the suspended state.</maml:para><maml:para>The Wait parameter is equivalent to piping a Suspend-Job command to the Wait-Job cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Suspend-Job</maml:name><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>Filter</maml:name><maml:description><maml:para>Suspends only workflow jobs that satisfy all of the conditions established in the associated hash table. Enter a hash table where the keys are workflow job properties and the values are workflow job property values.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Hashtable</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="F"><maml:name>Force</maml:name><maml:description><maml:para>Suspends the workflow job immediately. This action might cause a loss of state and data.</maml:para><maml:para>By default, Suspend-Job lets the workflow job run until the next checkpoint and then suspends it. You can also use this parameter to suspend workflow jobs that do not have checkpoints.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Wait</maml:name><maml:description><maml:para>Returns only after the workflow job is in the suspended state. By default, Suspend-Job suspends immediately, even if the workflow job is not yet in the suspended state.</maml:para><maml:para>The Wait parameter is equivalent to piping a Suspend-Job command to the Wait-Job cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Suspend-Job</maml:name><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>State</maml:name><maml:description><maml:para>Suspends only those workflow jobs in the specified state. Valid values are NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping but Suspend-Job suspends only workflow jobs in the Running state.</maml:para><maml:para>For more information about job states, see "JobState Enumeration" in MSDN at <maml:navigationLink><maml:linkText>http://msdn.microsoft.com/en-us/library/windows/desktop/system.management.automation.jobstate(v=vs.85).aspx</maml:linkText><maml:uri></maml:uri></maml:navigationLink></maml:para></maml:description><command:parameterValue required="true" variableLength="false">JobState</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="F"><maml:name>Force</maml:name><maml:description><maml:para>Suspends the workflow job immediately. This action might cause a loss of state and data.</maml:para><maml:para>By default, Suspend-Job lets the workflow job run until the next checkpoint and then suspends it. You can also use this parameter to suspend workflow jobs that do not have checkpoints.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Wait</maml:name><maml:description><maml:para>Returns only after the workflow job is in the suspended state. By default, Suspend-Job suspends immediately, even if the workflow job is not yet in the suspended state.</maml:para><maml:para>The Wait parameter is equivalent to piping a Suspend-Job command to the Wait-Job cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Suspend-Job</maml:name><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>InstanceId</maml:name><maml:description><maml:para>Suspends workflow jobs with the specified instance IDs. The default is all jobs.</maml:para><maml:para>An instance ID is a GUID that uniquely identifies the job on the computer. To find the instance ID of a job, use the Get-Job cmdlet.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Guid[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="F"><maml:name>Force</maml:name><maml:description><maml:para>Suspends the workflow job immediately. This action might cause a loss of state and data.</maml:para><maml:para>By default, Suspend-Job lets the workflow job run until the next checkpoint and then suspends it. You can also use this parameter to suspend workflow jobs that do not have checkpoints.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Wait</maml:name><maml:description><maml:para>Returns only after the workflow job is in the suspended state. By default, Suspend-Job suspends immediately, even if the workflow job is not yet in the suspended state.</maml:para><maml:para>The Wait parameter is equivalent to piping a Suspend-Job command to the Wait-Job cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Suspend-Job</maml:name><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue, ByPropertyName)" position="1" aliases=""><maml:name>Job</maml:name><maml:description><maml:para>Specifies the workflow jobs to be suspended. Enter a variable that contains the workflow jobs or a command that gets the workflow jobs. You can also pipe workflow jobs to the Suspend-Job cmdlet.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Job[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="F"><maml:name>Force</maml:name><maml:description><maml:para>Suspends the workflow job immediately. This action might cause a loss of state and data.</maml:para><maml:para>By default, Suspend-Job lets the workflow job run until the next checkpoint and then suspends it. You can also use this parameter to suspend workflow jobs that do not have checkpoints.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Wait</maml:name><maml:description><maml:para>Returns only after the workflow job is in the suspended state. By default, Suspend-Job suspends immediately, even if the workflow job is not yet in the suspended state.</maml:para><maml:para>The Wait parameter is equivalent to piping a Suspend-Job command to the Wait-Job cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Suspend-Job</maml:name><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Suspends workflow jobs with the specified friendly names. Enter one or more workflow job names. Wildcards are supported.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="F"><maml:name>Force</maml:name><maml:description><maml:para>Suspends the workflow job immediately. This action might cause a loss of state and data.</maml:para><maml:para>By default, Suspend-Job lets the workflow job run until the next checkpoint and then suspends it. You can also use this parameter to suspend workflow jobs that do not have checkpoints.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Wait</maml:name><maml:description><maml:para>Returns only after the workflow job is in the suspended state. By default, Suspend-Job suspends immediately, even if the workflow job is not yet in the suspended state.</maml:para><maml:para>The Wait parameter is equivalent to piping a Suspend-Job command to the Wait-Job cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>Filter</maml:name><maml:description><maml:para>Suspends only workflow jobs that satisfy all of the conditions established in the associated hash table. Enter a hash table where the keys are workflow job properties and the values are workflow job property values.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Hashtable</command:parameterValue><dev:type><maml:name>Hashtable</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="F"><maml:name>Force</maml:name><maml:description><maml:para>Suspends the workflow job immediately. This action might cause a loss of state and data.</maml:para><maml:para>By default, Suspend-Job lets the workflow job run until the next checkpoint and then suspends it. You can also use this parameter to suspend workflow jobs that do not have checkpoints.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>Id</maml:name><maml:description><maml:para>Suspends the workflow jobs with the specified IDs.</maml:para><maml:para>The ID is an integer that uniquely identifies the job within the current session. It is easier to remember and to type than the instance ID, but it is unique only within the current session. You can type one or more IDs (separated by commas). To find the ID of a job, use the Get-Job cmdlet.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Int32[]</command:parameterValue><dev:type><maml:name>Int32[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>InstanceId</maml:name><maml:description><maml:para>Suspends workflow jobs with the specified instance IDs. The default is all jobs.</maml:para><maml:para>An instance ID is a GUID that uniquely identifies the job on the computer. To find the instance ID of a job, use the Get-Job cmdlet.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Guid[]</command:parameterValue><dev:type><maml:name>Guid[]</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue, ByPropertyName)" position="1" aliases=""><maml:name>Job</maml:name><maml:description><maml:para>Specifies the workflow jobs to be suspended. Enter a variable that contains the workflow jobs or a command that gets the workflow jobs. You can also pipe workflow jobs to the Suspend-Job cmdlet.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Job[]</command:parameterValue><dev:type><maml:name>Job[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Suspends workflow jobs with the specified friendly names. Enter one or more workflow job names. Wildcards are supported.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>State</maml:name><maml:description><maml:para>Suspends only those workflow jobs in the specified state. Valid values are NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping but Suspend-Job suspends only workflow jobs in the Running state.</maml:para><maml:para>For more information about job states, see "JobState Enumeration" in MSDN at <maml:navigationLink><maml:linkText>http://msdn.microsoft.com/en-us/library/windows/desktop/system.management.automation.jobstate(v=vs.85).aspx</maml:linkText><maml:uri></maml:uri></maml:navigationLink></maml:para></maml:description><command:parameterValue required="true" variableLength="false">JobState</command:parameterValue><dev:type><maml:name>JobState</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Wait</maml:name><maml:description><maml:para>Returns only after the workflow job is in the suspended state. By default, Suspend-Job suspends immediately, even if the workflow job is not yet in the suspended state.</maml:para><maml:para>The Wait parameter is equivalent to piping a Suspend-Job command to the Wait-Job cmdlet.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>false</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>false</dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name>System.Management.Automation.Job</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You can pipe all types of jobs to Suspend-Job. However, if Suspend-Job gets a job of an unsupported type, it throws a terminating error.</maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name>System.Management.Automation.Job</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>Suspend-Job returns the jobs that it suspended.</maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><maml:alertSet><maml:title /><maml:alert><maml:para>The mechanism and location for saving a suspended job might vary depending on the job type. For example, suspended workflow jobs are saved in a flat file store by default, but can also be saved in a database.</maml:para></maml:alert><maml:alert><maml:para>If you submit a workflow job that is not in the Running state, Suspend-Job displays a warning message. To suppress the warning, use the WarningAction common parameter with a value of SilentlyContinue.</maml:para><maml:para>If a job is not of a type that supports suspending, Suspend-Job throw a terminating error.</maml:para></maml:alert><maml:alert><maml:para>To find the workflow jobs that are suspended, including those that were suspended by this cmdlet, use the State parameter of the Get-Job cmdlet to get workflow jobs in the Suspended state.</maml:para></maml:alert><maml:alert><maml:para>Some job types have options or properties that prevent Windows PowerShell from suspending the job. If attempts to suspend the job fail, verify that the job options and properties allow suspending.</maml:para></maml:alert></maml:alertSet><command:examples><command:example><maml:title>Example 1: Suspend a workflow job by name</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>The first command creates the Get-SystemLog workflow. The workflow uses the CheckPoint-Workflow activity to define a checkpoint in the workflow.
#Sample Workflow
Workflow Get-SystemLog
{
    $Events = Get-WinEvent -LogName System
    CheckPoint-Workflow
    InlineScript {\\Server01\Scripts\Analyze-SystemEvents.ps1 -Events $Events}
}
 
The second command uses the AsJob parameter that is common to all workflows to run the Get-SystemLog workflow as a background job. The command uses the JobName workflow common parameter to specify a friendly name for the workflow job.
PS C:\&gt;Get-SystemLog -AsJob -JobName Get-SystemLogJob
 
The third command uses the Get-Job cmdlet to get the Get-SystemLogJob workflow job. The output shows that the value of the PSJobTypeName property is PSWorkflowJob.
PS C:\&gt;Get-Job -Name Get-SystemLogJob
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
4 Get-SystemLogJob PSWorkflowJob Running True localhost Get-SystemLog
 
The fourth command uses the Suspend-Job cmdlet to suspend the Get-SystemLogJob job. The job runs to the checkpoint and then suspends.
PS C:\&gt;Suspend-Job -Name Get-SystemLogJob
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
4 Get-SystemLogJob PSWorkflowJob Suspended True localhost Get-SystemLog
</dev:code><dev:remarks><maml:para>This example shows how to suspend a workflow job.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>Example 2: Suspend and resume a workflow job</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>The first command suspends the LogWorkflowJob job.The command returns immediately. The output shows that the workflow job is still running, even though it is in the process of being suspended..
PS C:\&gt;Suspend-Job -Name LogWorkflowJob
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
67 LogflowJob PSWorkflowJob Running True localhost LogWorkflow
 
The second command uses the Get-Job cmdlet to get the LogWorkflowJob job. The output shows that the workflow job suspended successfully.
PS C:\&gt;Get-Job -Name LogWorkflowJob
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
67 LogflowJob PSWorkflowJob Suspended True localhost LogWorkflow
 
The third command uses the Get-Job cmdlet to get the LogWorkflowJob job and the Resume-Job cmdlet to resume it. The output shows that the workflow job resumed successfully and is now running.
PS C:\&gt;Get-Job -Name LogWorkflowJob | Resume-Job
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
67 LogflowJob PSWorkflowJob Running True localhost LogWorkflow
</dev:code><dev:remarks><maml:para>This example shows how to suspend and resume a workflow job.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>Example 3: Suspend a workflow job on a remote computer </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Invoke-Command -ComputerName Srv01 -Scriptblock {Suspend-Job -Filter @{CustomID="031589"}
</dev:code><dev:remarks><maml:para>This command uses the Invoke-Command cmdlet to suspend a workflow job on the Srv01 remote computer. The value of the Filters parameter is a hash table that specifies a CustomID value. This CustomID is job metadata (PSPrivateMetadata).</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>Example 4: Wait for the workflow job to suspend</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Suspend-Job VersionCheck -Wait
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
 5 VersionCheck PSWorkflowJob Suspended True localhost LogWorkflow
</dev:code><dev:remarks><maml:para>This command suspends the VersionCheck workflow job. The command uses the Wait parameter to wait until the workflow job is suspended. When the workflow job runs to the next checkpoint and is suspended, the command completes and returns the job object.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>Example 5: Force a workflow job to suspend</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Suspend-Job Maintenance -Force
</dev:code><dev:remarks><maml:para>This command suspends the Maintenance workflow job forcibly. The Maintenance job does not have checkpoints, so it cannot be suspended correctly and might not resume properly.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=289617</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Get-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Receive-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Remove-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Resume-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Start-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Stop-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Suspend-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Wait-Job</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>Test-ModuleManifest</command:name><maml:description><maml:para>Verifies that a module manifest file accurately describes the contents of a module.</maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>Test</command:verb><command:noun>ModuleManifest</command:noun><dev:version /></command:details><maml:description><maml:para>The Test-ModuleManifest cmdlet verifies that the files that are listed in the module manifest (.psd1) file actually exist in the specified paths.</maml:para><maml:para>This cmdlet is designed to help module authors test their manifest files. Module users can also use this cmdlet in scripts and commands to detect errors before running scripts that depend on the module.</maml:para><maml:para>The Test-ModuleManifest cmdlet returns an object that represents the module (the same type of object that Get-Module returns). If any files are not in the locations specified in the manifest, the cmdlet also generates an error for each missing file.</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>Test-ModuleManifest</maml:name><command:parameter required="true" variableLength="false" globbing="true" pipelineInput="true (ByValue, ByPropertyName)" position="1" aliases=""><maml:name>Path</maml:name><maml:description><maml:para>Specifies the path to the module manifest file. Enter a path (optional) and the name of the module manifest file with the .psd1 file name extension. The default location is the current directory. Wildcards are supported, but must resolve to a single module manifest file. This parameter is required. The parameter name ("Path") is optional. You can also pipe a path to Test-ModuleManifest.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="true" variableLength="false" globbing="true" pipelineInput="true (ByValue, ByPropertyName)" position="1" aliases=""><maml:name>Path</maml:name><maml:description><maml:para>Specifies the path to the module manifest file. Enter a path (optional) and the name of the module manifest file with the .psd1 file name extension. The default location is the current directory. Wildcards are supported, but must resolve to a single module manifest file. This parameter is required. The parameter name ("Path") is optional. You can also pipe a path to Test-ModuleManifest.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name>System.String</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You can pipe the path to a module manifest to Test-ModuleManifest.</maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name>System.Management.Automation.PSModuleInfo</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>Test-ModuleManifest returns a PSModuleInfo object that represents the module. It returns this object even if the manifest has errors.</maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><command:examples><command:example><maml:title>
  
-------------------------- EXAMPLE 1 --------------------------
  
</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;test-ModuleManifest -path $pshome\Modules\TestModule.psd1
</dev:code><dev:remarks><maml:para>This command tests the TestModule.psd1 module manifest.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 2 --------------------------
  
</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;"$pshome\Modules\TestModule.psd1" | test-modulemanifest
 
Test-ModuleManifest : The specified type data file 'C:\Windows\System32\Wi
ndowsPowerShell\v1.0\Modules\TestModule\TestTypes.ps1xml' could not be processed because the file was not found. Please correct the path and try again.
At line:1 char:34
+ "$pshome\Modules\TestModule.psd1" | test-modulemanifest &lt;&lt;&lt;&lt;
+ CategoryInfo : ResourceUnavailable: (C:\Windows\System32\WindowsPowerShell\v1.0\Modules\TestModule\TestTypes.ps1xml:String) [Test-ModuleManifest], FileNotFoundException
+ FullyQualifiedErrorId : Modules_TypeDataFileNotFound,Microsoft.PowerShell.Commands.TestModuleManifestCommandName
 
Name : TestModule
Path : C:\Windows\system32\WindowsPowerShell\v1.0\Modules\TestModule\TestModule.psd1
Description :
Guid : 6f0f1387-cd25-4902-b7b4-22cff6aefa7b
Version : 1.0
ModuleBase : C:\Windows\system32\WindowsPowerShell\v1.0\Modules\TestModule
ModuleType : Manifest
PrivateData :
AccessMode : ReadWrite
ExportedAliases : {}
ExportedCmdlets : {}
ExportedFunctions : {}
ExportedVariables : {}
NestedModules : {}
</dev:code><dev:remarks><maml:para>This command uses a pipeline operator (|) to send a path string to Test-ModuleManifest.</maml:para><maml:para>The command output shows that the test failed, because the TestTypes.ps1xml file, which was listed in the manifest, was not found.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 3 --------------------------
  
</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;function Test-ManifestBool ($path)
{$a = dir $path | test-modulemanifest -erroraction SilentlyContinue; $?}
</dev:code><dev:remarks><maml:para>This function is like Test-ModuleManifest, but it returns a Boolean value; it returns "True" if the manifest passed the test and "False" otherwise.</maml:para><maml:para>The function uses the Get-ChildItem cmdlet (alias = dir) to get the module manifest specified by the $path variable. It uses a pipeline operator (|) to pass the file object to the Test-ModuleManifest cmdlet.</maml:para><maml:para>The Test-ModuleManifest command uses the ErrorAction common parameter with a value of SilentlyContinue to suppress the display of any errors that the command generates. It also saves the PSModuleInfo object that Test-ModuleManifest returns in the $a variable, so the object is not displayed.</maml:para><maml:para>Then, in a separate command (the semi-colon [;] is the command separator), it displays the value of the $? automatic variable, which returns "True" if the previous command generated no error and "False" otherwise.</maml:para><maml:para>You can use this function in conditional statements, such as those that might precede an Import-Module command or a command that uses the module.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=289618</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Export-ModuleMember</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Get-Module</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Import-Module</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>New-Module</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>New-ModuleManifest</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Remove-Module</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Modules</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>Test-PSSessionConfigurationFile</command:name><maml:description><maml:para>Verifies the keys and values in a session configuration file.</maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>Test</command:verb><command:noun>PSSessionConfigurationFile</command:noun><dev:version /></command:details><maml:description><maml:para>The Test-PSSessionConfigurationFile cmdlet verifies that a session configuration file contains valid keys and the values are of the correct type. For enumerated values, the cmdlet verifies that the specified values are valid.</maml:para><maml:para>By default, Test-PSSessionConfigurationFile returns "True" ($true) if the file passes all tests and "False" ($false) if it does not. To find any errors, use the Verbose common parameter.</maml:para><maml:para>Test-PSSessionConfigurationFile verifies the session configuration files, such as those created by the New-PSSessionConfigurationFile cmdlet. For information about session configurations, see about_Session_Configurations (http://go.microsoft.com/fwlink/?LinkID=145152). For information about session configuration files, see about_Session_Configuration_Files (http://go.microsoft.com/fwlink/?LinkID=236023).</maml:para><maml:para>This cmdlet is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>Test-PSSessionConfigurationFile</maml:name><command:parameter required="true" variableLength="false" globbing="true" pipelineInput="true (ByValue, ByPropertyName)" position="1" aliases=""><maml:name>Path</maml:name><maml:description><maml:para>Specifies the path and file name of a session configuration file (.pssc). If you omit the path, the default is the current directory. Wildcards are supported, but they must resolve to a single file. You can also pipe a session configuration file path to Test-PSSessionConfigurationFile.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="true" variableLength="false" globbing="true" pipelineInput="true (ByValue, ByPropertyName)" position="1" aliases=""><maml:name>Path</maml:name><maml:description><maml:para>Specifies the path and file name of a session configuration file (.pssc). If you omit the path, the default is the current directory. Wildcards are supported, but they must resolve to a single file. You can also pipe a session configuration file path to Test-PSSessionConfigurationFile.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name>System.String</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You can pipe a session configuration file path to Test-PSSessionConfigurationFile.</maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name>System.Boolean</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para></maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><command:examples><command:example><maml:title>Example 1: Test a session configuration file</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Test-PSSessionConfigurationFile -Path FullLanguage.pssc
True
</dev:code><dev:remarks><maml:para>This command uses the Test-PSSessionConfigurationFile cmdlet to test a new session configuration file before using it in a session configuration.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>Example 2: Test the session configuration file of a session configuration</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Test-PSSessionConfigurationFile -Path (Get-PSSessionConfiguration -Name Restricted).ConfigFilePath
 
</dev:code><dev:remarks><maml:para>This command uses the Test-PSSessionConfigurationFile cmdlet to test the session configuration file that is being used to in the Restricted session configuration. The value of the Path parameter is a Get-PSSessionConfiguration command that gets the Restricted session configuration. The path to the session configuration file is stored in the value of the ConfigFilePath property of the session configuration.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>Example 3: Test all session configuration files</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;
function Test-AllConfigFiles
{
    Get-PSSessionConfiguration | ForEach-Object { if ($_.ConfigFilePath)
    {$_.ConfigFilePath; Test-PSSessionConfigurationFile -Verbose `
     -Path $_.ConfigFilePath }}
}
  
                       
C:\WINDOWS\System32\WindowsPowerShell\v1.0\SessionConfig\Empty_6fd77bf6-e084-4372-bd8a-af3e207354d3.psscTrueC:\WINDOWS\System32\WindowsPowerShell\v1.0\SessionConfig\Full_1e9cb265-dae0-4bd3-89a9-8338a47698a1.psscVERBOSE: The member 'AliasDefinitions' must contain the required key 'Description'. Add the require key to the fileC:\WINDOWS\System32\WindowsPowerShell\v1.0\SessionConfig\Full_1e9cb265-dae0-4bd3-89a9-8338a47698a1.pssc.FalseC:\WINDOWS\System32\WindowsPowerShell\v1.0\SessionConfig\NoLanguage_0c115179-ff2a-4f66-a5eb-e56e5692ba22.psscTrueC:\WINDOWS\System32\WindowsPowerShell\v1.0\SessionConfig\RestrictedLang_b6bd9474-0a6c-4e06-8722-c2c95bb10d3e.psscTrueC:\WINDOWS\System32\WindowsPowerShell\v1.0\SessionConfig\RRS_3fb29420-2c87-46e5-a402-e21436331efc.psscTrue
</dev:code><dev:remarks><maml:para>This function tests all session configuration files that are used in all session configurations on the local computer.</maml:para><maml:para>The function uses the Get-PSSessionConfiguration cmdlet to get all session configurations on the local computer. The command pipes the session configuration to the ForEach-Object cmdlet, which runs a command on each of the session configurations.</maml:para><maml:para>The ConfigFilePath property of a session configuration contains the path to the session configuration file that is used in the session configuration, if any.</maml:para><maml:para>If the value of the ConfigFilePath property is populated (is true), the command gets (prints) the ConfigFilePath property value. Then it uses the Test-PSSessionConfigurationFile cmdlet to test the file in the ConfigFilePath value. The Verbose parameter returns the file error when the file fails the test.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=289619</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Disable-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Enable-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Get-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>New-PSSessionConfigurationFile</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>New-PSSessionConfigurationOption</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Register-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Set-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Test-PSSessionConfigurationFile</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Unregister-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>WSMan Provider</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Session_Configurations</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Session_Configuration_Files</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>Unregister-PSSessionConfiguration</command:name><maml:description><maml:para>Deletes registered session configurations from the computer.</maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>Unregister</command:verb><command:noun>PSSessionConfiguration</command:noun><dev:version /></command:details><maml:description><maml:para>The Unregister-PSSessionConfiguration cmdlet deletes registered session configurations from the computer. This is an advanced cmdlet that is designed to be used by system administrators to manage customized session configurations for their users.</maml:para><maml:para>To make the change effective, Unregister-PSSessionConfiguration restarts the WinRM service. To prevent the restart, use the NoServiceRestart parameter.</maml:para><maml:para>If you accidentally delete the default Microsoft.PowerShell or Microsoft.PowerShell32 session configurations, use the Enable-PSRemoting function to restore them. For more information, see about_Session_Configurations.</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>Unregister-PSSessionConfiguration</maml:name><command:parameter required="true" variableLength="false" globbing="true" pipelineInput="true (ByPropertyName)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Specifies the names of the session configurations to delete. Enter one session configuration name or a configuration name pattern. Wildcards are permitted. This parameter is required.</maml:para><maml:para>You can also pipe a session configurations to Unregister-PSSessionConfiguration.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Force</maml:name><maml:description><maml:para>Suppresses all user prompts, and restarts the WinRM service without prompting. Restarting the service makes the configuration change effective.</maml:para><maml:para>To prevent a restart and suppress the restart prompt, use the NoServiceRestart parameter.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>NoServiceRestart</maml:name><maml:description><maml:para>Does not restart the WinRM service, and suppresses the prompt to restart the service.</maml:para><maml:para>By default, when you enter an Unregister-PSSessionConfiguration command, you are prompted to restart the WinRM service to make the change effective. Until the WinRM service is restarted, users can still use the unregistered session configuration, even though Get-PSSessionConfiguration does not find it.</maml:para><maml:para>To restart the WinRM service without prompting, use the Force parameter. To restart the WinRM service manually, use the Restart-Service cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Force</maml:name><maml:description><maml:para>Suppresses all user prompts, and restarts the WinRM service without prompting. Restarting the service makes the configuration change effective.</maml:para><maml:para>To prevent a restart and suppress the restart prompt, use the NoServiceRestart parameter.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="true" pipelineInput="true (ByPropertyName)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Specifies the names of the session configurations to delete. Enter one session configuration name or a configuration name pattern. Wildcards are permitted. This parameter is required.</maml:para><maml:para>You can also pipe a session configurations to Unregister-PSSessionConfiguration.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>NoServiceRestart</maml:name><maml:description><maml:para>Does not restart the WinRM service, and suppresses the prompt to restart the service.</maml:para><maml:para>By default, when you enter an Unregister-PSSessionConfiguration command, you are prompted to restart the WinRM service to make the change effective. Until the WinRM service is restarted, users can still use the unregistered session configuration, even though Get-PSSessionConfiguration does not find it.</maml:para><maml:para>To restart the WinRM service without prompting, use the Force parameter. To restart the WinRM service manually, use the Restart-Service cmdlet.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>Confirm</maml:name><maml:description><maml:para>Prompts you for confirmation before running the cmdlet.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>false</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named"><maml:name>WhatIf</maml:name><maml:description><maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>false</dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name> Microsoft.PowerShell.Commands.PSSessionConfigurationCommands#PSSessionConfiguration</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You can pipe a session configuration object from Get-PSSessionConfiguration to Unregister-PSSessionConfiguration.</maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name>None</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>This cmdlet does not return any objects.</maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><maml:alertSet><maml:title /><maml:alert><maml:para>To run this cmdlet on Windows Vista, Windows Server 2008, and later versions of Windows, you must start Windows PowerShell with the "Run as administrator" option.</maml:para></maml:alert><maml:alert><maml:para></maml:para></maml:alert></maml:alertSet><command:examples><command:example><maml:title>
  
-------------------------- EXAMPLE 1 --------------------------
  
</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;unregister-pssessionconfiguration -name MaintenanceShell
</dev:code><dev:remarks><maml:para>This command deletes the MaintenanceShell session configuration from the computer.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 2 --------------------------
  
</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;unregister-pssessionconfiguration -name MaintenanceShell -force
</dev:code><dev:remarks><maml:para>This command deletes the MaintenanceShell session configuration from the computer. The command uses the Force parameter to suppress all user messages and to restart the WinRM service without prompting.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 3 --------------------------
  
</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;unregister-pssessionconfiguration -name *
PS C:\&gt;get-pssessionconfiguration -name * | unregister-pssessionconfiguration
</dev:code><dev:remarks><maml:para>These commands delete all of the session configurations on the computer. The commands have the same effect and can be used interchangeably.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 4 --------------------------
  
</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;unregister-pssessionconfiguration -name maintenanceShell -noServiceRestart
PS C:\&gt;get-pssessionconfiguration -name maintenanceShell
 
Get-PSSessionConfiguration -name maintenanceShell : No Session Configuration matches criteria "maintenanceShell".
+ CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException
+ FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException
 
PS C:\&gt;new-pssession -configurationName MaintenanceShell
 
Id Name ComputerName State Configuration Availability
-- ---- ------------ ----- ------------- ------------
1 Session1 localhost Opened MaintenanceShell Available
 
PS C:\&gt;restart-service winrm
PS C:\&gt;new-pssession -configurationName MaintenanceShell
 
[localhost] Connecting to remote server failed with the following error message : The WS-Management service cannot process the request. The resource URI (http://schemas.microsoft.com/powershell/MaintenanceShell) was not found in the WS-Management catalog. The catalog contains the metadata that describes resources, or logical endpoints. For more information, see the about_Remote_Troubleshooting Help topic.
+ CategoryInfo : OpenError: (System.Manageme....RemoteRunspace:RemoteRunspace) [], PSRemotingTransportException
+ FullyQualifiedErrorId : PSSessionOpenFailed
</dev:code><dev:remarks><maml:para>This example shows the effect of using the NoServiceRestart parameter of Unregister-PSSessionConfiguration. This parameter is designed to prevent a service restart, which would disrupt any sessions on the computer.</maml:para><maml:para>The first command uses the Unregister-PSSessionConfiguration cmdlet to deletes the MaintenanceShell session configuration. However, because the command uses the NoServiceRestart parameter, the WinRM service is not restarted and the change is not yet completely effective.</maml:para><maml:para>The second command uses the Get-PSSessionConfiguration cmdlet to get the MaintenanceShell session. Because the session has been removed from the WS-Management resource table, Get-PSSession cannot return it.</maml:para><maml:para>The third command uses the New-PSSession cmdlet to create a session on the local computer that uses the MaintenanceShell configuration. The command succeeds.</maml:para><maml:para>The fourth command uses the Restart-Service cmdlet to restart the WinRM service.</maml:para><maml:para>The fifth command again uses the New-PSSession cmdlet to create a session that uses the MaintenanceShell configuration. This time, the session fails because the MaintenanceShell configuration has been deleted.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=289620</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Disable-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Enable-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Get-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>New-PSSessionConfigurationFile</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>New-PSSessionConfigurationOption</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Register-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Set-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Test-PSSessionConfigurationFile</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Unregister-PSSessionConfiguration</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>WSMan Provider</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Session_Configurations</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Session_Configuration_Files</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>Update-Help</command:name><maml:description><maml:para>Downloads and installs the newest help files on your computer.</maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>Update</command:verb><command:noun>Help</command:noun><dev:version /></command:details><maml:description><maml:para>The Update-Help cmdlet downloads the newest help files for Windows PowerShell modules and installs them on your computer. You can use the Get-Help cmdlet to view the new help files immediately; you do not need to restart Windows PowerShell to make the change effective. This feature enables you to install help files for modules that do not include them and to update help files on your computer so that they never become obsolete.</maml:para><maml:para>The Update-Help cmdlet checks the version of the help files on your computer. If you do not have help files for a module or do not have the newest help files for a module, Update-Help downloads the newest help files from the Internet or a file share and installs them on your computer in the correct module folder.</maml:para><maml:para>Without parameters, Update-Help updates the help for modules in the session and for all installed modules (in a PSModulePath location) that support Updatable Help, even if the module is not in the current session. You can also use the Module parameter to update help for a particular module and use the UICulture parameter to download help files in multiple languages and locales.</maml:para><maml:para>You can use Update-Help even on computers that are not connected to the Internet. Use the Save-Help cmdlet to download help files from the Internet and save them in a file system location, such as a shared folder or file system directory. Then use the SourcePath parameter of Update-Help to get the updated help files from a file system location and install them on the computer.</maml:para><maml:para>You can even automate the running of Update-Help by adding an Update-Help command to your Windows PowerShell profile. By default, Update-Help runs only once per day on each computer. To override the once-per-day limit, use the Force parameter.</maml:para><maml:para>To download or update the help files for modules in the Windows PowerShell installation directory ($pshome\Modules), including the Windows PowerShell Core modules, start Windows PowerShell with the "Run as administrator" option. You must be a member of the Administrators group on the computer to update the help files for these modules.</maml:para><maml:para>You can also update help files by using the "Update Windows PowerShell Help" menu item in the Help menu in Windows PowerShell Integrated Scripting Environment (ISE). The "Update Windows PowerShell Help" item runs an Update-Help command without parameters. To update help for modules in the $PSHome directory, start Windows PowerShell ISE with the "Run as administrator" option.</maml:para><maml:para>This cmdlet is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>Update-Help</maml:name><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="true (ByPropertyName)" position="1" aliases="none"><maml:name>FullyQualifiedModule</maml:name><maml:description><maml:para>Specifies modules with names that are specified in the form of ModuleSpecification objects (described by the Remarks section of <maml:navigationLink><maml:linkText>Module Specification Constructor (Hashtable)</maml:linkText><maml:uri></maml:uri></maml:navigationLink> on MSDN). For example, the FullyQualifiedModule parameter accepts a module name that is specified in the format @{ModuleName = "modulename"; ModuleVersion = "version_number"} or @{ModuleName = "modulename"; ModuleVersion = "version_number"; Guid = "GUID"}. ModuleName and ModuleVersion are required, but Guid is optional.</maml:para><maml:para>You cannot specify the FullyQualifiedModule parameter in the same command as a Module parameter; the two parameters are mutually exclusive.</maml:para></maml:description><command:parameterValue required="false" variableLength="true">ModuleSpecification[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="true (ByPropertyName)" position="1" aliases=""><maml:name>Module</maml:name><maml:description><maml:para>Updates help for the specified modules. Enter one or more module names or name patters in a comma-separated list, or specify a file that lists one module name on each line. Wildcard characters are permitted. You can also pipe modules from the Get-Module cmdlet, to the Update-Help cmdlet.</maml:para><maml:para>The modules that you specify must be installed on the computer, but they do not need to be imported into the current session. You can specify any module in the session or any module that is installed in a location listed in the PSModulePath environment variable.</maml:para><maml:para>A value of "*" (all) attempts to update help for all modules that are installed on the computer, including modules that do not support Updatable Help. This value might generate errors as the command encounters modules that do not support Updatable Help. Instead, run an Update-Help command without parameters.</maml:para><maml:para>The Module parameter of the Update-Help cmdlet does not accept the full path to a module file or module manifest file. To update help for a module that is not in a PSModulePath location, import the module into the current session before running the Update-Help command.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="2" aliases=""><maml:name>SourcePath</maml:name><maml:description><maml:para>Gets updated help files from the specified file system directory, instead of downloading them from the Internet. Enter the path to a directory. Do not specify a file name or file name extension. You can also pipe a directory object, such as one from the Get-Item or Get-ChildItem cmdlets, to Update-Help.</maml:para><maml:para>By default, Update-Help downloads updated help files from the Internet. Use this parameter when you have used the Save-Help cmdlet to download updated help files to a directory.</maml:para><maml:para>Administrators can use the "Set the default source path for Update-Help" Group Policy setting under Computer Configuration to specify a default value for the SourcePath parameter. This Group Policy setting prevents users from using Update-Help to download help files from the Internet. For more information, see about_Group_Policy_Settings (http://go.microsoft.com/fwlink/?LinkId=251696).</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="3" aliases=""><maml:name>UICulture</maml:name><maml:description><maml:para>Gets updated help files for the specified UI culture. Enter one or more language codes, such as "es-ES", a variable that contains culture objects, or a command that gets culture objects, such as a Get-Culture or Get-UICulture command. Wildcards are not permitted and you cannot submit a partial language code, such as "de".</maml:para><maml:para>By default, Update-Help gets help files in the UI culture set for Windows or its fallback culture. If you use the UICulture parameter, Update-Help looks for help only for the specified UI culture, not in any fallback culture.</maml:para><maml:para>Commands that use the UICulture parameter succeed only when the module provides help files for the specified UI culture. If the command fails because the specified UI culture is not supported, the error message includes a list of UI cultures that the module supports.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">CultureInfo[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Credential</maml:name><maml:description><maml:para>Runs the command with credentials of a user who has permission to access the file system location specified by the SourcePath parameter. This parameter is valid only when the SourcePath or LiteralPath parameter is used in the command.</maml:para><maml:para>This parameter enables you to run Update-Help commands with the SourcePath parameter on remote computers. By providing explicit credentials, you can run the command on a remote computer and access a file share on a third computer without encountering an "access denied" error or using CredSSP authentication to delegate credentials.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Force</maml:name><maml:description><maml:para>Overrides the once-per-day limitation, version checking, and the 1 GB per module limit.</maml:para><maml:para>Without this parameter, Update-Help runs only once in each 24-hour period, downloads are limited to 1 GB of uncompressed content per module and help files are installed only when they are newer than the files on the computer.</maml:para><maml:para>The once-per-day limit protects the servers that host the help files and makes it practical for you to add an Update-Help command to your Windows PowerShell profile without incurring the resource cost of repeated connections or downloads.</maml:para><maml:para>To update help for a module in multiple UI cultures without the Force parameter, include all UI cultures in the same command, such as: Update-Help -Module PSScheduledJobs -UICulture en-US, fr-FR, pt-BR</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Recurse</maml:name><maml:description><maml:para>Searches recursively for help files in the specified directory. This parameter is valid only when the SourcePath parameter is used in the command.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>UseDefaultCredentials</maml:name><maml:description><maml:para>Runs the command, including the Internet download, with the credentials of the current user. By default, the command runs without explicit credentials.</maml:para><maml:para>This parameter is effective only when the web download uses NTLM, negotiate, or Kerberos-based authentication.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Update-Help</maml:name><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="true (ByPropertyName)" position="1" aliases="none"><maml:name>FullyQualifiedModule</maml:name><maml:description><maml:para>Specifies modules with names that are specified in the form of ModuleSpecification objects (described by the Remarks section of <maml:navigationLink><maml:linkText>Module Specification Constructor (Hashtable)</maml:linkText><maml:uri></maml:uri></maml:navigationLink> on MSDN). For example, the FullyQualifiedModule parameter accepts a module name that is specified in the format @{ModuleName = "modulename"; ModuleVersion = "version_number"} or @{ModuleName = "modulename"; ModuleVersion = "version_number"; Guid = "GUID"}. ModuleName and ModuleVersion are required, but Guid is optional.</maml:para><maml:para>You cannot specify the FullyQualifiedModule parameter in the same command as a Module parameter; the two parameters are mutually exclusive.</maml:para></maml:description><command:parameterValue required="false" variableLength="true">ModuleSpecification[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="true (ByPropertyName)" position="1" aliases=""><maml:name>Module</maml:name><maml:description><maml:para>Updates help for the specified modules. Enter one or more module names or name patters in a comma-separated list, or specify a file that lists one module name on each line. Wildcard characters are permitted. You can also pipe modules from the Get-Module cmdlet, to the Update-Help cmdlet.</maml:para><maml:para>The modules that you specify must be installed on the computer, but they do not need to be imported into the current session. You can specify any module in the session or any module that is installed in a location listed in the PSModulePath environment variable.</maml:para><maml:para>A value of "*" (all) attempts to update help for all modules that are installed on the computer, including modules that do not support Updatable Help. This value might generate errors as the command encounters modules that do not support Updatable Help. Instead, run an Update-Help command without parameters.</maml:para><maml:para>The Module parameter of the Update-Help cmdlet does not accept the full path to a module file or module manifest file. To update help for a module that is not in a PSModulePath location, import the module into the current session before running the Update-Help command.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="3" aliases=""><maml:name>UICulture</maml:name><maml:description><maml:para>Gets updated help files for the specified UI culture. Enter one or more language codes, such as "es-ES", a variable that contains culture objects, or a command that gets culture objects, such as a Get-Culture or Get-UICulture command. Wildcards are not permitted and you cannot submit a partial language code, such as "de".</maml:para><maml:para>By default, Update-Help gets help files in the UI culture set for Windows or its fallback culture. If you use the UICulture parameter, Update-Help looks for help only for the specified UI culture, not in any fallback culture.</maml:para><maml:para>Commands that use the UICulture parameter succeed only when the module provides help files for the specified UI culture. If the command fails because the specified UI culture is not supported, the error message includes a list of UI cultures that the module supports.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">CultureInfo[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Credential</maml:name><maml:description><maml:para>Runs the command with credentials of a user who has permission to access the file system location specified by the SourcePath parameter. This parameter is valid only when the SourcePath or LiteralPath parameter is used in the command.</maml:para><maml:para>This parameter enables you to run Update-Help commands with the SourcePath parameter on remote computers. By providing explicit credentials, you can run the command on a remote computer and access a file share on a third computer without encountering an "access denied" error or using CredSSP authentication to delegate credentials.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Force</maml:name><maml:description><maml:para>Overrides the once-per-day limitation, version checking, and the 1 GB per module limit.</maml:para><maml:para>Without this parameter, Update-Help runs only once in each 24-hour period, downloads are limited to 1 GB of uncompressed content per module and help files are installed only when they are newer than the files on the computer.</maml:para><maml:para>The once-per-day limit protects the servers that host the help files and makes it practical for you to add an Update-Help command to your Windows PowerShell profile without incurring the resource cost of repeated connections or downloads.</maml:para><maml:para>To update help for a module in multiple UI cultures without the Force parameter, include all UI cultures in the same command, such as: Update-Help -Module PSScheduledJobs -UICulture en-US, fr-FR, pt-BR</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="true (ByPropertyName)" position="named" aliases=""><maml:name>LiteralPath</maml:name><maml:description><maml:para>Gets updated help files from the specified directory instead of downloading them from the Internet. Use this parameter or the SourcePath parameter if you have used the Save-Help cmdlet to download help files to a directory. </maml:para><maml:para>You can also pipe a directory object, such as one from the Get-Item or Get-ChildItem cmdlets, to Update-Help.</maml:para><maml:para>Unlike the value of the SourcePath parameter, the value of the LiteralPath parameter is used exactly as it is typed. No characters are interpreted as wildcards. If the path includes escape characters, enclose it in single quotation marks. Single quotation marks tell Windows PowerShell not to interpret any characters as escape sequences.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Recurse</maml:name><maml:description><maml:para>Searches recursively for help files in the specified directory. This parameter is valid only when the SourcePath parameter is used in the command.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>UseDefaultCredentials</maml:name><maml:description><maml:para>Runs the command, including the Internet download, with the credentials of the current user. By default, the command runs without explicit credentials.</maml:para><maml:para>This parameter is effective only when the web download uses NTLM, negotiate, or Kerberos-based authentication.</maml:para></maml:description></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Credential</maml:name><maml:description><maml:para>Runs the command with credentials of a user who has permission to access the file system location specified by the SourcePath parameter. This parameter is valid only when the SourcePath or LiteralPath parameter is used in the command.</maml:para><maml:para>This parameter enables you to run Update-Help commands with the SourcePath parameter on remote computers. By providing explicit credentials, you can run the command on a remote computer and access a file share on a third computer without encountering an "access denied" error or using CredSSP authentication to delegate credentials.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue><dev:type><maml:name>PSCredential</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Force</maml:name><maml:description><maml:para>Overrides the once-per-day limitation, version checking, and the 1 GB per module limit.</maml:para><maml:para>Without this parameter, Update-Help runs only once in each 24-hour period, downloads are limited to 1 GB of uncompressed content per module and help files are installed only when they are newer than the files on the computer.</maml:para><maml:para>The once-per-day limit protects the servers that host the help files and makes it practical for you to add an Update-Help command to your Windows PowerShell profile without incurring the resource cost of repeated connections or downloads.</maml:para><maml:para>To update help for a module in multiple UI cultures without the Force parameter, include all UI cultures in the same command, such as: Update-Help -Module PSScheduledJobs -UICulture en-US, fr-FR, pt-BR</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="true (ByPropertyName)" position="1" aliases="none"><maml:name>FullyQualifiedModule</maml:name><maml:description><maml:para>Specifies modules with names that are specified in the form of ModuleSpecification objects (described by the Remarks section of <maml:navigationLink><maml:linkText>Module Specification Constructor (Hashtable)</maml:linkText><maml:uri></maml:uri></maml:navigationLink> on MSDN). For example, the FullyQualifiedModule parameter accepts a module name that is specified in the format @{ModuleName = "modulename"; ModuleVersion = "version_number"} or @{ModuleName = "modulename"; ModuleVersion = "version_number"; Guid = "GUID"}. ModuleName and ModuleVersion are required, but Guid is optional.</maml:para><maml:para>You cannot specify the FullyQualifiedModule parameter in the same command as a Module parameter; the two parameters are mutually exclusive.</maml:para></maml:description><command:parameterValue required="false" variableLength="true">ModuleSpecification[]</command:parameterValue><dev:type><maml:name>ModuleSpecification[]</maml:name><maml:uri /></dev:type><dev:defaultValue>All imported or available modules.</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="true (ByPropertyName)" position="named" aliases=""><maml:name>LiteralPath</maml:name><maml:description><maml:para>Gets updated help files from the specified directory instead of downloading them from the Internet. Use this parameter or the SourcePath parameter if you have used the Save-Help cmdlet to download help files to a directory. </maml:para><maml:para>You can also pipe a directory object, such as one from the Get-Item or Get-ChildItem cmdlets, to Update-Help.</maml:para><maml:para>Unlike the value of the SourcePath parameter, the value of the LiteralPath parameter is used exactly as it is typed. No characters are interpreted as wildcards. If the path includes escape characters, enclose it in single quotation marks. Single quotation marks tell Windows PowerShell not to interpret any characters as escape sequences.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="true" pipelineInput="true (ByPropertyName)" position="1" aliases=""><maml:name>Module</maml:name><maml:description><maml:para>Updates help for the specified modules. Enter one or more module names or name patters in a comma-separated list, or specify a file that lists one module name on each line. Wildcard characters are permitted. You can also pipe modules from the Get-Module cmdlet, to the Update-Help cmdlet.</maml:para><maml:para>The modules that you specify must be installed on the computer, but they do not need to be imported into the current session. You can specify any module in the session or any module that is installed in a location listed in the PSModulePath environment variable.</maml:para><maml:para>A value of "*" (all) attempts to update help for all modules that are installed on the computer, including modules that do not support Updatable Help. This value might generate errors as the command encounters modules that do not support Updatable Help. Instead, run an Update-Help command without parameters.</maml:para><maml:para>The Module parameter of the Update-Help cmdlet does not accept the full path to a module file or module manifest file. To update help for a module that is not in a PSModulePath location, import the module into the current session before running the Update-Help command.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>All modules in the current session</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Recurse</maml:name><maml:description><maml:para>Searches recursively for help files in the specified directory. This parameter is valid only when the SourcePath parameter is used in the command.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>false</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="2" aliases=""><maml:name>SourcePath</maml:name><maml:description><maml:para>Gets updated help files from the specified file system directory, instead of downloading them from the Internet. Enter the path to a directory. Do not specify a file name or file name extension. You can also pipe a directory object, such as one from the Get-Item or Get-ChildItem cmdlets, to Update-Help.</maml:para><maml:para>By default, Update-Help downloads updated help files from the Internet. Use this parameter when you have used the Save-Help cmdlet to download updated help files to a directory.</maml:para><maml:para>Administrators can use the "Set the default source path for Update-Help" Group Policy setting under Computer Configuration to specify a default value for the SourcePath parameter. This Group Policy setting prevents users from using Update-Help to download help files from the Internet. For more information, see about_Group_Policy_Settings (http://go.microsoft.com/fwlink/?LinkId=251696).</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="3" aliases=""><maml:name>UICulture</maml:name><maml:description><maml:para>Gets updated help files for the specified UI culture. Enter one or more language codes, such as "es-ES", a variable that contains culture objects, or a command that gets culture objects, such as a Get-Culture or Get-UICulture command. Wildcards are not permitted and you cannot submit a partial language code, such as "de".</maml:para><maml:para>By default, Update-Help gets help files in the UI culture set for Windows or its fallback culture. If you use the UICulture parameter, Update-Help looks for help only for the specified UI culture, not in any fallback culture.</maml:para><maml:para>Commands that use the UICulture parameter succeed only when the module provides help files for the specified UI culture. If the command fails because the specified UI culture is not supported, the error message includes a list of UI cultures that the module supports.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">CultureInfo[]</command:parameterValue><dev:type><maml:name>CultureInfo[]</maml:name><maml:uri /></dev:type><dev:defaultValue>Current UI culture</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>UseDefaultCredentials</maml:name><maml:description><maml:para>Runs the command, including the Internet download, with the credentials of the current user. By default, the command runs without explicit credentials.</maml:para><maml:para>This parameter is effective only when the web download uses NTLM, negotiate, or Kerberos-based authentication.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name>System.IO.DirectoryInfo</maml:name><maml:uri>http://go.microsoft.com/fwlink/?LinkId=204113</maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You can pipe a directory path to Update-Help.</maml:para></maml:description></command:inputType><command:inputType><dev:type><maml:name>System.Management.Automation.PSModuleInfo</maml:name><maml:uri>http://go.microsoft.com/fwlink/?LinkId=204114</maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You can pipe a module object from the Get-Module cmdlet to Update-Help.</maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name>None</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>Update-Help does not generate any output.</maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><maml:alertSet><maml:title /><maml:alert><maml:para>To update help for the Windows PowerShell Core modules (which contain the commands that are installed with Windows PowerShell) or any module in the $pshome\Modules directory, start Windows PowerShell with the "Run as administrator" option.</maml:para><maml:para>Only members of the Administrators group on the computer can update help for the for the Windows PowerShell Core modules (the commands that are installed with Windows PowerShell) and for modules in the $pshome\Modules directory. If you do not have permission to update help files, you might be able to read the help topics online. To open the online version of any cmdlet help topic, type "Get-Help &lt;cmdlet-name&gt; –Online ".</maml:para></maml:alert><maml:alert><maml:para>Modules are the smallest unit of updatable help. You cannot update help for a particular cmdlet; only for all cmdlets in module. To find the module that contains a particular cmdlet, use the ModuleName property of the Get-Command cmdlet, for example, (Get-Command &lt;cmdlet-name&gt;).ModuleName</maml:para></maml:alert><maml:alert><maml:para>Because help files are installed in the module directory, the Update-Help cmdlet can install updated help file only for modules that are installed on the computer. However, the Save-Help cmdlet can save help for modules that are not installed on the computer.</maml:para></maml:alert><maml:alert><maml:para>If Update-Help cannot find updated help files for a module, or cannot find updated help in the specified language, it continues silently without displaying an error message. To see status and progress details, use the Verbose parameter.</maml:para></maml:alert><maml:alert><maml:para>The Update-Help cmdlet was introduced in Windows PowerShell 3.0. It does not work in earlier versions of Windows PowerShell. On computers that have both the Windows PowerShell 2.0 engine and Windows PowerShell 3.0, use the Update-Help cmdlet in a Windows PowerShell 3.0 session to download and update help files. The help files are accessible to both Windows PowerShell 2.0 and Windows PowerShell 3.0.</maml:para></maml:alert><maml:alert><maml:para>The Update-Help and Save-Help cmdlets use the following ports to download help files: Port 80 for HTTP and port 443 for HTTPS.</maml:para></maml:alert><maml:alert><maml:para>Update-Help supports all modules and the Windows PowerShell Core snap-ins. It does not support any other snap-ins.</maml:para></maml:alert><maml:alert><maml:para>To update help for a module in a location that is not listed in the PSModulePath environment variable, import the module into the current session and then run an Update-Help command. Run the Update-Help command without parameters or use the Module parameter to specify the module name. The Module parameter of the Update-Help and Save-Help cmdlets does not accept the full path to a module file or module manifest file.</maml:para></maml:alert><maml:alert><maml:para>Any module can support Updatable Help. For instructions for supporting Updatable Help in the modules that you author, see "Supporting Updatable Help" in the MSDN Library at http://go.microsoft.com/fwlink/?LinkID=242129.</maml:para></maml:alert><maml:alert><maml:para>The Update-Help and Save-Help cmdlets are not supported on Windows Preinstallation Environment (Windows PE).</maml:para></maml:alert></maml:alertSet><command:examples><command:example><maml:title>Example 1: Update help for all modules</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Update-Help
</dev:code><dev:remarks><maml:para>This command updates help for all installed modules that support Updatable Help in the language specified by the UI culture that is set for Windows.</maml:para><maml:para>To run this command, start Windows PowerShell with the "Run as administrator" option (Start-Process PowerShell -Verb RunAs).</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>Example 2: Update help for specified modules</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Update-Help -Module ServerManager, Microsoft.PowerShell*
</dev:code><dev:remarks><maml:para>This command updates help only for the ServerManager module and for modules that have names that begin with "Microsoft.PowerShell".</maml:para><maml:para>Because these modules are in the $pshome\Modules directory, to run this command, start Windows PowerShell with the "Run as administrator" option.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>Example 3: Update help in different languages</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Update-Help –UICulture ja-JP, en-US
Update-Help : Failed to update Help for the module(s) 'ServerManager' with UI culture(s) {ja-JP} :
The specified culture is not supported: ja-JP. Specify a culture from the following list: {en-US}.
</dev:code><dev:remarks><maml:para>This command updates the Japanese and English help files for all modules.</maml:para><maml:para>If a module currently does not provide help files for the specified UI culture, the error message lists the UI cultures that the module supports. In this example, the error message indicates that the ServerManager module currently provides help files only in en-US. </maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>Example 4: Update help automatically</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Register-ScheduledJob -Name UpdateHelpJob -Credential Domain01\User01 -ScriptBlock {Update-Help} -Trigger (New-JobTrigger -Daily -At "3 AM")
Id Name JobTriggers Command Enabled
-- ---- ----------- ------- -------
1 UpdateHelpJob 1 Update-Help True
</dev:code><dev:remarks><maml:para>This command creates a scheduled job that updates help for all modules on the computer every day at 3:00 in the morning.</maml:para><maml:para>The command uses the Register-ScheduledJob cmdlet to create a scheduled job that runs an Update-Help command. The command uses the Credential parameter to run the Update-Help cmdlet with the credentials of a member of the Administrators group on the computer. The value of the Trigger parameter is a New-JobTrigger command that creates a job trigger that starts the job every day at 3:00 AM.</maml:para><maml:para>To run the Register-ScheduledJob command, start Windows PowerShell with the "Run as administrator" option. When you run the command, Windows PowerShell prompts you for the password of the user specified in the value of the Credential parameter. The credentials are stored with the scheduled job; you are not prompted when the job runs.</maml:para><maml:para>You can use the Get-ScheduledJob cmdlet to view the scheduled job, use the Set-ScheduledJob cmdlet to change it, and use the Unregister-ScheduledJob cmdlet to delete it. You can also view and manage the scheduled job in Task Scheduler in the following path: Task Scheduler Library\Microsoft\Windows\PowerShell\ScheduledJobs.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>Example 5: Update help on multiple computers from a file share</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>The first command uses the Save-Help cmdlet to download the newest help files for all modules that support Updatable Help. The command saves the downloaded help files in the \\Server01\Share\PSHelp file share.The command uses the Credential parameter of the Save-Help cmdlet to specify the credentials of a user who has permission to access the remote file share. By default, the command does not run with explicit credentials and attempts to access the file share might fail.
PS C:\&gt;Save-Help –DestinationPath \\Server01\Share\PSHelp -Credential Domain01\Admin01
 
The second command uses the Invoke-Command cmdlet to run Update-Help commands on many computers remotely.The Invoke-Command command gets the list of computers from the Servers.txt file. The Update-Help command installs the help files from the file share on all of the remote computers. The remote computer must be able to access the file share at the specified path.The Update-Help command uses the SourcePath parameter to get the updated help files from the file share, instead of the Internet, and the Credential parameter to run the command with explicit credentials. By default, the command runs with network token privileges and attempts to access the file share from each remote computer (a "second hop") might fail.
PS C:\&gt;Invoke-Command –ComputerName (Get-Content Servers.txt) –ScriptBlock {Update-Help –SourcePath \\Server01\Share\Help -Credential Domain01\Admin01}
</dev:code><dev:remarks><maml:para>These commands download updated help files for system modules from the Internet and save them in file share. Then the commands install the updated help files from the file share on multiple computers. You can use a strategy like the one shown here to update the help files on numerous computers, even those that are behind firewalls or are not connected to the Internet.</maml:para><maml:para>All of the commands in this example were run in a Windows PowerShell session that was started with the "Run as administrator" option.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>Example 6: Get a List of Updated Help Files</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Update-Help –Module BestPractices, ServerManager -Verbose
</dev:code><dev:remarks><maml:para>This command updates help for two modules. It uses the Verbose common parameter of the Update-Help cmdlet to get a list of the help files that the command updated.</maml:para><maml:para>Without the Verbose parameter, Update-Help does not display the results of the command. The Verbose parameter is especially useful when you need to verify that you have updated help files for a particular module or a particular locale.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>Example 7: Find modules that support Updatable Help</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-Module -ListAvailable | Where HelpInfoUri
</dev:code><dev:remarks><maml:para>This command gets modules that support Updatable Help.</maml:para><maml:para>The command uses the HelpInfoUri property of modules to identify modules that support Updatable Help. The value of the HelpInfoUri property contains the address of the Internet location where the module stores its Updatable Help information file.</maml:para><maml:para>This command uses the simplified syntax of the Where-Object cmdlet. This syntax is introduced in Windows PowerShell 3.0. </maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>Example 8: Inventory updated help files</maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;
#Get-UpdateHelpVersion.ps1
Param
      (
         [parameter(Mandatory=$False)]
         [String[]]
         $Module
      )
$HelpInfoNamespace = @{helpInfo="http://schemas.microsoft.com/powershell/help/2010/05"}
 
if ($Module) { $Modules = Get-Module $Module -ListAvailable | where {$_.HelpInfoUri} }
else { $Modules = Get-Module -ListAvailable | where {$_.HelpInfoUri} }
 
foreach ($mModule in $Modules)
{
    $mDir = $mModule.ModuleBase
 
    if (Test-Path $mdir\*helpinfo.xml)
    {
        $mName=$mModule.Name
        $mNodes = dir $mdir\*helpinfo.xml -ErrorAction SilentlyContinue | Select-Xml -Namespace $HelpInfoNamespace -XPath "//helpInfo:UICulture"
        foreach ($mNode in $mNodes)
        {
            $mCulture=$mNode.Node.UICultureName
            $mVer=$mNode.Node.UICultureVersion
             
            [PSCustomObject]@{"ModuleName"=$mName; "Culture"=$mCulture; "Version"=$mVer}
        }
    }
}
 
ModuleName Culture Version
 
---------- ------- -------
 
ActiveDirectory en-US 3.0.0.0
 
ADCSAdministration en-US 3.0.0.0
 
ADCSDeployment en-US 3.0.0.0
 
ADDSDeployment en-US 3.0.0.0
 
ADFS en-US 3.0.0.0
 

 
</dev:code><dev:remarks><maml:para>The Get-UpdateHelpVersion.ps1 script creates an inventory of the Updatable Help files for each module and their version numbers. Copy the script and paste it in a text file.</maml:para><maml:para>The script identifies modules that support Updatable Help by using the HelpInfoUri property of modules. For modules that support Updatable Help, the script looks for and parses the help information file (HelpInfo XML) to find the latest version number.</maml:para><maml:para>The script uses the PSCustomObject class and a hash table to create a custom output object.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=289621</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Updatable Help Status Table (http://go.microsoft.com/fwlink/?LinkID=270007)</maml:linkText><maml:uri></maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Get-ChildItem</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Get-Culture</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Get-Help</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Get-Item</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Get-Module</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Get-UICulture</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Start-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Save-Help</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>Wait-Job</command:name><maml:description><maml:para>Suppresses the command prompt until one or all of the Windows PowerShell background jobs running in the session are complete.</maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>Wait</command:verb><command:noun>Job</command:noun><dev:version /></command:details><maml:description><maml:para>The Wait-Job cmdlet waits for Windows PowerShell background jobs to complete before it displays the command prompt. You can wait until any background job is complete, or until all background jobs are complete, and you can set a maximum wait time for the job.</maml:para><maml:para>When the commands in the job are complete, Wait-Job displays the command prompt and returns a job object so that you can pipe it to another command.</maml:para><maml:para>You can use Wait-Job cmdlet to wait for background jobs, such as those that were started by using the Start-Job cmdlet or the AsJob parameter of the Invoke-Command cmdlet. For more information about Windows PowerShell background jobs, see about_Jobs.</maml:para><maml:para>Beginning in Windows PowerShell 3.0, the Wait-Job cmdlet also waits for custom job types, such as workflow jobs and instances of scheduled jobs. To enable Wait-Job to wait for jobs of a particular type, import the module that supports the custom job type into the session before running a Get-Job command, either by using the Import-Module cmdlet or by using or getting a cmdlet in the module. For information about a particular custom job type, see the documentation of the custom job type feature.</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>Wait-Job</maml:name><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>Id</maml:name><maml:description><maml:para>Waits for jobs with the specified IDs.</maml:para><maml:para>The ID is an integer that uniquely identifies the job within the current session. It is easier to remember and type than the InstanceId, but it is unique only within the current session. You can type one or more IDs (separated by commas). To find the ID of a job, type "Get-Job" without parameters.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Int32[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Any</maml:name><maml:description><maml:para>Displays the command prompt (and returns the job object) when any job completes. By default, Wait-Job waits until all of the specified jobs are complete before displaying the prompt.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Force</maml:name><maml:description><maml:para>Continues waiting if jobs are in the Suspended or Disconnected state. By default, Wait-Job returns (terminates the wait) when jobs are in one of the following states: Completed, Failed, Stopped, Suspended, or Disconnected.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="TimeoutSec"><maml:name>Timeout</maml:name><maml:description><maml:para>Determines the maximum wait time for each background job, in seconds. The default, -1, waits until the job completes, no matter how long it runs. The timing starts when you submit the Wait-Job command, not the Start-Job command.</maml:para><maml:para>If this time is exceeded, the wait ends and the command prompt returns, even if the job is still running. No error message is displayed.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Wait-Job</maml:name><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>Filter</maml:name><maml:description><maml:para>Waits for jobs that satisfy all of the conditions established in the associated hash table. Enter a hash table where the keys are job properties and the values are job property values.</maml:para><maml:para>This parameter works only on custom job types, such as workflow jobs and scheduled jobs. It does not work on standard background jobs, such as those created by using the Start-Job cmdlet. For information about support for this parameter, see the help topic for the job type.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Hashtable</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Any</maml:name><maml:description><maml:para>Displays the command prompt (and returns the job object) when any job completes. By default, Wait-Job waits until all of the specified jobs are complete before displaying the prompt.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Force</maml:name><maml:description><maml:para>Continues waiting if jobs are in the Suspended or Disconnected state. By default, Wait-Job returns (terminates the wait) when jobs are in one of the following states: Completed, Failed, Stopped, Suspended, or Disconnected.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="TimeoutSec"><maml:name>Timeout</maml:name><maml:description><maml:para>Determines the maximum wait time for each background job, in seconds. The default, -1, waits until the job completes, no matter how long it runs. The timing starts when you submit the Wait-Job command, not the Start-Job command.</maml:para><maml:para>If this time is exceeded, the wait ends and the command prompt returns, even if the job is still running. No error message is displayed.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Wait-Job</maml:name><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>InstanceId</maml:name><maml:description><maml:para>Waits for jobs with the specified instance IDs. The default is all jobs.</maml:para><maml:para>An instance ID is a GUID that uniquely identifies the job on the computer. To find the instance ID of a job, use Get-Job.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Guid[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Any</maml:name><maml:description><maml:para>Displays the command prompt (and returns the job object) when any job completes. By default, Wait-Job waits until all of the specified jobs are complete before displaying the prompt.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Force</maml:name><maml:description><maml:para>Continues waiting if jobs are in the Suspended or Disconnected state. By default, Wait-Job returns (terminates the wait) when jobs are in one of the following states: Completed, Failed, Stopped, Suspended, or Disconnected.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="TimeoutSec"><maml:name>Timeout</maml:name><maml:description><maml:para>Determines the maximum wait time for each background job, in seconds. The default, -1, waits until the job completes, no matter how long it runs. The timing starts when you submit the Wait-Job command, not the Start-Job command.</maml:para><maml:para>If this time is exceeded, the wait ends and the command prompt returns, even if the job is still running. No error message is displayed.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Wait-Job</maml:name><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue, ByPropertyName)" position="1" aliases=""><maml:name>Job</maml:name><maml:description><maml:para>Waits for the specified jobs. Enter a variable that contains the job objects or a command that gets the job objects. You can also use a pipeline operator to send job objects to the Wait-Job cmdlet. By default, Wait-Job waits for all jobs created in the current session.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Job[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Any</maml:name><maml:description><maml:para>Displays the command prompt (and returns the job object) when any job completes. By default, Wait-Job waits until all of the specified jobs are complete before displaying the prompt.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Force</maml:name><maml:description><maml:para>Continues waiting if jobs are in the Suspended or Disconnected state. By default, Wait-Job returns (terminates the wait) when jobs are in one of the following states: Completed, Failed, Stopped, Suspended, or Disconnected.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="TimeoutSec"><maml:name>Timeout</maml:name><maml:description><maml:para>Determines the maximum wait time for each background job, in seconds. The default, -1, waits until the job completes, no matter how long it runs. The timing starts when you submit the Wait-Job command, not the Start-Job command.</maml:para><maml:para>If this time is exceeded, the wait ends and the command prompt returns, even if the job is still running. No error message is displayed.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Wait-Job</maml:name><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Waits for jobs with the specified friendly name.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Any</maml:name><maml:description><maml:para>Displays the command prompt (and returns the job object) when any job completes. By default, Wait-Job waits until all of the specified jobs are complete before displaying the prompt.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Force</maml:name><maml:description><maml:para>Continues waiting if jobs are in the Suspended or Disconnected state. By default, Wait-Job returns (terminates the wait) when jobs are in one of the following states: Completed, Failed, Stopped, Suspended, or Disconnected.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="TimeoutSec"><maml:name>Timeout</maml:name><maml:description><maml:para>Determines the maximum wait time for each background job, in seconds. The default, -1, waits until the job completes, no matter how long it runs. The timing starts when you submit the Wait-Job command, not the Start-Job command.</maml:para><maml:para>If this time is exceeded, the wait ends and the command prompt returns, even if the job is still running. No error message is displayed.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Wait-Job</maml:name><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>State</maml:name><maml:description><maml:para>Waits only for jobs in the specified state. Valid values are NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping.</maml:para><maml:para>For more information about job states, see "JobState Enumeration" in MSDN at <maml:navigationLink><maml:linkText>http://msdn.microsoft.com/en-us/library/windows/desktop/system.management.automation.jobstate(v=vs.85).aspx</maml:linkText><maml:uri></maml:uri></maml:navigationLink></maml:para></maml:description><command:parameterValue required="true" variableLength="false">JobState</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Any</maml:name><maml:description><maml:para>Displays the command prompt (and returns the job object) when any job completes. By default, Wait-Job waits until all of the specified jobs are complete before displaying the prompt.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Force</maml:name><maml:description><maml:para>Continues waiting if jobs are in the Suspended or Disconnected state. By default, Wait-Job returns (terminates the wait) when jobs are in one of the following states: Completed, Failed, Stopped, Suspended, or Disconnected.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="TimeoutSec"><maml:name>Timeout</maml:name><maml:description><maml:para>Determines the maximum wait time for each background job, in seconds. The default, -1, waits until the job completes, no matter how long it runs. The timing starts when you submit the Wait-Job command, not the Start-Job command.</maml:para><maml:para>If this time is exceeded, the wait ends and the command prompt returns, even if the job is still running. No error message is displayed.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Any</maml:name><maml:description><maml:para>Displays the command prompt (and returns the job object) when any job completes. By default, Wait-Job waits until all of the specified jobs are complete before displaying the prompt.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>Filter</maml:name><maml:description><maml:para>Waits for jobs that satisfy all of the conditions established in the associated hash table. Enter a hash table where the keys are job properties and the values are job property values.</maml:para><maml:para>This parameter works only on custom job types, such as workflow jobs and scheduled jobs. It does not work on standard background jobs, such as those created by using the Start-Job cmdlet. For information about support for this parameter, see the help topic for the job type.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Hashtable</command:parameterValue><dev:type><maml:name>Hashtable</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>Id</maml:name><maml:description><maml:para>Waits for jobs with the specified IDs.</maml:para><maml:para>The ID is an integer that uniquely identifies the job within the current session. It is easier to remember and type than the InstanceId, but it is unique only within the current session. You can type one or more IDs (separated by commas). To find the ID of a job, type "Get-Job" without parameters.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Int32[]</command:parameterValue><dev:type><maml:name>Int32[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>InstanceId</maml:name><maml:description><maml:para>Waits for jobs with the specified instance IDs. The default is all jobs.</maml:para><maml:para>An instance ID is a GUID that uniquely identifies the job on the computer. To find the instance ID of a job, use Get-Job.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Guid[]</command:parameterValue><dev:type><maml:name>Guid[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue, ByPropertyName)" position="1" aliases=""><maml:name>Job</maml:name><maml:description><maml:para>Waits for the specified jobs. Enter a variable that contains the job objects or a command that gets the job objects. You can also use a pipeline operator to send job objects to the Wait-Job cmdlet. By default, Wait-Job waits for all jobs created in the current session.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">Job[]</command:parameterValue><dev:type><maml:name>Job[]</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>Name</maml:name><maml:description><maml:para>Waits for jobs with the specified friendly name.</maml:para></maml:description><command:parameterValue required="true" variableLength="true">String[]</command:parameterValue><dev:type><maml:name>String[]</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases=""><maml:name>State</maml:name><maml:description><maml:para>Waits only for jobs in the specified state. Valid values are NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping.</maml:para><maml:para>For more information about job states, see "JobState Enumeration" in MSDN at <maml:navigationLink><maml:linkText>http://msdn.microsoft.com/en-us/library/windows/desktop/system.management.automation.jobstate(v=vs.85).aspx</maml:linkText><maml:uri></maml:uri></maml:navigationLink></maml:para></maml:description><command:parameterValue required="true" variableLength="false">JobState</command:parameterValue><dev:type><maml:name>JobState</maml:name><maml:uri /></dev:type><dev:defaultValue>None</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases="TimeoutSec"><maml:name>Timeout</maml:name><maml:description><maml:para>Determines the maximum wait time for each background job, in seconds. The default, -1, waits until the job completes, no matter how long it runs. The timing starts when you submit the Wait-Job command, not the Start-Job command.</maml:para><maml:para>If this time is exceeded, the wait ends and the command prompt returns, even if the job is still running. No error message is displayed.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Int32</command:parameterValue><dev:type><maml:name>Int32</maml:name><maml:uri /></dev:type><dev:defaultValue>-1</dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>Force</maml:name><maml:description><maml:para>Continues waiting if jobs are in the Suspended or Disconnected state. By default, Wait-Job returns (terminates the wait) when jobs are in one of the following states: Completed, Failed, Stopped, Suspended, or Disconnected.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue>False</dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name>System.Management.Automation.RemotingJob</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You can pipe a job object to Wait-Job.</maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name>System.Management.Automation.PSRemotingJob</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>Wait-Job returns job objects that represent the completed jobs. If the wait ends because the value of the Timeout parameter is exceeded, Wait-Job does not return any objects.</maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><maml:alertSet><maml:title /><maml:alert><maml:para>By default, Wait-Job returns (terminates the wait) when jobs are in one of the following states: Completed, Failed, Stopped, Suspended, or Disconnected. To direct Wait-Job to continue waiting for Suspended and Disconnected jobs, use the Force parameter.</maml:para></maml:alert></maml:alertSet><command:examples><command:example><maml:title>
  
-------------------------- EXAMPLE 1 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-Job | Wait-Job
</dev:code><dev:remarks><maml:para>This command waits for all of the background jobs running in the session to complete.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 2 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;$s = New-PSSession Server01, Server02, Server03
PS C:\&gt;Invoke-Command -Session $s -ScriptBlock {Start-Job -Name Date1 -ScriptBlock {Get-Date}}
PS C:\&gt;$done = Invoke-Command -Session $s -Command {Wait-Job -Name Date1}
PS C:\&gt;$done.Count
3
</dev:code><dev:remarks><maml:para>This example shows how to use the Wait-Job cmdlet with jobs started on remote computers by using the Start-Job cmdlet. Both the Start-Job and Wait-Job commands are submitted to the remote computer by using the Invoke-Command cmdlet.</maml:para><maml:para>This example uses Wait-Job to determine whether a Get-Date command running as a background job on three different computers is complete.</maml:para><maml:para>The first command creates a Windows PowerShell session (PSSession) on each of the three remote computers and stores them in the $s variable.</maml:para><maml:para>The second command uses the Invoke-Command cmdlet to run a Start-Job command in each of the three sessions in $s. All of the jobs are named Date1.</maml:para><maml:para>The third command uses the Invoke-Command cmdlet to run a Wait-Job command. This command waits for the Date1 jobs on each computer to complete. It stores the resulting collection (array) of job objects in the $done variable.</maml:para><maml:para>The fourth command uses the Count property of the array of job objects in the $done variable to determine how many of the jobs are complete.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 3 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;$s = New-PSSession (Get-Content Machines.txt)
PS C:\&gt;$c = 'Get-EventLog -LogName System | where {$_.EntryType -eq "error" --and $_.Source -eq "LSASRV"} | Out-File Errors.txt'
PS C:\&gt;Invoke-Command -Session $s -ScriptBlock {Start-Job -ScriptBlock {$Using:c}
PS C:\&gt;Invoke-Command -Session $s -ScriptBlock {Wait-Job -Any}
</dev:code><dev:remarks><maml:para>This example uses the Any parameter of Wait-Job to determine when the first of many background jobs running in the current session are complete. It also shows how to use the Wait-Job cmdlet to wait for remote jobs to complete.</maml:para><maml:para>The first command creates a PSSession on each of the computers listed in the Machines.txt file and stores the PSSessions in the $s variable. The command uses the Get-Content cmdlet to get the contents of the file. The Get-Content command is enclosed in parentheses to ensure that it runs before the New-PSSession command.</maml:para><maml:para>The second command stores a Get-EventLog command string (in quotation marks) in the $c variable.</maml:para><maml:para>The third command uses the Invoke-Command cmdlet to run a Start-Job command in each of the sessions in $s. The Start-Job command starts a background job that runs the Get-EventLog command in the $c variable.</maml:para><maml:para>The command uses the Using scope modifier to indicate that the $c variable was defined on the local computer. The Using scope modifier is introduced in Windows PowerShell 3.0. For more information about the Using scope modifier, see about_Remote_Variables (http://go.microsoft.com/fwlink/?LinkID=252653).</maml:para><maml:para>The fourth command uses the Invoke-Command cmdlet to run a Wait-Job command in the sessions. It uses the Any parameter to wait until the first job on the remote computers is complete.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 4 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;$s = New-PSSession Server01, Server02, Server03
PS C:\&gt;$jobs = Invoke-Command -Session $s -ScriptBlock {Start-Job -ScriptBlock {Get-Date}}
PS C:\&gt;$done = Invoke-Command -Session $s -ScriptBlock {Wait-Job -Timeout 30}
</dev:code><dev:remarks><maml:para>This example shows how to use the Timeout parameter of Wait-Job to set a maximum wait time for the jobs running on remote computers.</maml:para><maml:para>The first command creates a PSSession on each of three remote computers (Server01, Server02, and Server03), and it saves the PSSessions in the $s variable.</maml:para><maml:para>The second command uses the Invoke-Command cmdlet to run a Start-Job command in each of the PSSessions in $s. It saves the resulting job objects in the $jobs variable.</maml:para><maml:para>The third command uses the Invoke-Command cmdlet to run a Wait-Job command in each of the PSSessions in $s. The Wait-Job command determines whether all of the commands have completed within 30 seconds. It uses the Timeout parameter with a value of 30 (seconds) to establish the maximum wait time and saves the results of the command in the $done variable.</maml:para><maml:para>In this case, after 30 seconds, only the command on the Server02 computer has completed. Wait-Job ends the wait, displays the command prompt, and returns the object that represents the job that was completed.</maml:para><maml:para>The $done variable contains a job object that represents the job that ran on Server02.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 5 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Wait-Job -id 1,2,5 -Any
</dev:code><dev:remarks><maml:para>This command identifies three jobs by their IDs and waits until any of them are complete. The command prompt returns when the first job completes.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 6 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Wait-Job -Name DailyLog -Timeout 120
</dev:code><dev:remarks><maml:para>This command waits 120 seconds (two minutes) for the DailyLog job to complete. If the job does not complete in the next two minutes, the command prompt returns anyway, and the job continues to run in the background.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 7 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Wait-Job -Name Job3
</dev:code><dev:remarks><maml:para>This Wait-Job command uses the job name to identify the job to wait for.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 8 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;$j = Start-Job -ScriptBlock {Get-ChildItem *.ps1| where {$_lastwritetime -gt ((Get-Date) - (New-TimeSpan -Days 7))}}
PS C:\&gt;$j | Wait-Job
</dev:code><dev:remarks><maml:para>This example shows how to use the Wait-Job cmdlet with jobs started on the local computer by using the Start-Job cmdlet.</maml:para><maml:para>These commands start a job that gets the Windows PowerShell script files that were added or updated in the last week.</maml:para><maml:para>The first command uses the Start-Job cmdlet to start a background job on the local computer. The job runs a Get-ChildItem command that gets all of the files with a ".ps1" file name extension that were added or updated in the last week.</maml:para><maml:para>The third command uses the Wait-Job cmdlet to wait until the job is complete. When the job completes, the command displays the job object, which contains information about the job.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 9 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;$s = New-PSSession Server01, Server02, Server03
PS C:\&gt;$j = Invoke-Command -Session $s -ScriptBlock {Get-Process} -AsJob
PS C:\&gt;$j | Wait-Job
</dev:code><dev:remarks><maml:para>This example shows how to use the Wait-Job cmdlet with jobs started on remote computers by using the AsJob parameter of the Invoke-Command cmdlet. When using AsJob, the job is created on the local computer and the results are automatically returned to the local computer, even though the job runs on the remote computers.</maml:para><maml:para>This example uses Wait-Job to determine whether a Get-Process command running in the sessions on three remote computers is complete.</maml:para><maml:para>The first command creates PSSessions on three computers and stores them in the $s variable.</maml:para><maml:para>The second command uses the Invoke-Command cmdlet to run a Get-Process command in each of the three PSSessions in $s. The command uses the AsJob parameter to run the command asynchronously as a background job. The command returns a job object, just like the jobs started by using Start-Job, and the job object is stored in the $j variable.</maml:para><maml:para>The third command uses a pipeline operator (|) to send the job object in $j to the Wait-Job cmdlet. Notice that an Invoke-Command command is not required in this case, because the job resides on the local computer.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 10 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-Job
 
Id Name State HasMoreData Location Command
-- ---- ----- ----------- -------- -------
1 Job1 Completed True localhost,Server01.. get-service
4 Job4 Completed True localhost dir | where
 
PS C:\&gt;Wait-Job -id 1
</dev:code><dev:remarks><maml:para>This command waits for the job with an ID value of 1.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=289622</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Get-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Invoke-Command</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Receive-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Remove-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Resume-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Start-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Stop-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Suspend-Job</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Jobs</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Job_Details</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Remote_Jobs</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>about_Remote_Variables</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"><command:details><command:name>Where-Object</command:name><maml:description><maml:para>Selects objects from a collection based on their property values.</maml:para></maml:description><maml:copyright><maml:para /></maml:copyright><command:verb>Where</command:verb><command:noun>Object</command:noun><dev:version /></command:details><maml:description><maml:para>The Where-Object cmdlet selects objects that have particular property values from the collection of objects that are passed to it. For example you can use the Where-Object cmdlet to select files that were created after a certain date, events with a particular ID, or computers with a particular version of Windows.</maml:para><maml:para>Beginning in Windows PowerShell 3.0, there are two different ways to construct a Where-Object command.</maml:para><maml:para>Script block. You can use a script block to specify the property name, a comparison operator, and a property value. Where-Object returns all objects for which the script block statement is true.</maml:para><maml:para>For example, the following command gets processes in the Normal priority class, that is, processes where the value of the PriorityClass property equals "Normal".</maml:para><maml:para>Get-Process | Where-Object {$_.PriorityClass -eq "Normal"}</maml:para><maml:para>All Windows PowerShell comparison operators are valid in the script block format. For more information about comparison operators, see about_Comparison_Operators (http://go.microsoft.com/fwlink/?LinkID=113217).</maml:para><maml:para>Comparison statement. You can also write a comparison statement, which is much more like natural language. Comparison statements were introduced in Windows PowerShell 3.0.</maml:para><maml:para>For example, the following commands also get processes that have a priority class of "Normal". These commands are equivalent and can be used interchangeably.</maml:para><maml:para>Get-Process | Where-Object -Property PriorityClass -eq -Value "Normal"</maml:para><maml:para>Get-Process | Where-Object PriorityClass -eq "Normal"</maml:para><maml:para>Beginning in Windows PowerShell 3.0, Where-Object adds comparison operators as parameters in a Where-Object command. Unless specified, all operators are case-insensitive. Prior to Windows PowerShell 3.0, the comparison operators in the Windows PowerShell language could be used only in script blocks.</maml:para></maml:description><command:syntax><command:syntaxItem><maml:name>Where-Object</maml:name><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="1" aliases=""><maml:name>Property</maml:name><maml:description><maml:para>Specifies the name of an object property.</maml:para><maml:para>The parameter name (-Property) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="" pipelineInput="false" position="2" aliases=""><maml:name>Value</maml:name><maml:description><maml:para>Specifies a property value.</maml:para><maml:para>The parameter name (-Value) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Object</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="" pipelineInput="false" position="named" aliases=""><maml:name>EQ</maml:name><maml:description><maml:para>Specifies the equals operator, which gets objects when the property value is the same as the specified value.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Specifies the objects to be filtered. You can also pipe the objects to Where-Object. When you use the InputObject parameter with Where-Object, instead of piping command results to Where-Object, the InputObject value—even if the value is a collection that is the result of a command, such as –InputObject (Get-Process)—is treated as a single object. Because InputObject cannot return individual properties from an array or collection of objects, it is recommended that if you use Where-Object to filter a collection of objects for those objects that have specific values in defined properties, you use Where-Object in the pipeline, as shown in the examples in this topic.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Where-Object</maml:name><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="1" aliases=""><maml:name>Property</maml:name><maml:description><maml:para>Specifies the name of an object property.</maml:para><maml:para>The parameter name (-Property) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="" pipelineInput="false" position="2" aliases=""><maml:name>Value</maml:name><maml:description><maml:para>Specifies a property value.</maml:para><maml:para>The parameter name (-Value) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Object</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Specifies the objects to be filtered. You can also pipe the objects to Where-Object. When you use the InputObject parameter with Where-Object, instead of piping command results to Where-Object, the InputObject value—even if the value is a collection that is the result of a command, such as –InputObject (Get-Process)—is treated as a single object. Because InputObject cannot return individual properties from an array or collection of objects, it is recommended that if you use Where-Object to filter a collection of objects for those objects that have specific values in defined properties, you use Where-Object in the pipeline, as shown in the examples in this topic.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue></command:parameter><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="named" aliases=""><maml:name>Contains</maml:name><maml:description><maml:para>Specifies the Contains operator, which gets objects when any item in the property value of the object is an exact match for the specified value.</maml:para><maml:para>For example: Get-Process | where ProcessName -contains "Svchost"</maml:para><maml:para>If the property value contains a single object, Windows PowerShell converts it to a collection of one object.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Where-Object</maml:name><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1" aliases=""><maml:name>FilterScript</maml:name><maml:description><maml:para>Specifies the script block that is used to filter the objects. Enclose the script block in braces ( {} ).</maml:para><maml:para>The parameter name (-FilterScript) is optional.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">ScriptBlock</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Specifies the objects to be filtered. You can also pipe the objects to Where-Object. When you use the InputObject parameter with Where-Object, instead of piping command results to Where-Object, the InputObject value—even if the value is a collection that is the result of a command, such as –InputObject (Get-Process)—is treated as a single object. Because InputObject cannot return individual properties from an array or collection of objects, it is recommended that if you use Where-Object to filter a collection of objects for those objects that have specific values in defined properties, you use Where-Object in the pipeline, as shown in the examples in this topic.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Where-Object</maml:name><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="1" aliases=""><maml:name>Property</maml:name><maml:description><maml:para>Specifies the name of an object property.</maml:para><maml:para>The parameter name (-Property) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="" pipelineInput="false" position="2" aliases=""><maml:name>Value</maml:name><maml:description><maml:para>Specifies a property value.</maml:para><maml:para>The parameter name (-Value) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Object</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Specifies the objects to be filtered. You can also pipe the objects to Where-Object. When you use the InputObject parameter with Where-Object, instead of piping command results to Where-Object, the InputObject value—even if the value is a collection that is the result of a command, such as –InputObject (Get-Process)—is treated as a single object. Because InputObject cannot return individual properties from an array or collection of objects, it is recommended that if you use Where-Object to filter a collection of objects for those objects that have specific values in defined properties, you use Where-Object in the pipeline, as shown in the examples in this topic.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue></command:parameter><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="named" aliases=""><maml:name>GE</maml:name><maml:description><maml:para>Specifies the Greater-than-or-equal operator, which gets objects when the property value is greater than or equal to the specified value.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Where-Object</maml:name><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="1" aliases=""><maml:name>Property</maml:name><maml:description><maml:para>Specifies the name of an object property.</maml:para><maml:para>The parameter name (-Property) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="" pipelineInput="false" position="2" aliases=""><maml:name>Value</maml:name><maml:description><maml:para>Specifies a property value.</maml:para><maml:para>The parameter name (-Value) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Object</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Specifies the objects to be filtered. You can also pipe the objects to Where-Object. When you use the InputObject parameter with Where-Object, instead of piping command results to Where-Object, the InputObject value—even if the value is a collection that is the result of a command, such as –InputObject (Get-Process)—is treated as a single object. Because InputObject cannot return individual properties from an array or collection of objects, it is recommended that if you use Where-Object to filter a collection of objects for those objects that have specific values in defined properties, you use Where-Object in the pipeline, as shown in the examples in this topic.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue></command:parameter><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="named" aliases=""><maml:name>GT</maml:name><maml:description><maml:para>Specifies the Greater-than operator, which gets objects when the property value is greater than the specified value.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Where-Object</maml:name><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="1" aliases=""><maml:name>Property</maml:name><maml:description><maml:para>Specifies the name of an object property.</maml:para><maml:para>The parameter name (-Property) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="" pipelineInput="false" position="2" aliases=""><maml:name>Value</maml:name><maml:description><maml:para>Specifies a property value.</maml:para><maml:para>The parameter name (-Value) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Object</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Specifies the objects to be filtered. You can also pipe the objects to Where-Object. When you use the InputObject parameter with Where-Object, instead of piping command results to Where-Object, the InputObject value—even if the value is a collection that is the result of a command, such as –InputObject (Get-Process)—is treated as a single object. Because InputObject cannot return individual properties from an array or collection of objects, it is recommended that if you use Where-Object to filter a collection of objects for those objects that have specific values in defined properties, you use Where-Object in the pipeline, as shown in the examples in this topic.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue></command:parameter><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="named" aliases=""><maml:name>In</maml:name><maml:description><maml:para>Specifies the In operator, which gets objects when the property value matches any of the specified values.</maml:para><maml:para>For example: Get-Process | where -Property ProcessName -in -Value "Svchost", "TaskHost", "WsmProvHost"</maml:para><maml:para>If the value of the Value parameter is a single object, Windows PowerShell converts it to a collection of one object. </maml:para><maml:para>If the property value of an object is an array, Windows PowerShell uses reference equality to determine a match. Where-Object returns the object only if the value of the Property parameter and any value of the Value parameter are the same instance of an object.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Where-Object</maml:name><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="1" aliases=""><maml:name>Property</maml:name><maml:description><maml:para>Specifies the name of an object property.</maml:para><maml:para>The parameter name (-Property) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="" pipelineInput="false" position="2" aliases=""><maml:name>Value</maml:name><maml:description><maml:para>Specifies a property value.</maml:para><maml:para>The parameter name (-Value) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Object</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Specifies the objects to be filtered. You can also pipe the objects to Where-Object. When you use the InputObject parameter with Where-Object, instead of piping command results to Where-Object, the InputObject value—even if the value is a collection that is the result of a command, such as –InputObject (Get-Process)—is treated as a single object. Because InputObject cannot return individual properties from an array or collection of objects, it is recommended that if you use Where-Object to filter a collection of objects for those objects that have specific values in defined properties, you use Where-Object in the pipeline, as shown in the examples in this topic.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CContains</maml:name><maml:description><maml:para>Specifies the case-sensitive Contains operator, which gets objects from a collection when the property value of the object is an exact match for the specified value</maml:para><maml:para>For example: Get-Process | where ProcessName -contains "svchost"</maml:para><maml:para>"Contains" refers to a collection of values and is true when the collection contains an item that is an exact match for the specified value. If the input is a single object, Windows PowerShell converts it to a collection of one object.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Where-Object</maml:name><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="1" aliases=""><maml:name>Property</maml:name><maml:description><maml:para>Specifies the name of an object property.</maml:para><maml:para>The parameter name (-Property) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="" pipelineInput="false" position="2" aliases=""><maml:name>Value</maml:name><maml:description><maml:para>Specifies a property value.</maml:para><maml:para>The parameter name (-Value) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Object</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Specifies the objects to be filtered. You can also pipe the objects to Where-Object. When you use the InputObject parameter with Where-Object, instead of piping command results to Where-Object, the InputObject value—even if the value is a collection that is the result of a command, such as –InputObject (Get-Process)—is treated as a single object. Because InputObject cannot return individual properties from an array or collection of objects, it is recommended that if you use Where-Object to filter a collection of objects for those objects that have specific values in defined properties, you use Where-Object in the pipeline, as shown in the examples in this topic.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CEQ</maml:name><maml:description><maml:para>Specifies the case-sensitive Equals operator, which gets objects when the property value is the same as the specified value.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Where-Object</maml:name><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="1" aliases=""><maml:name>Property</maml:name><maml:description><maml:para>Specifies the name of an object property.</maml:para><maml:para>The parameter name (-Property) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="" pipelineInput="false" position="2" aliases=""><maml:name>Value</maml:name><maml:description><maml:para>Specifies a property value.</maml:para><maml:para>The parameter name (-Value) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Object</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Specifies the objects to be filtered. You can also pipe the objects to Where-Object. When you use the InputObject parameter with Where-Object, instead of piping command results to Where-Object, the InputObject value—even if the value is a collection that is the result of a command, such as –InputObject (Get-Process)—is treated as a single object. Because InputObject cannot return individual properties from an array or collection of objects, it is recommended that if you use Where-Object to filter a collection of objects for those objects that have specific values in defined properties, you use Where-Object in the pipeline, as shown in the examples in this topic.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CGE</maml:name><maml:description><maml:para>Specifies the case-sensitive Greater-than-or-equal value, which gets objects when the property value is greater than or equal to the specified value.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Where-Object</maml:name><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="1" aliases=""><maml:name>Property</maml:name><maml:description><maml:para>Specifies the name of an object property.</maml:para><maml:para>The parameter name (-Property) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="" pipelineInput="false" position="2" aliases=""><maml:name>Value</maml:name><maml:description><maml:para>Specifies a property value.</maml:para><maml:para>The parameter name (-Value) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Object</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Specifies the objects to be filtered. You can also pipe the objects to Where-Object. When you use the InputObject parameter with Where-Object, instead of piping command results to Where-Object, the InputObject value—even if the value is a collection that is the result of a command, such as –InputObject (Get-Process)—is treated as a single object. Because InputObject cannot return individual properties from an array or collection of objects, it is recommended that if you use Where-Object to filter a collection of objects for those objects that have specific values in defined properties, you use Where-Object in the pipeline, as shown in the examples in this topic.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CGT</maml:name><maml:description><maml:para>Specifies the case-sensitive Greater-than property, which gets objects when the property value is greater than the specified value.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Where-Object</maml:name><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="1" aliases=""><maml:name>Property</maml:name><maml:description><maml:para>Specifies the name of an object property.</maml:para><maml:para>The parameter name (-Property) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="" pipelineInput="false" position="2" aliases=""><maml:name>Value</maml:name><maml:description><maml:para>Specifies a property value.</maml:para><maml:para>The parameter name (-Value) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Object</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Specifies the objects to be filtered. You can also pipe the objects to Where-Object. When you use the InputObject parameter with Where-Object, instead of piping command results to Where-Object, the InputObject value—even if the value is a collection that is the result of a command, such as –InputObject (Get-Process)—is treated as a single object. Because InputObject cannot return individual properties from an array or collection of objects, it is recommended that if you use Where-Object to filter a collection of objects for those objects that have specific values in defined properties, you use Where-Object in the pipeline, as shown in the examples in this topic.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CIn</maml:name><maml:description><maml:para>Specifies the case-sensitive In operator, which gets objects when the property value includes the specified value.</maml:para><maml:para>For example: Get-Process | where -Value "svchost" -CIn ProcessName</maml:para><maml:para>The In operator is much like the Contains operator, except that the property and value positions are reversed. For example, the following statements are both true.</maml:para><maml:para>"abc", "def" -CContains "abc"</maml:para><maml:para>"abc" -CIn "abc", "def"</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Where-Object</maml:name><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="1" aliases=""><maml:name>Property</maml:name><maml:description><maml:para>Specifies the name of an object property.</maml:para><maml:para>The parameter name (-Property) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="" pipelineInput="false" position="2" aliases=""><maml:name>Value</maml:name><maml:description><maml:para>Specifies a property value.</maml:para><maml:para>The parameter name (-Value) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Object</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Specifies the objects to be filtered. You can also pipe the objects to Where-Object. When you use the InputObject parameter with Where-Object, instead of piping command results to Where-Object, the InputObject value—even if the value is a collection that is the result of a command, such as –InputObject (Get-Process)—is treated as a single object. Because InputObject cannot return individual properties from an array or collection of objects, it is recommended that if you use Where-Object to filter a collection of objects for those objects that have specific values in defined properties, you use Where-Object in the pipeline, as shown in the examples in this topic.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CLE</maml:name><maml:description><maml:para>Specifies the case-sensitive Less-than-or-equal operator, which gets objects when the property value is less-than or equal to the specified value.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Where-Object</maml:name><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="1" aliases=""><maml:name>Property</maml:name><maml:description><maml:para>Specifies the name of an object property.</maml:para><maml:para>The parameter name (-Property) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="" pipelineInput="false" position="2" aliases=""><maml:name>Value</maml:name><maml:description><maml:para>Specifies a property value.</maml:para><maml:para>The parameter name (-Value) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Object</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Specifies the objects to be filtered. You can also pipe the objects to Where-Object. When you use the InputObject parameter with Where-Object, instead of piping command results to Where-Object, the InputObject value—even if the value is a collection that is the result of a command, such as –InputObject (Get-Process)—is treated as a single object. Because InputObject cannot return individual properties from an array or collection of objects, it is recommended that if you use Where-Object to filter a collection of objects for those objects that have specific values in defined properties, you use Where-Object in the pipeline, as shown in the examples in this topic.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CLike</maml:name><maml:description><maml:para>Specifies the case-sensitive Like operator, which gets objects when the property value matches a value that includes wildcard characters. </maml:para><maml:para>For example: Get-Process | where ProcessName -CLike "*host"</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Where-Object</maml:name><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="1" aliases=""><maml:name>Property</maml:name><maml:description><maml:para>Specifies the name of an object property.</maml:para><maml:para>The parameter name (-Property) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="" pipelineInput="false" position="2" aliases=""><maml:name>Value</maml:name><maml:description><maml:para>Specifies a property value.</maml:para><maml:para>The parameter name (-Value) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Object</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Specifies the objects to be filtered. You can also pipe the objects to Where-Object. When you use the InputObject parameter with Where-Object, instead of piping command results to Where-Object, the InputObject value—even if the value is a collection that is the result of a command, such as –InputObject (Get-Process)—is treated as a single object. Because InputObject cannot return individual properties from an array or collection of objects, it is recommended that if you use Where-Object to filter a collection of objects for those objects that have specific values in defined properties, you use Where-Object in the pipeline, as shown in the examples in this topic.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CLT</maml:name><maml:description><maml:para>Specifies the case-sensitive Less-than operator, which gets objects when the property value is less-than the specified value.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Where-Object</maml:name><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="1" aliases=""><maml:name>Property</maml:name><maml:description><maml:para>Specifies the name of an object property.</maml:para><maml:para>The parameter name (-Property) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="" pipelineInput="false" position="2" aliases=""><maml:name>Value</maml:name><maml:description><maml:para>Specifies a property value.</maml:para><maml:para>The parameter name (-Value) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Object</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Specifies the objects to be filtered. You can also pipe the objects to Where-Object. When you use the InputObject parameter with Where-Object, instead of piping command results to Where-Object, the InputObject value—even if the value is a collection that is the result of a command, such as –InputObject (Get-Process)—is treated as a single object. Because InputObject cannot return individual properties from an array or collection of objects, it is recommended that if you use Where-Object to filter a collection of objects for those objects that have specific values in defined properties, you use Where-Object in the pipeline, as shown in the examples in this topic.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CMatch</maml:name><maml:description><maml:para>Specifies the case-sensitive Match operator, which gets objects when the property value matches the specified regular expression. When the input is scalar, the matched value is saved in $Matches automatic variable.</maml:para><maml:para>For example: Get-Process | where ProcessName -CMatch "Shell"</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Where-Object</maml:name><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="1" aliases=""><maml:name>Property</maml:name><maml:description><maml:para>Specifies the name of an object property.</maml:para><maml:para>The parameter name (-Property) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="" pipelineInput="false" position="2" aliases=""><maml:name>Value</maml:name><maml:description><maml:para>Specifies a property value.</maml:para><maml:para>The parameter name (-Value) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Object</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Specifies the objects to be filtered. You can also pipe the objects to Where-Object. When you use the InputObject parameter with Where-Object, instead of piping command results to Where-Object, the InputObject value—even if the value is a collection that is the result of a command, such as –InputObject (Get-Process)—is treated as a single object. Because InputObject cannot return individual properties from an array or collection of objects, it is recommended that if you use Where-Object to filter a collection of objects for those objects that have specific values in defined properties, you use Where-Object in the pipeline, as shown in the examples in this topic.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CNE</maml:name><maml:description><maml:para>Specifies the case-sensitive Not-Equals operator, which gets objects when the property value is different than the specified value.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Where-Object</maml:name><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="1" aliases=""><maml:name>Property</maml:name><maml:description><maml:para>Specifies the name of an object property.</maml:para><maml:para>The parameter name (-Property) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="" pipelineInput="false" position="2" aliases=""><maml:name>Value</maml:name><maml:description><maml:para>Specifies a property value.</maml:para><maml:para>The parameter name (-Value) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Object</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Specifies the objects to be filtered. You can also pipe the objects to Where-Object. When you use the InputObject parameter with Where-Object, instead of piping command results to Where-Object, the InputObject value—even if the value is a collection that is the result of a command, such as –InputObject (Get-Process)—is treated as a single object. Because InputObject cannot return individual properties from an array or collection of objects, it is recommended that if you use Where-Object to filter a collection of objects for those objects that have specific values in defined properties, you use Where-Object in the pipeline, as shown in the examples in this topic.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CNotContains</maml:name><maml:description><maml:para>Specifies the case-sensitive Not-Contains operator, which gets objects when the property value of the object is not an exact match for the specified value.</maml:para><maml:para>For example: Get-Process | where ProcessName -CNotContains "svchost"</maml:para><maml:para>"NotContains" and "CNotContains refer to a collection of values and are true when the collection does not contains any items that are an exact match for the specified value. If the input is a single object, Windows PowerShell converts it to a collection of one object.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Where-Object</maml:name><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="1" aliases=""><maml:name>Property</maml:name><maml:description><maml:para>Specifies the name of an object property.</maml:para><maml:para>The parameter name (-Property) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="" pipelineInput="false" position="2" aliases=""><maml:name>Value</maml:name><maml:description><maml:para>Specifies a property value.</maml:para><maml:para>The parameter name (-Value) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Object</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Specifies the objects to be filtered. You can also pipe the objects to Where-Object. When you use the InputObject parameter with Where-Object, instead of piping command results to Where-Object, the InputObject value—even if the value is a collection that is the result of a command, such as –InputObject (Get-Process)—is treated as a single object. Because InputObject cannot return individual properties from an array or collection of objects, it is recommended that if you use Where-Object to filter a collection of objects for those objects that have specific values in defined properties, you use Where-Object in the pipeline, as shown in the examples in this topic.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CNotIn</maml:name><maml:description><maml:para>Specifies the case-sensitive Not-In operator, which gets objects when the property value is not an exact match for the specified value.</maml:para><maml:para>For example: Get-Process | where -Value "svchost" -CNotIn -Property ProcessName</maml:para><maml:para>The Not-In and CNot-In operators are much like the Not-Contains and CNot-Contains operators, except that the property and value positions are reversed. For example, the following statements are true.</maml:para><maml:para>"abc", "def" -CNotContains "Abc"</maml:para><maml:para>"abc" -CNotIn "Abc", "def"</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Where-Object</maml:name><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="1" aliases=""><maml:name>Property</maml:name><maml:description><maml:para>Specifies the name of an object property.</maml:para><maml:para>The parameter name (-Property) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="" pipelineInput="false" position="2" aliases=""><maml:name>Value</maml:name><maml:description><maml:para>Specifies a property value.</maml:para><maml:para>The parameter name (-Value) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Object</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Specifies the objects to be filtered. You can also pipe the objects to Where-Object. When you use the InputObject parameter with Where-Object, instead of piping command results to Where-Object, the InputObject value—even if the value is a collection that is the result of a command, such as –InputObject (Get-Process)—is treated as a single object. Because InputObject cannot return individual properties from an array or collection of objects, it is recommended that if you use Where-Object to filter a collection of objects for those objects that have specific values in defined properties, you use Where-Object in the pipeline, as shown in the examples in this topic.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CNotLike</maml:name><maml:description><maml:para>Specifies the case-sensitive Not-Like operator, which gets objects when the property value does not match a value that includes wildcard characters. </maml:para><maml:para>For example: Get-Process | where ProcessName -CNotLike "*host"</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Where-Object</maml:name><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="1" aliases=""><maml:name>Property</maml:name><maml:description><maml:para>Specifies the name of an object property.</maml:para><maml:para>The parameter name (-Property) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="" pipelineInput="false" position="2" aliases=""><maml:name>Value</maml:name><maml:description><maml:para>Specifies a property value.</maml:para><maml:para>The parameter name (-Value) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Object</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Specifies the objects to be filtered. You can also pipe the objects to Where-Object. When you use the InputObject parameter with Where-Object, instead of piping command results to Where-Object, the InputObject value—even if the value is a collection that is the result of a command, such as –InputObject (Get-Process)—is treated as a single object. Because InputObject cannot return individual properties from an array or collection of objects, it is recommended that if you use Where-Object to filter a collection of objects for those objects that have specific values in defined properties, you use Where-Object in the pipeline, as shown in the examples in this topic.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CNotMatch</maml:name><maml:description><maml:para>Specifies the case-sensitive Not-match operator, which gets objects when the property value does not match the specified regular expression. When the input is scalar, the matched value is saved in $Matches automatic variable.</maml:para><maml:para>For example: Get-Process | where ProcessName -CNotMatch "Shell"</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Where-Object</maml:name><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="1" aliases=""><maml:name>Property</maml:name><maml:description><maml:para>Specifies the name of an object property.</maml:para><maml:para>The parameter name (-Property) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="" pipelineInput="false" position="2" aliases=""><maml:name>Value</maml:name><maml:description><maml:para>Specifies a property value.</maml:para><maml:para>The parameter name (-Value) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Object</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Specifies the objects to be filtered. You can also pipe the objects to Where-Object. When you use the InputObject parameter with Where-Object, instead of piping command results to Where-Object, the InputObject value—even if the value is a collection that is the result of a command, such as –InputObject (Get-Process)—is treated as a single object. Because InputObject cannot return individual properties from an array or collection of objects, it is recommended that if you use Where-Object to filter a collection of objects for those objects that have specific values in defined properties, you use Where-Object in the pipeline, as shown in the examples in this topic.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue></command:parameter><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="named" aliases=""><maml:name>Is</maml:name><maml:description><maml:para>Specifies the Is operator, which gets objects when the property value is an instance of the specified .NET Framework type. Enclose the type name in square brackets.</maml:para><maml:para>For example, Get-Process | where StartTime -Is [DateTime]</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Where-Object</maml:name><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="1" aliases=""><maml:name>Property</maml:name><maml:description><maml:para>Specifies the name of an object property.</maml:para><maml:para>The parameter name (-Property) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="" pipelineInput="false" position="2" aliases=""><maml:name>Value</maml:name><maml:description><maml:para>Specifies a property value.</maml:para><maml:para>The parameter name (-Value) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Object</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Specifies the objects to be filtered. You can also pipe the objects to Where-Object. When you use the InputObject parameter with Where-Object, instead of piping command results to Where-Object, the InputObject value—even if the value is a collection that is the result of a command, such as –InputObject (Get-Process)—is treated as a single object. Because InputObject cannot return individual properties from an array or collection of objects, it is recommended that if you use Where-Object to filter a collection of objects for those objects that have specific values in defined properties, you use Where-Object in the pipeline, as shown in the examples in this topic.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue></command:parameter><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="named" aliases=""><maml:name>IsNot</maml:name><maml:description><maml:para>Specifies the Is-Not operator, which gets objects when the property value is not an instance of the specified .NET Framework type.</maml:para><maml:para>For example, Get-Process | where StartTime -IsNot [System.String]</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Where-Object</maml:name><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="1" aliases=""><maml:name>Property</maml:name><maml:description><maml:para>Specifies the name of an object property.</maml:para><maml:para>The parameter name (-Property) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="" pipelineInput="false" position="2" aliases=""><maml:name>Value</maml:name><maml:description><maml:para>Specifies a property value.</maml:para><maml:para>The parameter name (-Value) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Object</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Specifies the objects to be filtered. You can also pipe the objects to Where-Object. When you use the InputObject parameter with Where-Object, instead of piping command results to Where-Object, the InputObject value—even if the value is a collection that is the result of a command, such as –InputObject (Get-Process)—is treated as a single object. Because InputObject cannot return individual properties from an array or collection of objects, it is recommended that if you use Where-Object to filter a collection of objects for those objects that have specific values in defined properties, you use Where-Object in the pipeline, as shown in the examples in this topic.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue></command:parameter><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="named" aliases=""><maml:name>LE</maml:name><maml:description><maml:para>Specifies the Less-than-or-equals operator.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Where-Object</maml:name><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="1" aliases=""><maml:name>Property</maml:name><maml:description><maml:para>Specifies the name of an object property.</maml:para><maml:para>The parameter name (-Property) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="" pipelineInput="false" position="2" aliases=""><maml:name>Value</maml:name><maml:description><maml:para>Specifies a property value.</maml:para><maml:para>The parameter name (-Value) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Object</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Specifies the objects to be filtered. You can also pipe the objects to Where-Object. When you use the InputObject parameter with Where-Object, instead of piping command results to Where-Object, the InputObject value—even if the value is a collection that is the result of a command, such as –InputObject (Get-Process)—is treated as a single object. Because InputObject cannot return individual properties from an array or collection of objects, it is recommended that if you use Where-Object to filter a collection of objects for those objects that have specific values in defined properties, you use Where-Object in the pipeline, as shown in the examples in this topic.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue></command:parameter><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="named" aliases=""><maml:name>Like</maml:name><maml:description><maml:para>Specifies the Like operator, which gets objects when the property value matches a value that includes wildcard characters. </maml:para><maml:para>For example: Get-Process | where ProcessName -like "*host"</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Where-Object</maml:name><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="1" aliases=""><maml:name>Property</maml:name><maml:description><maml:para>Specifies the name of an object property.</maml:para><maml:para>The parameter name (-Property) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="" pipelineInput="false" position="2" aliases=""><maml:name>Value</maml:name><maml:description><maml:para>Specifies a property value.</maml:para><maml:para>The parameter name (-Value) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Object</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Specifies the objects to be filtered. You can also pipe the objects to Where-Object. When you use the InputObject parameter with Where-Object, instead of piping command results to Where-Object, the InputObject value—even if the value is a collection that is the result of a command, such as –InputObject (Get-Process)—is treated as a single object. Because InputObject cannot return individual properties from an array or collection of objects, it is recommended that if you use Where-Object to filter a collection of objects for those objects that have specific values in defined properties, you use Where-Object in the pipeline, as shown in the examples in this topic.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue></command:parameter><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="named" aliases=""><maml:name>LT</maml:name><maml:description><maml:para>Specifies the Less-than operator, which gets objects when the property value is less than the specified value.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Where-Object</maml:name><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="1" aliases=""><maml:name>Property</maml:name><maml:description><maml:para>Specifies the name of an object property.</maml:para><maml:para>The parameter name (-Property) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="" pipelineInput="false" position="2" aliases=""><maml:name>Value</maml:name><maml:description><maml:para>Specifies a property value.</maml:para><maml:para>The parameter name (-Value) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Object</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Specifies the objects to be filtered. You can also pipe the objects to Where-Object. When you use the InputObject parameter with Where-Object, instead of piping command results to Where-Object, the InputObject value—even if the value is a collection that is the result of a command, such as –InputObject (Get-Process)—is treated as a single object. Because InputObject cannot return individual properties from an array or collection of objects, it is recommended that if you use Where-Object to filter a collection of objects for those objects that have specific values in defined properties, you use Where-Object in the pipeline, as shown in the examples in this topic.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue></command:parameter><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="named" aliases=""><maml:name>Match</maml:name><maml:description><maml:para>Specifies the Match operator, which gets objects when the property value matches the specified regular expression. When the input is scalar, the matched value is saved in $Matches automatic variable.</maml:para><maml:para>For example: Get-Process | where ProcessName -match "shell"</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Where-Object</maml:name><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="1" aliases=""><maml:name>Property</maml:name><maml:description><maml:para>Specifies the name of an object property.</maml:para><maml:para>The parameter name (-Property) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="" pipelineInput="false" position="2" aliases=""><maml:name>Value</maml:name><maml:description><maml:para>Specifies a property value.</maml:para><maml:para>The parameter name (-Value) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Object</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Specifies the objects to be filtered. You can also pipe the objects to Where-Object. When you use the InputObject parameter with Where-Object, instead of piping command results to Where-Object, the InputObject value—even if the value is a collection that is the result of a command, such as –InputObject (Get-Process)—is treated as a single object. Because InputObject cannot return individual properties from an array or collection of objects, it is recommended that if you use Where-Object to filter a collection of objects for those objects that have specific values in defined properties, you use Where-Object in the pipeline, as shown in the examples in this topic.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue></command:parameter><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="named" aliases=""><maml:name>NE</maml:name><maml:description><maml:para>Specifies the Not-equals operator, which gets objects when the property value is different than the specified value.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Where-Object</maml:name><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="1" aliases=""><maml:name>Property</maml:name><maml:description><maml:para>Specifies the name of an object property.</maml:para><maml:para>The parameter name (-Property) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="" pipelineInput="false" position="2" aliases=""><maml:name>Value</maml:name><maml:description><maml:para>Specifies a property value.</maml:para><maml:para>The parameter name (-Value) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Object</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Specifies the objects to be filtered. You can also pipe the objects to Where-Object. When you use the InputObject parameter with Where-Object, instead of piping command results to Where-Object, the InputObject value—even if the value is a collection that is the result of a command, such as –InputObject (Get-Process)—is treated as a single object. Because InputObject cannot return individual properties from an array or collection of objects, it is recommended that if you use Where-Object to filter a collection of objects for those objects that have specific values in defined properties, you use Where-Object in the pipeline, as shown in the examples in this topic.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue></command:parameter><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="named" aliases=""><maml:name>NotContains</maml:name><maml:description><maml:para>Specifies the Not-Contains operator, which gets objects when none of the items in the property value is an exact match for the specified value.</maml:para><maml:para>For example: Get-Process | where ProcessName -NotContains "Svchost"</maml:para><maml:para>"NotContains" refers to a collection of values and is true when the collection does not contain any items that are an exact match for the specified value. If the input is a single object, Windows PowerShell converts it to a collection of one object.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Where-Object</maml:name><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="1" aliases=""><maml:name>Property</maml:name><maml:description><maml:para>Specifies the name of an object property.</maml:para><maml:para>The parameter name (-Property) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="" pipelineInput="false" position="2" aliases=""><maml:name>Value</maml:name><maml:description><maml:para>Specifies a property value.</maml:para><maml:para>The parameter name (-Value) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Object</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Specifies the objects to be filtered. You can also pipe the objects to Where-Object. When you use the InputObject parameter with Where-Object, instead of piping command results to Where-Object, the InputObject value—even if the value is a collection that is the result of a command, such as –InputObject (Get-Process)—is treated as a single object. Because InputObject cannot return individual properties from an array or collection of objects, it is recommended that if you use Where-Object to filter a collection of objects for those objects that have specific values in defined properties, you use Where-Object in the pipeline, as shown in the examples in this topic.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue></command:parameter><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="named" aliases=""><maml:name>NotIn</maml:name><maml:description><maml:para>Specifies the Not-In operator, which gets objects when the property value is not an exact match for any of the specified values.</maml:para><maml:para>For example: Get-Process | where -Value "svchost" -NotIn -Property ProcessName</maml:para><maml:para>If the value of the Value parameter is a single object, Windows PowerShell converts it to a collection of one object. </maml:para><maml:para>If the property value of an object is an array, Windows PowerShell uses reference equality to determine a match. Where-Object returns the object only if the value of the Property parameter and any value of the Value parameter are not the same instance of an object.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Where-Object</maml:name><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="1" aliases=""><maml:name>Property</maml:name><maml:description><maml:para>Specifies the name of an object property.</maml:para><maml:para>The parameter name (-Property) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="" pipelineInput="false" position="2" aliases=""><maml:name>Value</maml:name><maml:description><maml:para>Specifies a property value.</maml:para><maml:para>The parameter name (-Value) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Object</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Specifies the objects to be filtered. You can also pipe the objects to Where-Object. When you use the InputObject parameter with Where-Object, instead of piping command results to Where-Object, the InputObject value—even if the value is a collection that is the result of a command, such as –InputObject (Get-Process)—is treated as a single object. Because InputObject cannot return individual properties from an array or collection of objects, it is recommended that if you use Where-Object to filter a collection of objects for those objects that have specific values in defined properties, you use Where-Object in the pipeline, as shown in the examples in this topic.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue></command:parameter><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="named" aliases=""><maml:name>NotLike</maml:name><maml:description><maml:para>Specifies the Not-Like operator, which gets objects when the property value does not match a value that includes wildcard characters. </maml:para><maml:para>For example: Get-Process | where ProcessName -NotLike "*host"</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter></command:syntaxItem><command:syntaxItem><maml:name>Where-Object</maml:name><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="1" aliases=""><maml:name>Property</maml:name><maml:description><maml:para>Specifies the name of an object property.</maml:para><maml:para>The parameter name (-Property) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="" pipelineInput="false" position="2" aliases=""><maml:name>Value</maml:name><maml:description><maml:para>Specifies a property value.</maml:para><maml:para>The parameter name (-Value) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Object</command:parameterValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Specifies the objects to be filtered. You can also pipe the objects to Where-Object. When you use the InputObject parameter with Where-Object, instead of piping command results to Where-Object, the InputObject value—even if the value is a collection that is the result of a command, such as –InputObject (Get-Process)—is treated as a single object. Because InputObject cannot return individual properties from an array or collection of objects, it is recommended that if you use Where-Object to filter a collection of objects for those objects that have specific values in defined properties, you use Where-Object in the pipeline, as shown in the examples in this topic.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue></command:parameter><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="named" aliases=""><maml:name>NotMatch</maml:name><maml:description><maml:para>Specifies the not-match operator, which gets objects when the property value does not match the specified regular expression. When the input is scalar, the matched value is saved in $Matches automatic variable.</maml:para><maml:para>For example: Get-Process | where ProcessName -NotMatch "PowerShell"</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description></command:parameter></command:syntaxItem></command:syntax><command:parameters><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="named" aliases=""><maml:name>Contains</maml:name><maml:description><maml:para>Specifies the Contains operator, which gets objects when any item in the property value of the object is an exact match for the specified value.</maml:para><maml:para>For example: Get-Process | where ProcessName -contains "Svchost"</maml:para><maml:para>If the property value contains a single object, Windows PowerShell converts it to a collection of one object.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="" pipelineInput="false" position="named" aliases=""><maml:name>EQ</maml:name><maml:description><maml:para>Specifies the equals operator, which gets objects when the property value is the same as the specified value.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1" aliases=""><maml:name>FilterScript</maml:name><maml:description><maml:para>Specifies the script block that is used to filter the objects. Enclose the script block in braces ( {} ).</maml:para><maml:para>The parameter name (-FilterScript) is optional.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">ScriptBlock</command:parameterValue><dev:type><maml:name>ScriptBlock</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="named" aliases=""><maml:name>GE</maml:name><maml:description><maml:para>Specifies the Greater-than-or-equal operator, which gets objects when the property value is greater than or equal to the specified value.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="named" aliases=""><maml:name>GT</maml:name><maml:description><maml:para>Specifies the Greater-than operator, which gets objects when the property value is greater than the specified value.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="named" aliases=""><maml:name>In</maml:name><maml:description><maml:para>Specifies the In operator, which gets objects when the property value matches any of the specified values.</maml:para><maml:para>For example: Get-Process | where -Property ProcessName -in -Value "Svchost", "TaskHost", "WsmProvHost"</maml:para><maml:para>If the value of the Value parameter is a single object, Windows PowerShell converts it to a collection of one object. </maml:para><maml:para>If the property value of an object is an array, Windows PowerShell uses reference equality to determine a match. Where-Object returns the object only if the value of the Property parameter and any value of the Value parameter are the same instance of an object.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="named" aliases=""><maml:name>InputObject</maml:name><maml:description><maml:para>Specifies the objects to be filtered. You can also pipe the objects to Where-Object. When you use the InputObject parameter with Where-Object, instead of piping command results to Where-Object, the InputObject value—even if the value is a collection that is the result of a command, such as –InputObject (Get-Process)—is treated as a single object. Because InputObject cannot return individual properties from an array or collection of objects, it is recommended that if you use Where-Object to filter a collection of objects for those objects that have specific values in defined properties, you use Where-Object in the pipeline, as shown in the examples in this topic.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">PSObject</command:parameterValue><dev:type><maml:name>PSObject</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="named" aliases=""><maml:name>Is</maml:name><maml:description><maml:para>Specifies the Is operator, which gets objects when the property value is an instance of the specified .NET Framework type. Enclose the type name in square brackets.</maml:para><maml:para>For example, Get-Process | where StartTime -Is [DateTime]</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="named" aliases=""><maml:name>IsNot</maml:name><maml:description><maml:para>Specifies the Is-Not operator, which gets objects when the property value is not an instance of the specified .NET Framework type.</maml:para><maml:para>For example, Get-Process | where StartTime -IsNot [System.String]</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="named" aliases=""><maml:name>LE</maml:name><maml:description><maml:para>Specifies the Less-than-or-equals operator.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="named" aliases=""><maml:name>LT</maml:name><maml:description><maml:para>Specifies the Less-than operator, which gets objects when the property value is less than the specified value.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="named" aliases=""><maml:name>Like</maml:name><maml:description><maml:para>Specifies the Like operator, which gets objects when the property value matches a value that includes wildcard characters. </maml:para><maml:para>For example: Get-Process | where ProcessName -like "*host"</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="named" aliases=""><maml:name>Match</maml:name><maml:description><maml:para>Specifies the Match operator, which gets objects when the property value matches the specified regular expression. When the input is scalar, the matched value is saved in $Matches automatic variable.</maml:para><maml:para>For example: Get-Process | where ProcessName -match "shell"</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="named" aliases=""><maml:name>NE</maml:name><maml:description><maml:para>Specifies the Not-equals operator, which gets objects when the property value is different than the specified value.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="named" aliases=""><maml:name>NotContains</maml:name><maml:description><maml:para>Specifies the Not-Contains operator, which gets objects when none of the items in the property value is an exact match for the specified value.</maml:para><maml:para>For example: Get-Process | where ProcessName -NotContains "Svchost"</maml:para><maml:para>"NotContains" refers to a collection of values and is true when the collection does not contain any items that are an exact match for the specified value. If the input is a single object, Windows PowerShell converts it to a collection of one object.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="named" aliases=""><maml:name>NotIn</maml:name><maml:description><maml:para>Specifies the Not-In operator, which gets objects when the property value is not an exact match for any of the specified values.</maml:para><maml:para>For example: Get-Process | where -Value "svchost" -NotIn -Property ProcessName</maml:para><maml:para>If the value of the Value parameter is a single object, Windows PowerShell converts it to a collection of one object. </maml:para><maml:para>If the property value of an object is an array, Windows PowerShell uses reference equality to determine a match. Where-Object returns the object only if the value of the Property parameter and any value of the Value parameter are not the same instance of an object.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="named" aliases=""><maml:name>NotLike</maml:name><maml:description><maml:para>Specifies the Not-Like operator, which gets objects when the property value does not match a value that includes wildcard characters. </maml:para><maml:para>For example: Get-Process | where ProcessName -NotLike "*host"</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="named" aliases=""><maml:name>NotMatch</maml:name><maml:description><maml:para>Specifies the not-match operator, which gets objects when the property value does not match the specified regular expression. When the input is scalar, the matched value is saved in $Matches automatic variable.</maml:para><maml:para>For example: Get-Process | where ProcessName -NotMatch "PowerShell"</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="" pipelineInput="false" position="1" aliases=""><maml:name>Property</maml:name><maml:description><maml:para>Specifies the name of an object property.</maml:para><maml:para>The parameter name (-Property) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">String</command:parameterValue><dev:type><maml:name>String</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="false" variableLength="false" globbing="" pipelineInput="false" position="2" aliases=""><maml:name>Value</maml:name><maml:description><maml:para>Specifies a property value.</maml:para><maml:para>The parameter name (-Value) is optional.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="true" variableLength="false">Object</command:parameterValue><dev:type><maml:name>Object</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CContains</maml:name><maml:description><maml:para>Specifies the case-sensitive Contains operator, which gets objects from a collection when the property value of the object is an exact match for the specified value</maml:para><maml:para>For example: Get-Process | where ProcessName -contains "svchost"</maml:para><maml:para>"Contains" refers to a collection of values and is true when the collection contains an item that is an exact match for the specified value. If the input is a single object, Windows PowerShell converts it to a collection of one object.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CEQ</maml:name><maml:description><maml:para>Specifies the case-sensitive Equals operator, which gets objects when the property value is the same as the specified value.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CGE</maml:name><maml:description><maml:para>Specifies the case-sensitive Greater-than-or-equal value, which gets objects when the property value is greater than or equal to the specified value.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CGT</maml:name><maml:description><maml:para>Specifies the case-sensitive Greater-than property, which gets objects when the property value is greater than the specified value.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CIn</maml:name><maml:description><maml:para>Specifies the case-sensitive In operator, which gets objects when the property value includes the specified value.</maml:para><maml:para>For example: Get-Process | where -Value "svchost" -CIn ProcessName</maml:para><maml:para>The In operator is much like the Contains operator, except that the property and value positions are reversed. For example, the following statements are both true.</maml:para><maml:para>"abc", "def" -CContains "abc"</maml:para><maml:para>"abc" -CIn "abc", "def"</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CLE</maml:name><maml:description><maml:para>Specifies the case-sensitive Less-than-or-equal operator, which gets objects when the property value is less-than or equal to the specified value.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CLT</maml:name><maml:description><maml:para>Specifies the case-sensitive Less-than operator, which gets objects when the property value is less-than the specified value.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CLike</maml:name><maml:description><maml:para>Specifies the case-sensitive Like operator, which gets objects when the property value matches a value that includes wildcard characters. </maml:para><maml:para>For example: Get-Process | where ProcessName -CLike "*host"</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CMatch</maml:name><maml:description><maml:para>Specifies the case-sensitive Match operator, which gets objects when the property value matches the specified regular expression. When the input is scalar, the matched value is saved in $Matches automatic variable.</maml:para><maml:para>For example: Get-Process | where ProcessName -CMatch "Shell"</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CNE</maml:name><maml:description><maml:para>Specifies the case-sensitive Not-Equals operator, which gets objects when the property value is different than the specified value.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CNotContains</maml:name><maml:description><maml:para>Specifies the case-sensitive Not-Contains operator, which gets objects when the property value of the object is not an exact match for the specified value.</maml:para><maml:para>For example: Get-Process | where ProcessName -CNotContains "svchost"</maml:para><maml:para>"NotContains" and "CNotContains refer to a collection of values and are true when the collection does not contains any items that are an exact match for the specified value. If the input is a single object, Windows PowerShell converts it to a collection of one object.</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CNotIn</maml:name><maml:description><maml:para>Specifies the case-sensitive Not-In operator, which gets objects when the property value is not an exact match for the specified value.</maml:para><maml:para>For example: Get-Process | where -Value "svchost" -CNotIn -Property ProcessName</maml:para><maml:para>The Not-In and CNot-In operators are much like the Not-Contains and CNot-Contains operators, except that the property and value positions are reversed. For example, the following statements are true.</maml:para><maml:para>"abc", "def" -CNotContains "Abc"</maml:para><maml:para>"abc" -CNotIn "Abc", "def"</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CNotLike</maml:name><maml:description><maml:para>Specifies the case-sensitive Not-Like operator, which gets objects when the property value does not match a value that includes wildcard characters. </maml:para><maml:para>For example: Get-Process | where ProcessName -CNotLike "*host"</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter><command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named" aliases=""><maml:name>CNotMatch</maml:name><maml:description><maml:para>Specifies the case-sensitive Not-match operator, which gets objects when the property value does not match the specified regular expression. When the input is scalar, the matched value is saved in $Matches automatic variable.</maml:para><maml:para>For example: Get-Process | where ProcessName -CNotMatch "Shell"</maml:para><maml:para>This parameter is introduced in Windows PowerShell 3.0.</maml:para></maml:description><command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue><dev:type><maml:name>SwitchParameter</maml:name><maml:uri /></dev:type><dev:defaultValue></dev:defaultValue></command:parameter></command:parameters><command:inputTypes><command:inputType><dev:type><maml:name>System.Management.Automation.PSObject</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>You can pipe the objects to be filtered to Where-Object.</maml:para></maml:description></command:inputType></command:inputTypes><command:returnValues><command:returnValue><dev:type><maml:name>Object</maml:name><maml:uri></maml:uri><maml:description><maml:para /></maml:description></dev:type><maml:description><maml:para>Where-Object returns selected items from the input object set.</maml:para></maml:description></command:returnValue></command:returnValues><command:terminatingErrors /><command:nonTerminatingErrors /><maml:alertSet><maml:title /><maml:alert><maml:para>Beginning in Windows PowerShell 4.0, Where() operator behavior has changed. Collection.Where('property –match name') no longer accepts string expressions in the format "Property –CompareOperator Value". However, the Where() operator accepts string expressions in the format of a scriptblock; this is still supported. The following examples show the behavior that has changed.</maml:para><maml:para>The following two examples show Where() object behavior that is no longer supported.</maml:para><maml:para>(Get-Process).Where('ProcessName –match PowerShell')</maml:para><maml:para>(Get-Process).Where('ProcessName –match PowerShell', 'Last', 1)</maml:para><maml:para>The following three examples show Where() object behavior that is supported in Windows PowerShell 4.0 and forward.</maml:para><maml:para>(Get-Process).Where({$_.ProcessName –match "PowerShell"})</maml:para><maml:para>(Get-Process).Where{$_.ProcessName –match "PowerShell"}</maml:para><maml:para>(Get-Process).Where({$_.ProcessName –match "PowerShell"}, ‘Last’, 1)</maml:para></maml:alert></maml:alertSet><command:examples><command:example><maml:title>
  
-------------------------- EXAMPLE 1 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-Service | Where-Object {$_.Status -eq "Stopped"}
PS C:\&gt;Get-Service | where Status -eq "Stopped"
</dev:code><dev:remarks><maml:para>This command gets a list of all services that are currently stopped. The "$_" symbol represents each object that is passed to the Where-Object cmdlet.</maml:para><maml:para>The first command uses the script block format. The second command uses the comparison statement format. The commands are equivalent and can be used interchangeably.</maml:para><maml:para></maml:para><maml:para></maml:para><maml:para></maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 2 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-Process | Where-Object {$_.WorkingSet -gt 25000*1024}
PS C:\&gt;Get-Process | Where-Object WorkingSet -gt (25000*1024)
</dev:code><dev:remarks><maml:para>This command lists processes that have a working set greater than 25,000 kilobytes (KB). Because the value of the WorkingSet property is stored in bytes, the value of 25,000 is multiplied by 1,024.</maml:para><maml:para>The first command uses the script block format. The second command uses the comparison statement format. The commands are equivalent and can be used interchangeably.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 4 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-Process | Where-Object {$_.ProcessName -Match "^p.*"}
PS C:\&gt;Get-Process | Where-Object ProcessName -Match "^p.*"
</dev:code><dev:remarks><maml:para>This command gets the processes that have a ProcessName property value that begins with the letter "p". The match operator lets you use regular expression matches.</maml:para><maml:para>The first command uses the script block format. The second command uses the comparison statement format. The commands are equivalent and can be used interchangeably.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 5 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-Process | Where-Object -Property Handles -ge -Value 1000
PS C:\&gt;Get-Process | where Handles -ge 1000
</dev:code><dev:remarks><maml:para>This example shows how to use the new comparison statement format of the Where-Object cmdlet.</maml:para><maml:para>The first command uses the comparison statement format. In this command, no aliases are used and all parameters include the parameter name.</maml:para><maml:para>The second command is the more natural use of the comparison command format. The "where" alias is substituted for the "Where-Object" cmdlet name and all optional parameter names are omitted.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 6 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>The first pair of commands gets commands that have any value for the OutputType property of the command. They omit commands that do not have an OutputType property and those that have an OutputType property, but no property value.
PS C:\&gt;Get-Command | where OutputType
PS C:\&gt;Get-Command | where {$_.OutputType}
 
The second pair of commands gets objects that are containers. It gets objects that have the PSIsContainer property with a value of True ($true) and excludes all others.The "equals $True" (-eq $true) part of the command is assumed by the language. You do not need to specify it explicitly.
PS C:\&gt;Get-ChildItem | where PSIsContainer
PS C:\&gt;Get-ChildItem | where {$_.PSIsContainer}
 
The third pair of commands uses the Not operator (!) to get objects that are not containers. It gets objects that do have the PSIsContainer property and those that have a value of False ($false) for the PSIsContainer property.You cannot use the Not operator (!) in the comparison statement format of the command.
PS C:\&gt;Get-ChildItem | where {!$_.PSIsContainer}
PS C:\&gt;Get-ChildItem | where PSIsContainer -eq $false
</dev:code><dev:remarks><maml:para>This example shows how to write commands that return items that are true or false or have any value for a specified property. The example shows both the script block and comparison statement formats for the command.</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example><command:example><maml:title>
  
-------------------------- EXAMPLE 7 --------------------------
  
  
                      </maml:title><maml:introduction><maml:para></maml:para></maml:introduction><dev:code>PS C:\&gt;Get-Module -ListAvailable | where {($_.Name -notlike "Microsoft*" -and $_.Name -notlike "PS*") -and $_.HelpInfoUri}
</dev:code><dev:remarks><maml:para>This example shows how to create a Where-Object command with multiple conditions.</maml:para><maml:para>This command gets non-core modules that support the Updatable Help feature. The command uses the ListAvailable parameter of the Get-Module cmdlet to get all modules on the computer. A pipeline operator sends the modules to the Where-Object cmdlet, which gets modules whose names do not begin with "Microsoft" or "PS" and have a value for the HelpInfoURI property, which tells Windows PowerShell where to find updated help files for the module. The comparison statements are connected by the -And logical operator.</maml:para><maml:para>The example uses the script block command format. Logical operators, such as -And and -Or, are valid only in script blocks. You cannot use them in the comparison statement format of a Where-Object command.</maml:para><maml:para>For more information about Windows PowerShell logical operators, see about_Logical_Operators (http://go.microsoft.com/fwlink/?LinkID=113238). For more information about the Updatable Help feature, see about_Updatable_Help (http://go.microsoft.com/fwlink/?LinkID=235801).</maml:para></dev:remarks><command:commandLines><command:commandLine><command:commandText /></command:commandLine></command:commandLines></command:example></command:examples><maml:relatedLinks><maml:navigationLink><maml:linkText>Online Version:</maml:linkText><maml:uri>http://go.microsoft.com/fwlink/p/?linkid=289623</maml:uri></maml:navigationLink><maml:navigationLink><maml:linkText>Compare-Object</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>ForEach-Object</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Group-Object</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Measure-Object</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>New-Object</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Select-Object</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Sort-Object</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Tee-Object</maml:linkText><maml:uri /></maml:navigationLink><maml:navigationLink><maml:linkText>Where-Object</maml:linkText><maml:uri /></maml:navigationLink></maml:relatedLinks></command:command>
 
<!-- v 1.1.0.9 -->
<providerHelp>
 
<Name>
    Alias
</Name>
 
<Drives>
    <Para>Alias:</Para>
</Drives>
<Synopsis>
    Provides access to the Windows PowerShell aliases and the values that they represent.
</Synopsis>
 
<DetailedDescription>
    <para>The Windows PowerShell Alias provider lets you get, add, change, clear, and delete aliases in Windows PowerShell.
 
An alias is an alternate name for a cmdlet, function, or executable file. Windows PowerShell includes a set of built-in aliases. And, you can add your own aliases to the current session and to your Windows PowerShell profile.
 
The Alias provider is a flat namespace that contains only the alias objects. The aliases have no child items.
 
Each alias is an instance of the System.Management.Automation.AliasInfo class.
 
The Alias provider exposes its data store in the Alias: drive. To work with aliases, you can change your location to the Alias: drive by using the following command:
 
    set-location alias:
 
Or, you can work from any other Windows PowerShell drive. To reference an alias from another location, use the Alias: drive name in the path.
 
Windows PowerShell includes a set of cmdlets that are designed to view and to change aliases:
 
    Export-Alias
    Get-Alias
    Import-Alias
    New-Alias
    Set-Alias
 
When you use these cmdlets, you do not need to specify the Alias: drive in the name.
 
The Alias provider supports all the cmdlets that have the Item noun except for the Invoke-Item cmdlet. And, it supports the Get-Content and Set-Content cmdlets. The Alias provider does not support the cmdlets that have the ItemProperty noun. And, the Alias provider does not support the Filter parameter in any cmdlet.
 
All changes to the aliases affect the current session only. To save the changes, add the changes to the Windows PowerShell profile. Or, use the Export-Alias and Import-Alias cmdlets.</para>
</DetailedDescription>
 
<Capabilities>
    <para></para>
</Capabilities>
<Filters>
    <para></para>
</Filters>
<Notes>
     
</Notes>
<Tasks>
    <Task>
          <Title>
            Getting to the Alias: Drive
        </Title>
 
           <Description>
            <para></para>
        </Description>
 
        <Examples>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 1 --------------------------
                </Title>
                <Introduction>
                    <para>This command changes the current location to the Alias: drive. You can use this command from any drive in Windows PowerShell. To return to a file system drive, type the drive name. For example, type &quot;set-location c:&quot;.</para>
                </Introduction>
                  <Code>
                    set-location alias:
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
        </Examples>
    </Task>
    <Task>
          <Title>
            Getting Aliases
        </Title>
 
           <Description>
            <para></para>
        </Description>
 
        <Examples>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 1 --------------------------
                </Title>
                <Introduction>
                    <para>This command gets a list of all the aliases in the current session. You can use this command in any Windows PowerShell drive.</para>
                </Introduction>
                  <Code>
                    get-item -path alias:
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 2 --------------------------
                </Title>
                <Introduction>
                    <para>This command gets the &quot;ls&quot; alias. Because it includes the path, you can use it in any Windows PowerShell drive.</para>
                </Introduction>
                  <Code>
                    get-item -path alias:ls
                </Code>
                <Remarks>
                    <para>If you are in the Alias: drive, you can omit the drive name from the path. </para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 3 --------------------------
                </Title>
                <Introduction>
                    <para>This command gets a list of the aliases that are associated with the Get-ChildItem cmdlet. It uses the Definition property, which stores the cmdlet name.</para>
                </Introduction>
                  <Code>
                    get-item -path alias:* | where-object {$_.Definition -eq &quot;Get-Childitem&quot;}
                </Code>
                <Remarks>
                    <para>When the aliased item is an executable file, the Definition contains the fully qualified path of the file.</para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 4 --------------------------
                </Title>
                <Introduction>
                    <para>This command gets the list of all the aliases when the current location is the Alias: drive. It uses a wildcard character (*) to indicate all the contents of the current location.</para>
                </Introduction>
                  <Code>
                    get-item -path *
                </Code>
                <Remarks>
                    <para>In the Alias: drive, a dot (.), which represents the current location, and a wildcard character (*), which represents all items in the current location, have the same effect. For example, &quot;get-item -path .&quot; or &quot;get-item *&quot; produce the same result.</para>
                  </Remarks>
            </Example>
        </Examples>
    </Task>
    <Task>
          <Title>
            Creating a New Alias
        </Title>
 
           <Description>
            <para></para>
        </Description>
 
        <Examples>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 1 --------------------------
                </Title>
                <Introduction>
                    <para>This command creates the &quot;serv&quot; alias for the Get-Service cmdlet. Because the current location is in the Alias: drive, the value of the Path parameter is a dot (.). The dot represents the current location.
 
This command also uses the Options dynamic parameter to set the AllScope and Constant options on the alias. The Options parameter is available in the New-Item cmdlet only when you are in the Alias: drive.</para>
                </Introduction>
                  <Code>
                    new-item -path . -name serv -value Get-Service -Options &quot;AllScope,Constant&quot;
                </Code>
                <Remarks>
                    <para>If you are in the Alias: drive, you can omit the drive name from the path. </para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 2 --------------------------
                </Title>
                <Introduction>
                    <para>You can create an alias for any item that invokes a command. This command creates the &quot;np&quot; alias for Notepad.exe. </para>
                </Introduction>
                  <Code>
                    new-item -path alias:np -value c:\windows\notepad.exe
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 3 --------------------------
                </Title>
                <Introduction>
                    <para>You can create an alias for any function. You can use this feature to create an alias that includes both a cmdlet and its parameters.
 
The first command creates the CD32 function, which changes the current directory to the System32 directory. The second command creates the &quot;go&quot; alias for the CD32 function. The semi-colon (;) is the command separator.
 
When the command is complete, you can use either &quot;CD32&quot; or &quot;go&quot; to invoke the function.</para>
                </Introduction>
                  <Code>
                    function CD32 {set-location -path c:\windows\system32} set-item -path alias:go -value CD32
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
        </Examples>
    </Task>
    <Task>
          <Title>
            Displaying the Properties and Methods of Aliases
        </Title>
 
           <Description>
            <para></para>
        </Description>
 
        <Examples>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 1 --------------------------
                </Title>
                <Introduction>
                    <para>This command uses the Get-Item cmdlet to get all aliases. The pipeline operator (|) sends the results to the Get-Member cmdlet, which displays the methods and properties of the object.</para>
                </Introduction>
                  <Code>
                    get-item -path alias:* | get-member
                </Code>
                <Remarks>
                    <para>When you pipe a collection of objects to Get-Member, such as the collection of aliases in the Alias: drive, Get-Member evaluates each object in the collection separately. Then, Get-Member returns information about each object type that it finds. If all the objects are of the same type, it returns information about the single object type. In this case, all the aliases are AliasInfo objects.
 
To get information about the collection of AliasInfo objects, use the InputObject parameter of Get-Member. For example, use the following command:
 
    Get-Member -InputObject (Get-Item alias:*)
 
When you use InputObject, Get-Member evaluates the collection, not the objects in the collection.</para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 2 --------------------------
                </Title>
                <Introduction>
                    <para>This command lists the values of the properties of the &quot;dir&quot; alias. It uses the Get-Item cmdlet to get an object that represents the &quot;dir&quot; alias. The pipeline operator (|) sends the results to the Format-List command. The Format-List command uses the Property parameter with a wildcard character (*) to format and display the values of all the &quot;dir&quot; alias properties.</para>
                </Introduction>
                  <Code>
                    get-item alias:dir | format-list -property *
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
        </Examples>
    </Task>
    <Task>
          <Title>
            Changing the Properties of an Alias
        </Title>
 
           <Description>
            <para></para>
        </Description>
 
        <Examples>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 1 --------------------------
                </Title>
                <Introduction>
                    <para>You can use the Set-Item cmdlet with the Options dynamic parameter to change the value of the Options property of an alias.
 
This command sets the AllScope and ReadOnly options for the &quot;dir&quot; alias. The command uses the Options dynamic parameter of the Set-Item cmdlet. The Options parameter is available in Set-Item only when you use it with the Alias or Function provider.</para>
                </Introduction>
                  <Code>
                    set-item -path alias:dir -options &quot;AllScope,ReadOnly&quot;
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 2 --------------------------
                </Title>
                <Introduction>
                    <para>This command uses the Set-Item cmdlet to change the &quot;gp&quot; alias so that it represents the Get-Process cmdlet instead of the Get-ItemProperty cmdlet. The Force parameter is required because the value of the Options property of the &quot;gp&quot; alias is set to ReadOnly. Because the command is submitted from within the Alias: drive, the drive is not specified in the path.</para>
                </Introduction>
                  <Code>
                    set-item -path gp -value get-process -force
                </Code>
                <Remarks>
                    <para>The change affects the four properties that define the association between the alias and the command. To view the effect of the change, type the following command:
 
    get-item -path gp | format-list -property *</para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 3 --------------------------
                </Title>
                <Introduction>
                    <para>This command uses the Rename-Item cmdlet to change the &quot;popd&quot; alias to &quot;pop&quot;. </para>
                </Introduction>
                  <Code>
                    rename-item -path alias:popd -newname pop
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
        </Examples>
    </Task>
    <Task>
          <Title>
            Copying an Alias
        </Title>
 
           <Description>
            <para></para>
        </Description>
 
        <Examples>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 1 --------------------------
                </Title>
                <Introduction>
                    <para>This command copies the pushd alias so that a new push alias is created for the Push-Location cmdlet.</para>
                </Introduction>
                  <Code>
                    copy-item -path alias:pushd -destination alias:push
                </Code>
                <Remarks>
                    <para>When the new alias is created, its Description property has a null value. And, its Option property has a value of None.
 
If the command is issued from within the Alias: drive, you can omit the drive name from the value of the Path parameter.</para>
                  </Remarks>
            </Example>
        </Examples>
    </Task>
    <Task>
          <Title>
            Deleting an Alias
        </Title>
 
           <Description>
            <para></para>
        </Description>
 
        <Examples>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 1 --------------------------
                </Title>
                <Introduction>
                    <para>This command deletes the serv alias from the current session. You can use this command in any Windows PowerShell drive.</para>
                </Introduction>
                  <Code>
                    remove-item -path alias:serv
                </Code>
                <Remarks>
                    <para>If you are in the Alias: drive, you can omit the drive name from the path.</para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 2 --------------------------
                </Title>
                <Introduction>
                    <para>This command deletes aliases that begin with &quot;s&quot;. It does not delete read-only aliases.</para>
                </Introduction>
                  <Code>
                    clear-item -path alias:s*
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 3 --------------------------
                </Title>
                <Introduction>
                    <para>This command deletes all aliases from the current session, except those with a value of Constant for their Options property. Without the Force parameter, the command does not delete aliases whose Options property has a value of ReadOnly.</para>
                </Introduction>
                  <Code>
                    remove-item alias:* -force
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
        </Examples>
    </Task>
</Tasks>
<DynamicParameters>
    <DynamicParameter>
        <Name>Options</Name>
 
        <CmdletSupported>New-Item, Set-Item</CmdletSupported>
 
        <Type>
                    <Name>System.Management.Automation.ScopedItemOptions</Name>
              </Type>
 
              <Description>Determines the value of the Options property of an alias.</Description>
 
        <PossibleValues>
            <PossibleValue>
                <Value>None</Value>
 
                <Description>
                    <para>No options. This value is the default.</para>
                </Description>
 
            </PossibleValue>
            <PossibleValue>
                <Value>Constant</Value>
 
                <Description>
                    <para>The alias cannot be deleted and its properties cannot be changed. Constant is available only when you create an alias. You cannot change the option of an existing alias to Constant.</para>
                </Description>
 
            </PossibleValue>
            <PossibleValue>
                <Value>Private</Value>
 
                <Description>
                    <para>The alias is visible only in the current scope, not in the child scopes.</para>
                </Description>
 
            </PossibleValue>
            <PossibleValue>
                <Value>ReadOnly</Value>
 
                <Description>
                    <para>The properties of the alias cannot be changed except by using the Force parameter. You can use Remove-Item to delete the alias.</para>
                </Description>
 
            </PossibleValue>
            <PossibleValue>
                <Value>AllScope</Value>
 
                <Description>
                    <para>The alias is copied to any new scopes that are created.</para>
                </Description>
 
            </PossibleValue>
        </PossibleValues>
    </DynamicParameter>
</DynamicParameters>
<RelatedLinks>
    <navigationLink>
        <linkText>about_Aliases</linkText>
        <uri/>
    </navigationLink>
    <navigationLink>
        <linkText>about_Providers</linkText>
        <uri/>
    </navigationLink>
</RelatedLinks>
 
</providerHelp>
 
 
<!-- v 1.3.0.35 -->
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
        <command:name>
                   Clear-Host
        </command:name>
        <maml:description>
            <maml:para>Clears the display in the host program.</maml:para>
        </maml:description>
        <maml:copyright>
            <maml:para></maml:para>
        </maml:copyright>
        <command:verb>Clear</command:verb>
        <command:noun>Host</command:noun>
        <dev:version></dev:version>
    </command:details>
    <maml:description>
        <maml:para>The Clear-Host function removes all text from the current display, including commands and output that might have accumulated. When complete, it displays the command prompt. You can use the function name or its alias, CLS.
 
Clear-Host affects only the current display. It does not delete saved results or remove any items from the session. Session-specific items, such as variables and functions, are not affected by this function.
 
Because the behavior of the Clear-Host function is determined by the host program, Clear-Host might work differently in different host programs.</maml:para>
    </maml:description>
    <!-- Cmdlet syntax section-->
    <command:syntax>
        <command:syntaxItem>
            <maml:name>Clear-Host</maml:name>
        </command:syntaxItem>
    </command:syntax>
    <!-- Cmdlet parameter section -->
    <command:parameters>
    </command:parameters>
    <!-- Input - Output section-->
    <command:inputTypes>
        <command:inputType>
            <dev:type>
                <maml:name>None</maml:name>
                <maml:uri/>
                <maml:description />
            </dev:type>
            <maml:description>
                <maml:para>
                    <!-- description -->
                    You cannot pipe input to Clear-Host.
                </maml:para>
            </maml:description>
        </command:inputType>
    </command:inputTypes>
    <command:returnValues>
        <command:returnValue>
            <dev:type>
                <maml:name>None</maml:name>
                <maml:uri />
                <maml:description />
            </dev:type>
            <maml:description>
                <maml:para>
                    <!-- description -->
                    Clear-Host does not generate any output
                </maml:para>
            </maml:description>
        </command:returnValue>
    </command:returnValues>
    <!-- Error section-->
    <command:terminatingErrors />
    <command:nonTerminatingErrors />
        <!-- Notes section -->
    <maml:alertSet>
        <maml:title></maml:title>
        <maml:alert>
            <maml:para>
                          Clear-Host is a simple function, not an advanced function. As such, you cannot use common parameters, such as -Debug, in a Clear-Host command.
                        </maml:para>
        </maml:alert>
        <maml:alert>
            <maml:para></maml:para>
        </maml:alert>
    </maml:alertSet>
    <!-- Example section -->
    <command:examples>
 
        <command:example>
            <maml:title>
                -------------------------- EXAMPLE 1 --------------------------
            </maml:title>
            <maml:introduction>
                <maml:para>C:\PS&gt;</maml:para>
            </maml:introduction>
              <dev:code>
cls
 
# Before
 
PS C:\&gt;Get-Process
 
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
------- ------ ----- ----- ----- ------ -- -----------
    843 33 14428 22556 99 17.41 1688 CcmExec
     44 6 2196 4964 52 0.23 692 conhost
    646 12 2332 4896 49 1.12 388 csrss
    189 11 2860 7084 114 0.66 2896 csrss
     78 11 1876 4008 42 0.22 4000 csrss
     76 7 1848 5064 54 0.08 1028 dwm
    610 41 23952 44048 208 4.40 2080 explorer
      0 0 0 24 0 0 Idle
    182 32 7692 15980 91 0.23 3056 LogonUI
    186 25 7832 16068 91 0.27 3996 LogonUI
   1272 32 11512 20432 58 25.07 548 lsass
    267 10 3536 6736 34 0.80 556 lsm
    137 17 3520 7472 61 0.05 1220 msdtc
    447 31 70316 84476 201 1,429.67 836 MsMpEng
    265 18 7136 15628 134 2.20 3544 msseces
    248 16 6476 4076 76 0.22 1592 NisSrv
    368 25 61312 65508 614 1.78 848 powershell
    101 8 2304 6624 70 0.64 3648 rdpclip
    258 15 6804 12156 50 2.65 536 services
...
 
PS C:\&gt; cls
#After
 
PS C:&gt; </dev:code>
                   <dev:remarks>
                                <maml:para>Description</maml:para>
                                <maml:para>-----------</maml:para>
                      <maml:para>This command uses the CLS alias of Clear-Host to clear the current display.</maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
              </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText></command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
    </command:examples>
    <!-- Link section -->
    <maml:relatedLinks>
        <maml:navigationLink>
            <maml:linkText>Online version:</maml:linkText>
            <maml:uri>http://technet.microsoft.com/library/hh852689(v=wps.630).aspx</maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Get-Host</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Out-Host</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Read-Host. Write-Host</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
    </maml:relatedLinks>
</command:command>
 
 
<!-- v 1.1.0.9 -->
<providerHelp>
 
<Name>
    Environment
</Name>
 
<Drives>
    <Para>Env:</Para>
</Drives>
<Synopsis>
    Provides access to the Windows environment variables.
</Synopsis>
 
<DetailedDescription>
    <para>The Windows PowerShell Environment provider lets you get, add, change, clear, and delete Windows environment variables in Windows PowerShell.
 
The Environment provider is a flat namespace that contains only objects that represent the environment variables. The variables have no child items.
 
Each environment variable is an instance of the System.Collections.DictionaryEntry class. The name of the variable is the dictionary key. The value of the environment variable is the dictionary value.
 
The Environment provider exposes its data store in the Env: drive. To work with environment variables, change your location to the Env: drive (&quot;set-location env:&quot;), or work from another Windows PowerShell drive. To reference an environment variable from another location, use the Env: drive name in the path.
 
The environment variable provider supports all the cmdlets that contain the Item noun except for Invoke-Item. And, it supports the Get-Content and Set-Content cmdlets. However, it does not support the cmdlets that contain the ItemProperty noun, and it does not support the Filter parameter in any cmdlet.
 
Environment variables must conform to the usual naming standards. Additionally, the name cannot include the equal sign (=).
 
Changes to the environment variables affect the current session only. To save the changes, add the changes to the Windows PowerShell profile, or use Export-Console to save the current session.</para>
</DetailedDescription>
 
<Capabilities>
    <para></para>
</Capabilities>
<Filters>
    <para></para>
</Filters>
<Notes>
    The Environment provider does not support any dynamic parameters.
</Notes>
<Tasks>
    <Task>
          <Title>
            Getting to the Env: Drive
        </Title>
 
           <Description>
            <para></para>
        </Description>
 
        <Examples>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 1 --------------------------
                </Title>
                <Introduction>
                    <para>This command changes the current location to the Env: drive: </para>
                </Introduction>
                  <Code>
                    set-location env:
                </Code>
                <Remarks>
                    <para>You can use this command from any drive in Windows PowerShell. To return to a file system drive, type the drive name. For example, type:
 
    set-location c:</para>
                  </Remarks>
            </Example>
        </Examples>
    </Task>
    <Task>
          <Title>
            Getting Environment Variables
        </Title>
 
           <Description>
            <para></para>
        </Description>
 
        <Examples>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 1 --------------------------
                </Title>
                <Introduction>
                    <para>This command lists all the environment variables in the current session: </para>
                </Introduction>
                  <Code>
                    get-childitem -path env:
                </Code>
                <Remarks>
                    <para>You can use this command from any Windows PowerShell drive.</para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 2 --------------------------
                </Title>
                <Introduction>
                    <para>This command gets the WINDIR environment variable:</para>
                </Introduction>
                  <Code>
                    get-childitem -path env:windir
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 3 --------------------------
                </Title>
                <Introduction>
                    <para>This command gets a list of all the environment variables in the current session and then sorts them by name: </para>
                </Introduction>
                  <Code>
                    get-childitem | sort-object -property name
                </Code>
                <Remarks>
                    <para>By default, the environment variables appear in the order that Windows PowerShell discovers them. This command is submitted in the Env: drive.
 
When you run this command from another drive, add the Path parameter with a value of Env:.</para>
                  </Remarks>
            </Example>
        </Examples>
    </Task>
    <Task>
          <Title>
            Creating a New Environment Variable
        </Title>
 
           <Description>
            <para></para>
        </Description>
 
        <Examples>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 1 --------------------------
                </Title>
                <Introduction>
                    <para>This command creates the USERMODE environment variable with a value of Non-Admin: </para>
                </Introduction>
                  <Code>
                    new-item -path . -name USERMODE -value Non-Admin
                </Code>
                <Remarks>
                    <para>Because the current location is in the Env: drive, the value of the Path parameter is a dot (.). The dot represents the current location.
 
If you are not in the Env: drive, the value of the Path parameter would be Env:.</para>
                  </Remarks>
            </Example>
        </Examples>
    </Task>
    <Task>
          <Title>
            Displaying the Properties and Methods of Environment Variables
        </Title>
 
           <Description>
            <para></para>
        </Description>
 
        <Examples>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 1 --------------------------
                </Title>
                <Introduction>
                    <para>This command uses the Get-ChildItem cmdlet to get all the environment variables:</para>
                </Introduction>
                  <Code>
                    get-childitem -path env: | get-member
                </Code>
                <Remarks>
                    <para>The pipeline operator (|) sends the results to Get-Member, which displays the methods and properties of the object.
 
When you pipe a collection of objects to Get-Member, such as the collection of environment variables in the Env: drive, Get-Member evaluates each object in the collection separately. Get-Member then returns information about each object type that it finds. If all the objects are of the same type, it returns information about the single object type. In this case, all the environment variables are DictionaryEntry objects.
 
To get information about the collection of DictionaryEntry objects, use the InputObject parameter of Get-Member. For example, type:
 
    get-member -inputobject (get-childitem env:)
 
When you use the InputObject parameter, Get-Member evaluates the collection, not the objects in the collection.</para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 2 --------------------------
                </Title>
                <Introduction>
                    <para>This command lists the values of the properties of the WINDIR environment variable: </para>
                </Introduction>
                  <Code>
                    get-item env:windir | format-list -property *
                </Code>
                <Remarks>
                    <para>It uses the Get-Item cmdlet to get an object that represents the WINDIR environment variable. The pipeline operator (|) sends the results to the Format-List command. It uses the Property parameter with a wildcard character (*) to format and display the values of all the properties of the WINDIR environment variable.</para>
                  </Remarks>
            </Example>
        </Examples>
    </Task>
    <Task>
          <Title>
            Changing the Properties of an Environment Variable
        </Title>
 
           <Description>
            <para></para>
        </Description>
 
        <Examples>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 1 --------------------------
                </Title>
                <Introduction>
                    <para>This command uses the Rename-Item cmdlet to change the name of the USERMODE environment variable that you created to USERROLE:</para>
                </Introduction>
                  <Code>
                    rename-item -path env:USERMODE -newname USERROLE
                </Code>
                <Remarks>
                    <para>This change affects the Name, Key, and PSPath properties of the DictionaryEntry object.
 
Do not change the name of an environment variable that the system uses. Although these changes affect only the current session, they might cause the system or a program to operate incorrectly.</para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 2 --------------------------
                </Title>
                <Introduction>
                    <para>This command uses the Set-Item cmdlet to change the value of the USERROLE environment variable to Administrator:</para>
                </Introduction>
                  <Code>
                    set-item -path env:USERROLE -value Administrator
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
        </Examples>
    </Task>
    <Task>
          <Title>
            Copying an Environment Variable
        </Title>
 
           <Description>
            <para></para>
        </Description>
 
        <Examples>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 1 --------------------------
                </Title>
                <Introduction>
                    <para>This command copies the value of the USERROLE environment variable to the USERROLE2 environment variable:</para>
                </Introduction>
                  <Code>
                    copy-item -path env:USERROLE -destination env:USERROLE2
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
        </Examples>
    </Task>
    <Task>
          <Title>
            Deleting an environment variable
        </Title>
 
           <Description>
            <para></para>
        </Description>
 
        <Examples>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 1 --------------------------
                </Title>
                <Introduction>
                    <para>This command deletes the USERROLE2 environment variable from the current session: </para>
                </Introduction>
                  <Code>
                    remove-item -path env:USERROLE2
                </Code>
                <Remarks>
                    <para>You can use this command in any Windows PowerShell drive. If you are in the Env: drive, you can omit the drive name from the path.</para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 2 --------------------------
                </Title>
                <Introduction>
                    <para>This command deletes the USERROLE environment variable.</para>
                </Introduction>
                  <Code>
                    clear-item -path env:USERROLE
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
        </Examples>
    </Task>
</Tasks>
<DynamicParameters>
</DynamicParameters>
<RelatedLinks>
    <navigationLink>
        <linkText>about_Providers</linkText>
        <uri/>
    </navigationLink>
</RelatedLinks>
 
</providerHelp>
 
 
<!-- v 1.3.0.36 -->
<providerHelp>
 
<Name>
    FileSystem
</Name>
 
<Drives>
    <Para>C, D</Para>
</Drives>
<Synopsis>
    Provides access to files and directories.
</Synopsis>
 
<DetailedDescription>
    <para>The Windows PowerShell FileSystem provider lets you get, add, change, clear, and delete files and directories in Windows PowerShell.
 
The FileSystem provider exposes Windows PowerShell drives that correspond to the logical drives on your computer, including drives that are mapped to network shares. This lets you reference these drives from within Windows PowerShell.
 
The FileSystem provider lets you refer to files and folders in Windows PowerShell in the same way that you refer to them in Windows.
 
To refer to a drive, specify the drive name followed by a colon. Like most of Windows PowerShell, the FileSystem provider is not case-sensitive. For example, to get the files and folders on the C drive, you refer to the &quot;C:&quot; drive or the &quot;c:&quot; drive.
 
A fully qualified name includes the drive name, followed by a colon, any directory and subdirectory names, and the file name (when applicable). Each element of the fully qualified name must be separated either by a backslash (\) or a forward slash (/).
 
The following example shows the fully qualified name for the Shell.dll file in the System32 subdirectory of the Windows directory on the C drive:
 
    C:\Windows\System32\shell.dll
 
If any element in the fully qualified name includes spaces, you must enclose the name in quotation marks.
 
For example,
 
    &quot;C:\Program Files\Internet Explorer\iexplore.exe&quot;
 
The current location in the file system is represented by a dot or period character (.)
 
For example, the current location is the C:\Windows\System32 directory, then you can refer to the Shell.dll file in that directory as the following:
 
    .\Shell.dll
 
To use the FileSystem provider to view and manage files and folders, use the provider cmdlets, such as Get-ChildItem (&quot;dir&quot;, &quot;ls&quot;) and Set-Location (&quot;cd&quot;). Windows PowerShell also includes a &quot;mkdir&quot; function (alias = &quot;md&quot;) that uses the New-Item cmdlet to create a new directory.
 
Beginning in Windows PowerShell 3.0, you can get customized help topics for provider cmdlets that explain how those cmdlets behave in a file system drive.
 
To get the help topics that are customized for the file system drive, run a Get-Help command in a file system drive or use the Path parameter of Get-Help to specify a file system drive.
 
For example,
 
    PS C:\&gt; get-help get-childitem
 
    PS HKLM:\&gt; get-help get-childitem -path c:
 
Also, beginning in Windows PowerShell 3.0, the FileSystem provider supports credentials for the New-PSDrive cmdlet. For more information, see the help topic for the New-PSDrive cmdlet.</para>
</DetailedDescription>
 
<Capabilities>
    <para>Filter, ShouldProcess</para>
</Capabilities>
<Filters>
    <para></para>
</Filters>
<Notes>
     
</Notes>
<Tasks>
    <Task>
          <Title>
            Splitting a Large File
        </Title>
 
           <Description>
            <para></para>
        </Description>
 
        <Examples>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 1 --------------------------
                </Title>
                <Introduction>
                    <para>By default, the Get-Content cmdlet uses the end-of-line character as its delimiter, so it gets a file as a collection of strings, with each line as one string in the file.
 
You can use the Delimiter parameter to specify an alternate delimiter. If you set it to the characters that denote the end of a section or the beginning of the next section, you can split the file into logical parts.
 
The first command gets the Employees.txt file and splits it into sections, each of which ends with the words &quot;End of Employee Record&quot; and it saves it in the $e variable.
 
The second command uses array notation to get the first item in the collection in $e. It uses an index of 0, because Windows PowerShell arrays are zero-based.
 
For more information about arrays, see about_Arrays.</para>
                </Introduction>
                  <Code>
                    $e = get-content c:\test\employees.txt -delimited &quot;End Of Employee Record&quot;
 
$e[0]
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
        </Examples>
    </Task>
    <Task>
          <Title>
            Navigating the File System
        </Title>
 
           <Description>
            <para></para>
        </Description>
 
        <Examples>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 1 --------------------------
                </Title>
                <Introduction>
                    <para>This command gets the current location:</para>
                </Introduction>
                  <Code>
                    get-location
                </Code>
                <Remarks>
                    <para>The Get-Location cmdlet includes the functionality of commands like the cd command in the Windows Command Prompt and the pwd command in UNIX. For more information, type:
 
    get-help get-location</para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 2 --------------------------
                </Title>
                <Introduction>
                    <para>This command sets the current location:</para>
                </Introduction>
                  <Code>
                    set-location C:
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
        </Examples>
    </Task>
    <Task>
          <Title>
            Getting File and Directory Information
        </Title>
 
           <Description>
            <para></para>
        </Description>
 
        <Examples>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 1 --------------------------
                </Title>
                <Introduction>
                    <para>This command gets all the files and directories in the current directory:</para>
                </Introduction>
                  <Code>
                    get-childitem
                </Code>
                <Remarks>
                    <para>By default, the Get-ChildItem cmdlet does not recurse. If files and folders are present in the current directory when you run this command, a System.IO.FileInfo object and a System.IO.DirectoryInfo object are returned.</para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 2 --------------------------
                </Title>
                <Introduction>
                    <para>This command gets all the files in the current directory:</para>
                </Introduction>
                  <Code>
                    get-childitem | where-object {!$_.psiscontainer}
                </Code>
                <Remarks>
                    <para>The command uses the Get-ChildItem cmdlet to get all files and directories. It pipes the results to the Where-Object cmdlet, which selects only the objects that are not (!) containers. </para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 3 --------------------------
                </Title>
                <Introduction>
                    <para>The command uses the Get-ChildItem cmdlet to get all files and directories. It pipes the results to Where-Object, which select only the objects that are containers.</para>
                </Introduction>
                  <Code>
                    get-childitem | where-object {$_.psiscontainer}
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 4 --------------------------
                </Title>
                <Introduction>
                    <para>This command displays the properties of a directory:</para>
                </Introduction>
                  <Code>
                    get-item -path c:\ps-test | format-list -property *
                </Code>
                <Remarks>
                    <para>The command uses the Path parameter of the Get-Item cmdlet to get the C:\ps-test directory. It pipes the directory object to the Format-List cmdlet, which displays all (*) the properties and values of the directory in a list.</para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 5 --------------------------
                </Title>
                <Introduction>
                    <para>This command displays the properties of a file:</para>
                </Introduction>
                  <Code>
                    get-item -path test.txt | format-list -property *
                </Code>
                <Remarks>
                    <para>The command uses the Path parameter of the Get-Item cmdlet to get the test.txt file. It pipes the file object to the Format-List cmdlet, which displays all (*) the properties and values of the file in a list.</para>
                  </Remarks>
            </Example>
        </Examples>
    </Task>
    <Task>
          <Title>
            Copying Files and Directories
        </Title>
 
           <Description>
            <para></para>
        </Description>
 
        <Examples>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 1 --------------------------
                </Title>
                <Introduction>
                    <para>This command copies the A.txt file from the C:\A directory to the C:\A\Bb directory:</para>
                </Introduction>
                  <Code>
                    copy-item -path C:\a\a.txt -destination C:\a\bb\a.txt
                </Code>
                <Remarks>
                    <para>It overwrites files in the destination directory without prompting for confirmation.</para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 2 --------------------------
                </Title>
                <Introduction>
                    <para>This command copies all the files in the C:\A\Bb directory that have the .txt file name extension to the C:\A\Cc\Ccc\ directory:</para>
                </Introduction>
                  <Code>
                    copy-item -path C:\a\bb\*.txt -destination C:\a\cc\ccc\
                </Code>
                <Remarks>
                    <para>It uses the original names of the files. The command overwrites the existing files in the destination directory without prompting for confirmation.</para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 3 --------------------------
                </Title>
                <Introduction>
                    <para>Copies all the directories and files in the C:\a directory to the C:\c directory. If any of the directories to copy already exist in the destination directory, the command will fail unless you specify the Force parameter.</para>
                </Introduction>
                  <Code>
                    copy-item -path C:\a\* -destination C:\c -recurse
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
        </Examples>
    </Task>
    <Task>
          <Title>
            Moving Files and Directories
        </Title>
 
           <Description>
            <para></para>
        </Description>
 
        <Examples>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 1 --------------------------
                </Title>
                <Introduction>
                    <para>This command moves the C.txt file in the C:\A directory to the C:\A\Aa directory: </para>
                </Introduction>
                  <Code>
                    move-item -path C:\a\c.txt -destination C:\a\aa
                </Code>
                <Remarks>
                    <para>The command will not automatically overwrite an existing file that has the same name. To force the cmdlet to overwrite an existing file, specify the Force parameter.</para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 2 --------------------------
                </Title>
                <Introduction>
                    <para>This command moves the C:\A directory and all its contents to the C:\B directory: </para>
                </Introduction>
                  <Code>
                    move-item -path C:\a -destination C:\b
                </Code>
                <Remarks>
                    <para>You cannot move a directory when that directory is the current location.</para>
                  </Remarks>
            </Example>
        </Examples>
    </Task>
    <Task>
          <Title>
            Managing File Content
        </Title>
 
           <Description>
            <para></para>
        </Description>
 
        <Examples>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 1 --------------------------
                </Title>
                <Introduction>
                    <para>This command appends the &quot;test content&quot; string to the Test.txt file:</para>
                </Introduction>
                  <Code>
                    add-content -path test.txt -value &quot;test content&quot;
                </Code>
                <Remarks>
                    <para>The existing content in the Test.txt file is not deleted.</para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 2 --------------------------
                </Title>
                <Introduction>
                    <para>This command gets the contents of the Test.txt file and displays them in the console:</para>
                </Introduction>
                  <Code>
                    get-content -path test.txt
                </Code>
                <Remarks>
                    <para>You can pipe the contents of the file to another cmdlet. For example, the following command reads the contents of the Test.txt file and then supplies them as input to the ConvertTo-HTML cmdlet:
 
get-content -path test.txt | convertto-html</para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 3 --------------------------
                </Title>
                <Introduction>
                    <para>This command replaces the contents of the Test.txt file with the &quot;test content&quot; string: </para>
                </Introduction>
                  <Code>
                    set-content -path test.txt -value &quot;test content&quot;
                </Code>
                <Remarks>
                    <para>It overwrites the contents of Test.txt. You can use the Value parameter of the New-Item cmdlet to add content to a file when you create it.</para>
                  </Remarks>
            </Example>
        </Examples>
    </Task>
    <Task>
          <Title>
            Managing Security Descriptors
        </Title>
 
           <Description>
            <para></para>
        </Description>
 
        <Examples>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 1 --------------------------
                </Title>
                <Introduction>
                    <para>This command returns a System.Security.AccessControl.FileSecurity object:</para>
                </Introduction>
                  <Code>
                    get-acl -path test.txt | format-list -property *
                </Code>
                <Remarks>
                    <para>For more information about this object, pipe the command to the Get-Member cmdlet. Or, see &quot;FileSecurity Class&quot; in the MSDN (Microsoft Developer Network) library at http://go.microsoft.com/fwlink/?LinkId=145718.</para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 2 --------------------------
                </Title>
                <Introduction>
                    <para>This command returns a System.Security.AccessControl.DirectorySecurity object:</para>
                </Introduction>
                  <Code>
                    get-acl -path test_directory | format-list -property *
                </Code>
                <Remarks>
                    <para>For more information about this object, pipe the command to the Get-Member cmdlet. Or, see &quot;DirectorySecurity Class&quot; in the MSDN library at http://go.microsoft.com/fwlink/?LinkId=145736.</para>
                  </Remarks>
            </Example>
        </Examples>
    </Task>
    <Task>
          <Title>
            Creating Files and Directories
        </Title>
 
           <Description>
            <para></para>
        </Description>
 
        <Examples>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 1 --------------------------
                </Title>
                <Introduction>
                    <para>This command creates the Logfiles directory on the C drive:</para>
                </Introduction>
                  <Code>
                    new-item -path c:\ -name logfiles -type directory
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 2 --------------------------
                </Title>
                <Introduction>
                    <para>This command creates the Log2.txt file in the C:\Logfiles directory and then adds the &quot;test log&quot; string to the file:</para>
                </Introduction>
                  <Code>
                    new-item -path c:\logfiles -name log.txt -type file
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 3 --------------------------
                </Title>
                <Introduction>
                    <para>Creates a file called Log2.txt in the C:\logfiles directory and adds the string &quot;test log&quot; to the file.</para>
                </Introduction>
                  <Code>
                    new-item -path c:\logfiles -name log2.txt -type file -value &quot;test log&quot;
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
        </Examples>
    </Task>
    <Task>
          <Title>
            Renaming Files and Directories
        </Title>
 
           <Description>
            <para></para>
        </Description>
 
        <Examples>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 1 --------------------------
                </Title>
                <Introduction>
                    <para>This command renames the A.txt file in the C:\A directory to B.txt:</para>
                </Introduction>
                  <Code>
                    rename-item -path c:\a\a.txt -newname b.txt
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 2 --------------------------
                </Title>
                <Introduction>
                    <para>This command renames the C:\A\Cc directory to C:\A\Dd:</para>
                </Introduction>
                  <Code>
                    rename-item -path c:\a\cc -newname dd
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
        </Examples>
    </Task>
    <Task>
          <Title>
            Deleting Files and Directories
        </Title>
 
           <Description>
            <para></para>
        </Description>
 
        <Examples>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 1 --------------------------
                </Title>
                <Introduction>
                    <para>This command deletes the Test.txt file in the current directory:</para>
                </Introduction>
                  <Code>
                    remove-item -path test.txt
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 2 --------------------------
                </Title>
                <Introduction>
                    <para>This command deletes all the files in the current directory that have the .xml file name extension:</para>
                </Introduction>
                  <Code>
                    remove-item -path *.xml
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
        </Examples>
    </Task>
    <Task>
          <Title>
            Starting a Program by Invoking an Associated File
        </Title>
 
           <Description>
            <para></para>
        </Description>
 
        <Examples>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 1 --------------------------
                </Title>
                <Introduction>
                    <para>The first command uses the Get-Service cmdlet to get information about local services.
 
It pipes the information to the Export-Csv cmdlet and then stores that information in the Services.csv file.
 
The second command uses Invoke-Item to open the Services.csv file in the program associated with the .csv extension:</para>
                </Introduction>
                  <Code>
                    get-service | export-csv -path services.csv
 
invoke-item -path services.csv
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
        </Examples>
    </Task>
    <Task>
          <Title>
            Getting Files and Folders with Specified Attributes
        </Title>
 
           <Description>
            <para></para>
        </Description>
 
        <Examples>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 1 --------------------------
                </Title>
                <Introduction>
                    <para>This command gets system files in the current directory and its subdirectories.
 
It uses the File parameter to get only files (not directories) and the System parameter to get only items with the System attribute.
 
It uses the Recurse parameter to get the items in the current directory and all subdirectories.</para>
                </Introduction>
                  <Code>
                    get-childitem -file -system -recurse
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 2 --------------------------
                </Title>
                <Introduction>
                    <para>This command gets all files, including hidden files, in the current directory.
 
It uses the Attributes parameter with two values, !Directory+Hidden, which gets hidden files, and !Directory, which gets all other files.</para>
                </Introduction>
                  <Code>
                    Get-ChildItem -attributes !Directory,!Directory+Hidden
                </Code>
                <Remarks>
                    <para>&quot;dir -att !d,!d+h&quot; is the equivalent of this command.</para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 3 --------------------------
                </Title>
                <Introduction>
                    <para>This command gets files in the current directory that are either compressed or encrypted.
 
It uses the Attributes parameter with two values, Compressed and Encrypted. The values are separated by a comma (,) which represents the OR operator.</para>
                </Introduction>
                  <Code>
                    Get-ChildItem -attributes Compressed,Encrypted
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
        </Examples>
    </Task>
</Tasks>
<DynamicParameters>
    <DynamicParameter>
        <Name>Encoding </Name>
 
        <CmdletSupported>Add-Content, Get-Content, Set-Content</CmdletSupported>
 
        <Type>
                    <Name>Microsoft.PowerShell.Commands.FileSystemCmdletProviderEncoding</Name>
              </Type>
 
              <Description>Specifies the file encoding. The default is ASCII.</Description>
 
        <PossibleValues>
            <PossibleValue>
                <Value>Unknown</Value>
 
                <Description>
                    <para>The encoding type is unknown or invalid. The data can be treated as binary. </para>
                </Description>
 
            </PossibleValue>
            <PossibleValue>
                <Value>String</Value>
 
                <Description>
                    <para>Uses the encoding type for a string.</para>
                </Description>
 
            </PossibleValue>
            <PossibleValue>
                <Value>Unicode</Value>
 
                <Description>
                    <para>Encodes in UTF-16 format using the little-endian byte order. </para>
                </Description>
 
            </PossibleValue>
            <PossibleValue>
                <Value>Byte</Value>
 
                <Description>
                    <para>Encodes a set of characters into a sequence of bytes. </para>
                </Description>
 
            </PossibleValue>
            <PossibleValue>
                <Value>BigEndianUnicode</Value>
 
                <Description>
                    <para>Encodes in UTF-16 format using the big-endian byte order. </para>
                </Description>
 
            </PossibleValue>
            <PossibleValue>
                <Value>UTF8</Value>
 
                <Description>
                    <para>Encodes in UTF-8 format.</para>
                </Description>
 
            </PossibleValue>
            <PossibleValue>
                <Value>UTF7</Value>
 
                <Description>
                    <para>Encodes in UTF-7 format.</para>
                </Description>
 
            </PossibleValue>
            <PossibleValue>
                <Value>ASCII</Value>
 
                <Description>
                    <para>Uses the encoding for the ASCII (7-bit) character set. </para>
                </Description>
 
            </PossibleValue>
        </PossibleValues>
    </DynamicParameter>
    <DynamicParameter>
        <Name>Delimiter</Name>
 
        <CmdletSupported>Get-Content</CmdletSupported>
 
        <Type>
                    <Name>System.String</Name>
              </Type>
 
              <Description>Specifies the delimiter that Get-Content uses to divide the file into objects while it reads.
 
The default is &quot;\n&quot;, the end-of-line character.
Therefore, by default, when reading a text file, Get-Content returns a collection of string objects, each of which ends with an end-of-line character.
 
When you enter a delimiter that does not exist in the file, Get-Content returns the entire file as a single, undelimited object.
 
You can use this parameter to split a large file into smaller files by specifying a file separator, such as &quot;End of Example&quot;, as the delimiter. The delimiter is preserved (not discarded) and becomes the last item in each file section.
 
Troubleshooting Note: Currently, when the value of the Delimiter parameter is an empty string, Get-Content does not return anything. This is a known issue. To force Get-Content to return the entire file as a single, undelimited string, enter a value that does not exist in the file.</Description>
 
        <PossibleValues>
        </PossibleValues>
    </DynamicParameter>
    <DynamicParameter>
        <Name>Wait</Name>
 
        <CmdletSupported>Get-Content</CmdletSupported>
 
        <Type>
                    <Name>System.Management.Automation.SwitchParameter</Name>
              </Type>
 
              <Description>Waits for content to be appended to the file. If content is appended, it returns the appended content. If the content has changed, it returns the entire file.
 
When waiting, Get-Content checks the file once each second until you interrupt it, such as by pressing CTRL+C.</Description>
 
        <PossibleValues>
        </PossibleValues>
    </DynamicParameter>
    <DynamicParameter>
        <Name>Attributes</Name>
 
        <CmdletSupported>Get-ChildItem</CmdletSupported>
 
        <Type>
                    <Name>FlagsExpression[System.IO.FileAttributes]</Name>
              </Type>
 
              <Description>Gets files and folders with the specified attributes. This parameter supports all attributes and lets you specify complex combinations of attributes.
 
The Attributes parameter was introduced in Windows PowerShell 3.0.
 
The Attributes parameter supports the following attributes: Archive, Compressed, Device, Directory, Encrypted, Hidden, Normal, NotContentIndexed, Offline, ReadOnly, ReparsePoint, SparseFile, System, and Temporary. For a description of these attributes, see the FileAttributes enumeration at http://go.microsoft.com/fwlink/?LinkId=201508.
 
Use the following operators to combine attributes.
! NOT
+ AND
, OR
 
No spaces are permitted between an operator and its attribute. However, spaces are permitted before commas.</Description>
 
        <PossibleValues>
            <PossibleValue>
                <Value></Value>
 
                <Description>
                    <para></para>
                </Description>
 
            </PossibleValue>
        </PossibleValues>
    </DynamicParameter>
    <DynamicParameter>
        <Name>Directory</Name>
 
        <CmdletSupported>Get-ChildItem</CmdletSupported>
 
        <Type>
                    <Name>System.Management.Automation.SwitchParameter</Name>
              </Type>
 
              <Description>Gets directories (folders).
 
The Directory parameter was introduced in Windows PowerShell 3.0.
 
To get only directories, use the Directory parameter and omit the File parameter. To exclude directories, use the File parameter and omit the Directory parameter, or use the Attributes parameter.</Description>
 
        <PossibleValues>
            <PossibleValue>
                <Value></Value>
 
                <Description>
                    <para></para>
                </Description>
 
            </PossibleValue>
        </PossibleValues>
    </DynamicParameter>
    <DynamicParameter>
        <Name>File</Name>
 
        <CmdletSupported>Get-ChildItem</CmdletSupported>
 
        <Type>
                    <Name>System.Management.Automation.SwitchParameter</Name>
              </Type>
 
              <Description>Gets files.
 
The File parameter was introduced in Windows PowerShell 3.0.
 
To get only files, use the File parameter and omit the Directory parameter. To exclude files, use the Directory parameter and omit the File parameter, or use the Attributes parameter.</Description>
 
        <PossibleValues>
            <PossibleValue>
                <Value></Value>
 
                <Description>
                    <para></para>
                </Description>
 
            </PossibleValue>
        </PossibleValues>
    </DynamicParameter>
    <DynamicParameter>
        <Name>Hidden</Name>
 
        <CmdletSupported>Get-ChildItem</CmdletSupported>
 
        <Type>
                    <Name>System.Management.Automation.SwitchParameter</Name>
              </Type>
 
              <Description>Gets only hidden files and directories (folders). By default, Get-ChildItem gets only non-hidden items.
 
The Hidden parameter was introduced in Windows PowerShell 3.0.
 
To get only hidden items, use the Hidden parameter, its &quot;h&quot; or &quot;ah&quot; aliases, or the Hidden value of the Attributes parameter. To exclude hidden items, omit the Hidden parameter or use the Attributes parameter.</Description>
 
        <PossibleValues>
            <PossibleValue>
                <Value></Value>
 
                <Description>
                    <para></para>
                </Description>
 
            </PossibleValue>
        </PossibleValues>
    </DynamicParameter>
    <DynamicParameter>
        <Name>ReadOnly</Name>
 
        <CmdletSupported>Get-ChildItem</CmdletSupported>
 
        <Type>
                    <Name>System.Management.Automation.SwitchParameter</Name>
              </Type>
 
              <Description>Gets only read-only files and directories (folders).
 
The ReadOnly parameter was introduced in Windows PowerShell 3.0.
 
To get only read-only items, use the ReadOnly parameter, its &quot;ar&quot; alias, or the ReadOnly value of the Attributes parameter. To exclude read-only items, use the Attributes parameter.</Description>
 
        <PossibleValues>
            <PossibleValue>
                <Value></Value>
 
                <Description>
                    <para></para>
                </Description>
 
            </PossibleValue>
        </PossibleValues>
    </DynamicParameter>
    <DynamicParameter>
        <Name>System</Name>
 
        <CmdletSupported>Get-ChildItem</CmdletSupported>
 
        <Type>
                    <Name>System.Management.Automation.SwitchParameter</Name>
              </Type>
 
              <Description>Gets only system files and directories (folders).
 
The System parameter was introduced in Windows PowerShell 3.0.
 
To get only system files and folders, use the System parameter, its &quot;as&quot; alias, or the System value of the Attributes parameter. To exclude system files and folders, use the Attributes parameter.</Description>
 
        <PossibleValues>
            <PossibleValue>
                <Value></Value>
 
                <Description>
                    <para></para>
                </Description>
 
            </PossibleValue>
        </PossibleValues>
    </DynamicParameter>
    <DynamicParameter>
        <Name>NewerThan</Name>
 
        <CmdletSupported>Test-Path</CmdletSupported>
 
        <Type>
                    <Name>System.DateTime</Name>
              </Type>
 
              <Description>Returns &quot;True&quot; ($True) when the LastWriteTime value of a file is greater than the specified date. Otherwise, it returns &quot;False&quot; ($False).
 
Enter a DateTime object, such as one that the Get-Date cmdlet returns, or a string that can be converted to a DateTime object, such as &quot;August 10, 2011 2:00 PM&quot;.</Description>
 
        <PossibleValues>
            <PossibleValue>
                <Value></Value>
 
                <Description>
                    <para></para>
                </Description>
 
            </PossibleValue>
        </PossibleValues>
    </DynamicParameter>
    <DynamicParameter>
        <Name>OlderThan</Name>
 
        <CmdletSupported>Test-Path</CmdletSupported>
 
        <Type>
                    <Name>System.DateTime</Name>
              </Type>
 
              <Description>Returns &quot;True&quot; ($True) when the LastWriteTime value of a file is less than the specified date. Otherwise, it returns &quot;False&quot; ($False).
 
Enter a DateTime object, such as one that the Get-Date cmdlet returns, or a string that can be converted to a DateTime object, such as &quot;August 10, 2011 2:00 PM&quot;.</Description>
 
        <PossibleValues>
            <PossibleValue>
                <Value></Value>
 
                <Description>
                    <para></para>
                </Description>
 
            </PossibleValue>
        </PossibleValues>
    </DynamicParameter>
    <DynamicParameter>
        <Name>Stream</Name>
 
        <CmdletSupported>Add-Content, Clear-Content, Get-Item, Get-Content, Remove-Item, Set-Content</CmdletSupported>
 
        <Type>
                    <Name>System.String []</Name>
              </Type>
 
              <Description>Manages alternate data streams. Enter the stream name. Wildcards are valid only in Get-Item and Remove-Item commands.</Description>
 
        <PossibleValues>
            <PossibleValue>
                <Value></Value>
 
                <Description>
                    <para></para>
                </Description>
 
            </PossibleValue>
        </PossibleValues>
    </DynamicParameter>
    <DynamicParameter>
        <Name>Raw</Name>
 
        <CmdletSupported>Get-Content</CmdletSupported>
 
        <Type>
                    <Name>SwitchParameter</Name>
              </Type>
 
              <Description>Ignores newline characters. Returns contents as a single item.</Description>
 
        <PossibleValues>
            <PossibleValue>
                <Value></Value>
 
                <Description>
                    <para></para>
                </Description>
 
            </PossibleValue>
        </PossibleValues>
    </DynamicParameter>
</DynamicParameters>
<RelatedLinks>
    <navigationLink>
        <linkText>about_Providers</linkText>
        <uri/>
    </navigationLink>
</RelatedLinks>
 
 
 
<CmdletHelpPaths>
    <CmdletHelpPath id="FileSystem">
<!-- v 1.3.0.36 -->
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
        <command:name>
                   Add-Content
        </command:name>
        <maml:description>
            <maml:para>Appends content, such as words or data, to a file.
</maml:para>
        </maml:description>
        <maml:copyright>
            <maml:para></maml:para>
        </maml:copyright>
        <command:verb>Add</command:verb>
        <command:noun>Content</command:noun>
        <dev:version></dev:version>
    </command:details>
    <maml:description>
        <maml:para>In file system drives, the Add-Content cmdlet appends the content you specify to the end of a file. This cmdlet is not valid on folders.
 
Note: This custom cmdlet help file explains how the Add-Content cmdlet works in a file system drive. For information about the Add-Content cmdlet in all drives, type &quot;Get-Help Add-Content -Path $null&quot; or see Add-Content at http://go.microsoft.com/fwlink/?LinkID=113278. </maml:para>
    </maml:description>
    <!-- Cmdlet syntax section-->
    <command:syntax>
        <command:syntaxItem>
            <maml:name>Add-Content</maml:name>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Encoding</maml:name>
                <maml:description>
                    <maml:para>Specifies the file encoding. The default is ASCII.
 
Valid values are:
 
-- ASCII: Uses the encoding for the ASCII (7-bit) character set.
-- BigEndianUnicode: Encodes in UTF-16 format using the big-endian byte order.
-- Byte: Encodes a set of characters into a sequence of bytes.
-- String: Uses the encoding type for a string.
-- Unicode: Encodes in UTF-16 format using the little-endian byte order.
-- UTF7: Encodes in UTF-7 format.
-- UTF8: Encodes in UTF-8 format.
-- Unknown: The encoding type is unknown or invalid. The data can be treated as binary.
 
Encoding is a dynamic parameter that the FileSystem provider adds to the Add-Content cmdlet. This parameter works only in file system drives.</maml:para>
                </maml:description>
                <command:parameterValueGroup>
                <command:parameterValue required="false" variableLength="false" >Unknown</command:parameterValue>
                <command:parameterValue required="false" variableLength="false" >String</command:parameterValue>
                <command:parameterValue required="false" variableLength="false" >Unicode</command:parameterValue>
                <command:parameterValue required="false" variableLength="false" >Byte</command:parameterValue>
                <command:parameterValue required="false" variableLength="false" >BigEndianUnicode</command:parameterValue>
                <command:parameterValue required="false" variableLength="false" >UTF8</command:parameterValue>
                <command:parameterValue required="false" variableLength="false" >UTF7</command:parameterValue>
                <command:parameterValue required="false" variableLength="false" >UTF32</command:parameterValue>
                <command:parameterValue required="false" variableLength="false" >Ascii</command:parameterValue>
                <command:parameterValue required="false" variableLength="false" >Default</command:parameterValue>
                <command:parameterValue required="false" variableLength="false" >Oem</command:parameterValue>
                </command:parameterValueGroup>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Force</maml:name>
                <maml:description>
                    <maml:para>Adds contents to files even if they are read-only. Without this parameter, read-only files are not affected.</maml:para>
                </maml:description>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Stream</maml:name>
                <maml:description>
                    <maml:para>Adds the content to the specified alternate data stream. If the stream does not yet, exist, Add-Content creates it. Enter the stream name. Wildcards are not supported.
 
Stream is a dynamic parameter that the FileSystem provider adds to the Add-Content cmdlet. This parameter works only in file system drives.
 
This parameter is introduced in Windows PowerShell 3.0.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">string</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named">
                <maml:name>Confirm</maml:name>
                <maml:description>
                <maml:para>Prompts you for confirmation before executing the command.</maml:para>
                </maml:description>
            </command:parameter>
            <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named">
                <maml:name>WhatIf</maml:name>
                <maml:description>
                <maml:para>Describes what would happen if you executed the command without actually executing the command.</maml:para>
                </maml:description>
            </command:parameter>
            <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named">
                <maml:name>UseTransaction</maml:name>
                <maml:description>
                <maml:para>Includes the command in the active transaction. This parameter is valid only when a transaction is in progress. For more information, see about_Transactions.</maml:para>
                </maml:description>
            </command:parameter>
        </command:syntaxItem>
    </command:syntax>
    <!-- Cmdlet parameter section -->
    <command:parameters>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>Encoding</maml:name>
            <maml:description>
                <maml:para>Specifies the file encoding. The default is ASCII.
 
Valid values are:
 
-- ASCII: Uses the encoding for the ASCII (7-bit) character set.
-- BigEndianUnicode: Encodes in UTF-16 format using the big-endian byte order.
-- Byte: Encodes a set of characters into a sequence of bytes.
-- String: Uses the encoding type for a string.
-- Unicode: Encodes in UTF-16 format using the little-endian byte order.
-- UTF7: Encodes in UTF-7 format.
-- UTF8: Encodes in UTF-8 format.
-- Unknown: The encoding type is unknown or invalid. The data can be treated as binary.
 
Encoding is a dynamic parameter that the FileSystem provider adds to the Add-Content cmdlet. This parameter works only in file system drives.</maml:para>
                                 
            </maml:description>
            <command:parameterValue required="true" variableLength="false">FileSystemCmdletProviderEncoding</command:parameterValue>
            <dev:type>
                <maml:name>FileSystemCmdletProviderEncoding</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue>ASCII</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>Force</maml:name>
            <maml:description>
                <maml:para>Adds contents to files even if they are read-only. Without this parameter, read-only files are not affected.</maml:para>
                                 
            </maml:description>
            <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            <dev:type>
                <maml:name>SwitchParameter</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>Stream</maml:name>
            <maml:description>
                <maml:para>Adds the content to the specified alternate data stream. If the stream does not yet, exist, Add-Content creates it. Enter the stream name. Wildcards are not supported.
 
Stream is a dynamic parameter that the FileSystem provider adds to the Add-Content cmdlet. This parameter works only in file system drives.
 
This parameter is introduced in Windows PowerShell 3.0.</maml:para>
                                 
            </maml:description>
            <command:parameterValue required="true" variableLength="false">string</command:parameterValue>
            <dev:type>
                <maml:name>string</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
            <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named">
                <maml:name>Confirm</maml:name>
                <maml:description>
                <maml:para>Prompts you for confirmation before executing the command.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
                <dev:type>
                  <maml:name>SwitchParameter</maml:name>
                    <maml:uri />
                    </dev:type>
             <dev:defaultValue />
            </command:parameter>
            <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named">
                <maml:name>WhatIf</maml:name>
                <maml:description>
                <maml:para>Describes what would happen if you executed the command without actually executing the command.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
                <dev:type>
                  <maml:name>SwitchParameter</maml:name>
                    <maml:uri />
                    </dev:type>
             <dev:defaultValue />
            </command:parameter>
            <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named">
                <maml:name>UseTransaction</maml:name>
                <maml:description>
                <maml:para>Includes the command in the active transaction. This parameter is valid only when a transaction is in progress. For more information, see about_Transactions.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
                <dev:type>
                  <maml:name>SwitchParameter</maml:name>
                    <maml:uri />
                    </dev:type>
             <dev:defaultValue />
            </command:parameter>
    </command:parameters>
    <!-- Input - Output section-->
    <command:inputTypes>
        <command:inputType>
            <dev:type>
                <maml:name>Sytem.Object[], System.String[], System.Management.Automation.PSCredential</maml:name>
                <maml:uri/>
                <maml:description />
            </dev:type>
            <maml:description>
                <maml:para>
                    <!-- description -->
                    You can pipe the value (object), a path, or a credential object to Add-Contnet.
                </maml:para>
            </maml:description>
        </command:inputType>
    </command:inputTypes>
    <command:returnValues>
        <command:returnValue>
            <dev:type>
                <maml:name>None or System.String</maml:name>
                <maml:uri />
                <maml:description />
            </dev:type>
            <maml:description>
                <maml:para>
                    <!-- description -->
                    When you use the Passthru parameter, Add-Content generates a System.String object representing the content. Otherwise, this cmdlet does not generate any output.
                </maml:para>
            </maml:description>
        </command:returnValue>
    </command:returnValues>
    <!-- Error section-->
    <command:terminatingErrors />
    <command:nonTerminatingErrors />
        <!-- Notes section -->
    <maml:alertSet>
        <maml:title></maml:title>
        <maml:alert>
            <maml:para>
                           
                        </maml:para>
        </maml:alert>
        <maml:alert>
            <maml:para></maml:para>
        </maml:alert>
    </maml:alertSet>
    <!-- Example section -->
    <command:examples>
 
        <command:example>
            <maml:title>
                -------------------------- EXAMPLE 1 --------------------------
            </maml:title>
            <maml:introduction>
                <maml:para>C:\PS&gt;</maml:para>
            </maml:introduction>
              <dev:code>
Add-Content -Path *.txt -Exclude help* -Value &quot;END&quot; </dev:code>
                   <dev:remarks>
                                <maml:para>Description</maml:para>
                                <maml:para>-----------</maml:para>
                      <maml:para>This command adds &quot;END&quot; to all text files in the current directory, except for those with file names that begin with &quot;help.&quot;</maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
              </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText></command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
 
        <command:example>
            <maml:title>
                -------------------------- EXAMPLE 2 --------------------------
            </maml:title>
            <maml:introduction>
                <maml:para>C:\PS&gt;</maml:para>
            </maml:introduction>
              <dev:code>
Add-Content -Path file1.log, file2.log -Value (get-date) -PassThru </dev:code>
                   <dev:remarks>
                                <maml:para>Description</maml:para>
                                <maml:para>-----------</maml:para>
                      <maml:para>This command adds the date to the end of the File1.log and File2.log files and then displays the date at the command line.
 
The command uses the Get-Date cmdlet to get the date, and it uses the Value parameter to pass the date to Add-Content. The PassThru parameter sends the added content through the pipeline. Because there is no other cmdlet to receive the passed content, it is displayed at the command line.
 
</maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
              </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText></command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
 
        <command:example>
            <maml:title>
                -------------------------- EXAMPLE 3 --------------------------
            </maml:title>
            <maml:introduction>
                <maml:para>C:\PS&gt;</maml:para>
            </maml:introduction>
              <dev:code>
Add-Content -Path monthly.txt -Value (Get-Content c:\rec1\weekly.txt) </dev:code>
                   <dev:remarks>
                                <maml:para>Description</maml:para>
                                <maml:para>-----------</maml:para>
                      <maml:para>This command adds the contents of the Weekly.txt file to the end of the Monthly.txt file. It uses the Get-Content cmdlet to get the contents of the Weekly.txt file, and it uses the Value parameter to pass the content of weekly.txt to Add-Content. The parentheses ensure that the Get-Content command is complete before the Add-Content command begins.
 
You can also copy the content of Weekly.txt to a variable, such as $w, and then use the Value parameter to pass the variable to Add-Content. In that case, the command would be &quot;add-content -path monthly.txt -value $w&quot;.</maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
              </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText></command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
 
        <command:example>
            <maml:title>
                -------------------------- EXAMPLE 4 --------------------------
            </maml:title>
            <maml:introduction>
                <maml:para>C:\PS&gt;</maml:para>
            </maml:introduction>
              <dev:code>
Add-Content -Value (Get-Content test.log) -Path C:\tests\test134\logs\test134.log </dev:code>
                   <dev:remarks>
                                <maml:para>Description</maml:para>
                                <maml:para>-----------</maml:para>
                      <maml:para>This command creates a new directory and file and copies the content of an existing file to the newly created file.
 
This command uses the Add-Content cmdlet to add the content. The value of the Value parameter is a Get-Content command that gets content from an existing file, Test.log.
 
The value of the path parameter is a path that does not exist when the command runs. In this example, only the C:\Tests directories exist. The command creates the remaining directories and the Test134.log file.
 
The Force parameter is not required for this command. Add-Content creates directories to complete a path even without the Force parameter.</maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
              </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText></command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
 
        <command:example>
            <maml:title>
                -------------------------- EXAMPLE 5 --------------------------
            </maml:title>
            <maml:introduction>
                <maml:para>C:\PS&gt;</maml:para>
            </maml:introduction>
              <dev:code>
Get-Content test.xml | Add-Content final.xml -Force -Encoding UTF8 </dev:code>
                   <dev:remarks>
                                <maml:para>Description</maml:para>
                                <maml:para>-----------</maml:para>
                      <maml:para>This command appends the contents of the final.xml file to the contents of the test.xml file.
 
The command uses the Force parameter so that the command is successful even if the Final.xml file is read-only. It uses the Encoding parameter to specify an encoding of UTF-8.</maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
              </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText></command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
    </command:examples>
    <!-- Link section -->
    <maml:relatedLinks>
        <maml:navigationLink>
            <maml:linkText>Online version:</maml:linkText>
            <maml:uri>http://technet.microsoft.com/library/hh847782(v=wps.630).aspx</maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Add-Content (generic): http://go.microsoft.com/fwlink/?LinkID=113278</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>FileSystem Provider</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Clear-Content</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Get-Content</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Get-ChildItem</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Get-Content</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Get-Item</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Remove-Item</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Set-Content</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Test-Path</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
    </maml:relatedLinks>
</command:command>
 
<!-- v 1.3.0.36 -->
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
        <command:name>
                   Clear-Content
        </command:name>
        <maml:description>
            <maml:para>Deletes the contents of an item, but does not delete the item.</maml:para>
        </maml:description>
        <maml:copyright>
            <maml:para></maml:para>
        </maml:copyright>
        <command:verb>Clear</command:verb>
        <command:noun>Content</command:noun>
        <dev:version></dev:version>
    </command:details>
    <maml:description>
        <maml:para>In the file system, Clear-Content clears the content in a file, but does not delete the file. It has no effect on folders.
 
Note: This custom cmdlet help file explains how the Clear-Content cmdlet works in a file system drive. For information about the Clear-Content cmdlet in all drives, type &quot;Get-Help Clear-Content -Path $null&quot; or see Clear-Content at http://go.microsoft.com/fwlink/?LinkID=113282. </maml:para>
    </maml:description>
    <!-- Cmdlet syntax section-->
    <command:syntax>
        <command:syntaxItem>
            <maml:name>Clear-Content</maml:name>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Stream</maml:name>
                <maml:description>
                    <maml:para>Deletes the content in the specified alternate data stream, but does not delete the alternate data stream. Enter the stream name. Wildcards are not supported.
 
Stream is a dynamic parameter that the FileSystem provider adds to the Set-Content cmdlet. This parameter works only in file system drives.
 
You can use the Clear-Content cmdlet to clear the content of an alternate data stream. However, it is not the recommended way to eliminate security checks that block files that are downloaded from the Internet. If you verify that a downloaded file is safe, use the Unblock-File cmdlet.
 
This parameter is introduced in Windows PowerShell 3.0.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">string</command:parameterValue>
            </command:parameter>
        </command:syntaxItem>
    </command:syntax>
    <!-- Cmdlet parameter section -->
    <command:parameters>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>Stream</maml:name>
            <maml:description>
                <maml:para>Deletes the content in the specified alternate data stream, but does not delete the alternate data stream. Enter the stream name. Wildcards are not supported.
 
Stream is a dynamic parameter that the FileSystem provider adds to the Set-Content cmdlet. This parameter works only in file system drives.
 
You can use the Clear-Content cmdlet to clear the content of an alternate data stream. However, it is not the recommended way to eliminate security checks that block files that are downloaded from the Internet. If you verify that a downloaded file is safe, use the Unblock-File cmdlet.
 
This parameter is introduced in Windows PowerShell 3.0.</maml:para>
                                 
            </maml:description>
            <command:parameterValue required="true" variableLength="false">string</command:parameterValue>
            <dev:type>
                <maml:name>string</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
    </command:parameters>
    <!-- Input - Output section-->
    <command:inputTypes>
        <command:inputType>
            <dev:type>
                <maml:name></maml:name>
                <maml:uri/>
                <maml:description />
            </dev:type>
            <maml:description>
                <maml:para>
                    <!-- description -->
                     
                </maml:para>
            </maml:description>
        </command:inputType>
    </command:inputTypes>
    <command:returnValues>
        <command:returnValue>
            <dev:type>
                <maml:name></maml:name>
                <maml:uri />
                <maml:description />
            </dev:type>
            <maml:description>
                <maml:para>
                    <!-- description -->
                     
                </maml:para>
            </maml:description>
        </command:returnValue>
    </command:returnValues>
    <!-- Error section-->
    <command:terminatingErrors />
    <command:nonTerminatingErrors />
        <!-- Notes section -->
    <maml:alertSet>
        <maml:title></maml:title>
        <maml:alert>
            <maml:para>
                           
                        </maml:para>
        </maml:alert>
        <maml:alert>
            <maml:para></maml:para>
        </maml:alert>
    </maml:alertSet>
    <!-- Example section -->
    <command:examples>
 
        <command:example>
            <maml:title>
                -------------------------- EXAMPLE 1 --------------------------
            </maml:title>
            <maml:introduction>
                <maml:para>C:\PS&gt;</maml:para>
            </maml:introduction>
              <dev:code>
Get-Content C:\Test\Copy-Script.ps1 -Stream Zone.Identifier
 
[ZoneTransfer]
ZoneId=3
 
C:\PS&gt;Clear-Content C:\Test\Copy-Script.ps1 -Stream Zone.Identifier
 
C:\PS&gt;Get-Content C:\Test\Copy-Script.ps1 -Stream Zone.Identifier
C:\PS&gt; </dev:code>
                   <dev:remarks>
                                <maml:para>Description</maml:para>
                                <maml:para>-----------</maml:para>
                      <maml:para>This example shows how the Clear-Content cmdlet clears the content from an alternate data stream while leaving the stream intact.
 
The first command uses the Get-Content cmdlet to get the content of the Zone.Identifier stream in the Copy-Script.ps1 file, which was downloaded from the Internet.
 
The second command uses the Clear-Content cmdlet to clear the content.
 
The third command repeats the first command. It verifies that the content is cleared, but the stream remains. If the stream were deleted, the command would generate an error.
 
You can use a method like this one to clear the content of an alternate data stream. However, it is not the recommended way to eliminate security checks that block files that are downloaded from the Internet. If you verify that a downloaded file is safe, use the Unblock-File cmdlet.</maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
              </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText></command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
 
        <command:example>
            <maml:title>
                -------------------------- EXAMPLE 2 --------------------------
            </maml:title>
            <maml:introduction>
                <maml:para>C:\PS&gt;</maml:para>
            </maml:introduction>
              <dev:code>
Clear-Content ..\SmpUsers\*\init.txt </dev:code>
                   <dev:remarks>
                                <maml:para>Description</maml:para>
                                <maml:para>-----------</maml:para>
                      <maml:para>This command deletes all of the content from the &quot;init.txt&quot; files in all subdirectories of the SmpUsers directory. The files are not deleted, but they are empty.</maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
              </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText></command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
 
        <command:example>
            <maml:title>
                -------------------------- EXAMPLE 3 --------------------------
            </maml:title>
            <maml:introduction>
                <maml:para>C:\PS&gt;</maml:para>
            </maml:introduction>
              <dev:code>
Clear-Content -Path * -Filter *.log -Force </dev:code>
                   <dev:remarks>
                                <maml:para>Description</maml:para>
                                <maml:para>-----------</maml:para>
                      <maml:para>This command deletes the contents of all files in the current directory with the &quot;.log&quot; file name extension, including files with the read-only attribute. The asterisk (*) in the path represents all items in the current directory. The Force parameter makes the command effective on read-only files. Using a filter to restrict the command to files with the &quot;.log&quot; file name extension instead of specifying &quot;*.log&quot; in the path makes the operation faster.</maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
              </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText></command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
 
        <command:example>
            <maml:title>
                -------------------------- EXAMPLE 4 --------------------------
            </maml:title>
            <maml:introduction>
                <maml:para>C:\PS&gt;</maml:para>
            </maml:introduction>
              <dev:code>
Clear-Content c:\Temp\* -Include Smp* -Exclude *2* -WhatIf </dev:code>
                   <dev:remarks>
                                <maml:para>Description</maml:para>
                                <maml:para>-----------</maml:para>
                      <maml:para>This command requests a prediction of what would happen if you submitted the command: &quot;clear-content c:\temp\* -include smp* -exclude *2*&quot;. The result lists the files that would be cleared; in this case, files in the Temp directory whose names begin with &quot;Smp&quot;, unless the file names include a &quot;2&quot;. To execute the command, run it again without the Whatif parameter.</maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
              </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText></command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
    </command:examples>
    <!-- Link section -->
    <maml:relatedLinks>
        <maml:navigationLink>
            <maml:linkText>Online version:</maml:linkText>
            <maml:uri>http://technet.microsoft.com/library/jj628240(v=wps.630).aspx</maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Add-Content (all providers); http://go.microsoft.com/fwlink/?LinkID=113278</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>FileSystem Provider</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Clear-Content</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Get-Content</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Get-ChildItem</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Get-Content</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Get-Item</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Remove-Item</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Set-Content</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Test-Path</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
    </maml:relatedLinks>
</command:command>
 
<!-- v 1.3.0.36 -->
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
        <command:name>
                   Get-ChildItem
        </command:name>
        <maml:description>
            <maml:para>Gets the files and folders in a file system drive.</maml:para>
        </maml:description>
        <maml:copyright>
            <maml:para></maml:para>
        </maml:copyright>
        <command:verb>Get</command:verb>
        <command:noun>ChildItem</command:noun>
        <dev:version></dev:version>
    </command:details>
    <maml:description>
        <maml:para>In a file system drive, the Get-ChildItem cmdlet gets the directories, subdirectories, and files. In a file system directory, it gets subdirectories and files.
 
By default, Get-ChildItem gets non-hidden items, but you can use the Directory, File, Hidden, ReadOnly, and System parameters to get only items with these attributes. To create a complex attribute search, use the Attributes parameter. If you use these parameters, Get-ChildItem gets only the items that meet all search conditions, as though the parameters were connected by an AND operator.
 
Note: This custom cmdlet help file explains how the Get-ChildItem cmdlet works in a file system drive. For information about the Get-ChildItem cmdlet in all drives, type &quot;Get-Help Get-ChildItem -Path $null&quot; or see Get-ChildItem at http://go.microsoft.com/fwlink/?LinkID=113308. </maml:para>
    </maml:description>
    <!-- Cmdlet syntax section-->
    <command:syntax>
        <command:syntaxItem>
            <maml:name>Get-ChildItem</maml:name>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Attributes</maml:name>
                <maml:description>
                    <maml:para>Gets files and folders with the specified attributes. This parameter supports all attributes and lets you specify complex combinations of attributes.
 
For example, to get non-system files (not directories) that are encrypted or compressed, type:
    Get-ChildItem -Attributes !Directory+!System+Encrypted, !Directory+!System+Compressed
 
To find files and folders with commonly used attributes, you can use the Attributes parameter, or the Directory, File, Hidden, ReadOnly, and System switch parameters.
 
The Attributes parameter supports the following attributes: Archive, Compressed, Device, Directory, Encrypted, Hidden, Normal, NotContentIndexed, Offline, ReadOnly, ReparsePoint, SparseFile, System, and Temporary. For a description of these attributes, see the FileAttributes enumeration at http://go.microsoft.com/fwlink/?LinkId=201508.
 
Use the following operators to combine attributes.
    ! NOT
   + AND
   , OR
No spaces are permitted between an operator and its attribute. However, spaces are permitted before commas.
 
You can use the following abbreviations for commonly used attributes:
    D Directory
    H Hidden
    R Read-only
    S System</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">FileAttributes]</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Directory</maml:name>
                <maml:description>
                    <maml:para>Gets directories (folders).
 
To get only directories, use the Directory parameter and omit the File parameter. To exclude directories, use the File parameter and omit the Directory parameter, or use the Attributes parameter.
 
To get directories, use the Directory parameter, its &quot;ad&quot; alias, or the Directory attribute of the Attributes parameter. </maml:para>
                </maml:description>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>File</maml:name>
                <maml:description>
                    <maml:para>Gets files.
 
To get only files, use the File parameter and omit the Directory parameter. To exclude files, use the Directory parameter and omit the File parameter, or use the Attributes parameter.
 
To get files, use the File parameter, its &quot;af&quot; alias, or the File value of the Attributes parameter. </maml:para>
                </maml:description>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Force</maml:name>
                <maml:description>
                    <maml:para>Gets hidden files and folders. By default, hidden files and folder are excluded. You can also get hidden files and folders by using the Hidden parameter or the Hidden value of the Attributes parameter.</maml:para>
                </maml:description>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Hidden</maml:name>
                <maml:description>
                    <maml:para>Gets only hidden files and directories (folders). By default, Get-ChildItem gets only non-hidden items, but you can use the Force parameter to include hidden items in the results.
 
To get only hidden items, use the Hidden parameter, its &quot;h&quot; or &quot;ah&quot; aliases, or the Hidden value of the Attributes parameter. To exclude hidden items, omit the Hidden parameter or use the Attributes parameter.</maml:para>
                </maml:description>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>ReadOnly</maml:name>
                <maml:description>
                    <maml:para>Gets only read-only files and directories (folders).
 
To get only read-only items, use the ReadOnly parameter, its &quot;ar&quot; alias, or the ReadOnly value of the Attributes parameter. To exclude read-only items, use the Attributes parameter.</maml:para>
                </maml:description>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>System</maml:name>
                <maml:description>
                    <maml:para>Gets only system files and directories (folders).
 
To get only system files and folders, use the System parameter, its &quot;as&quot; alias, or the System value of the Attributes parameter. To exclude system files and folders, use the Attributes parameter.</maml:para>
                </maml:description>
            </command:parameter>
            <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named">
                <maml:name>UseTransaction</maml:name>
                <maml:description>
                <maml:para>Includes the command in the active transaction. This parameter is valid only when a transaction is in progress. For more information, see about_Transactions.</maml:para>
                </maml:description>
            </command:parameter>
        </command:syntaxItem>
    </command:syntax>
    <!-- Cmdlet parameter section -->
    <command:parameters>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>Attributes</maml:name>
            <maml:description>
                <maml:para>Gets files and folders with the specified attributes. This parameter supports all attributes and lets you specify complex combinations of attributes.
 
For example, to get non-system files (not directories) that are encrypted or compressed, type:
    Get-ChildItem -Attributes !Directory+!System+Encrypted, !Directory+!System+Compressed
 
To find files and folders with commonly used attributes, you can use the Attributes parameter, or the Directory, File, Hidden, ReadOnly, and System switch parameters.
 
The Attributes parameter supports the following attributes: Archive, Compressed, Device, Directory, Encrypted, Hidden, Normal, NotContentIndexed, Offline, ReadOnly, ReparsePoint, SparseFile, System, and Temporary. For a description of these attributes, see the FileAttributes enumeration at http://go.microsoft.com/fwlink/?LinkId=201508.
 
Use the following operators to combine attributes.
    ! NOT
   + AND
   , OR
No spaces are permitted between an operator and its attribute. However, spaces are permitted before commas.
 
You can use the following abbreviations for commonly used attributes:
    D Directory
    H Hidden
    R Read-only
    S System</maml:para>
                                 
            </maml:description>
            <command:parameterValue required="true" variableLength="false">FileAttributes]</command:parameterValue>
            <dev:type>
                <maml:name>FileAttributes]</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>Directory</maml:name>
            <maml:description>
                <maml:para>Gets directories (folders).
 
To get only directories, use the Directory parameter and omit the File parameter. To exclude directories, use the File parameter and omit the Directory parameter, or use the Attributes parameter.
 
To get directories, use the Directory parameter, its &quot;ad&quot; alias, or the Directory attribute of the Attributes parameter. </maml:para>
                                 
            </maml:description>
            <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            <dev:type>
                <maml:name>SwitchParameter</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>File</maml:name>
            <maml:description>
                <maml:para>Gets files.
 
To get only files, use the File parameter and omit the Directory parameter. To exclude files, use the Directory parameter and omit the File parameter, or use the Attributes parameter.
 
To get files, use the File parameter, its &quot;af&quot; alias, or the File value of the Attributes parameter. </maml:para>
                                 
            </maml:description>
            <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            <dev:type>
                <maml:name>SwitchParameter</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>Hidden</maml:name>
            <maml:description>
                <maml:para>Gets only hidden files and directories (folders). By default, Get-ChildItem gets only non-hidden items, but you can use the Force parameter to include hidden items in the results.
 
To get only hidden items, use the Hidden parameter, its &quot;h&quot; or &quot;ah&quot; aliases, or the Hidden value of the Attributes parameter. To exclude hidden items, omit the Hidden parameter or use the Attributes parameter.</maml:para>
                                 
            </maml:description>
            <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            <dev:type>
                <maml:name>SwitchParameter</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>ReadOnly</maml:name>
            <maml:description>
                <maml:para>Gets only read-only files and directories (folders).
 
To get only read-only items, use the ReadOnly parameter, its &quot;ar&quot; alias, or the ReadOnly value of the Attributes parameter. To exclude read-only items, use the Attributes parameter.</maml:para>
                                 
            </maml:description>
            <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            <dev:type>
                <maml:name>SwitchParameter</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>System</maml:name>
            <maml:description>
                <maml:para>Gets only system files and directories (folders).
 
To get only system files and folders, use the System parameter, its &quot;as&quot; alias, or the System value of the Attributes parameter. To exclude system files and folders, use the Attributes parameter.</maml:para>
                                 
            </maml:description>
            <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            <dev:type>
                <maml:name>SwitchParameter</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>Force</maml:name>
            <maml:description>
                <maml:para>Gets hidden files and folders. By default, hidden files and folder are excluded. You can also get hidden files and folders by using the Hidden parameter or the Hidden value of the Attributes parameter.</maml:para>
                                 
            </maml:description>
            <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            <dev:type>
                <maml:name>SwitchParameter</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
            <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named">
                <maml:name>UseTransaction</maml:name>
                <maml:description>
                <maml:para>Includes the command in the active transaction. This parameter is valid only when a transaction is in progress. For more information, see about_Transactions.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
                <dev:type>
                  <maml:name>SwitchParameter</maml:name>
                    <maml:uri />
                    </dev:type>
             <dev:defaultValue />
            </command:parameter>
    </command:parameters>
    <!-- Input - Output section-->
    <command:inputTypes>
        <command:inputType>
            <dev:type>
                <maml:name>System.String[]</maml:name>
                <maml:uri/>
                <maml:description />
            </dev:type>
            <maml:description>
                <maml:para>
                    <!-- description -->
                    You can pipe a file system path (in quotation marks) to Get-ChildItem.
                </maml:para>
            </maml:description>
        </command:inputType>
    </command:inputTypes>
    <command:returnValues>
        <command:returnValue>
            <dev:type>
                <maml:name>System.IO.DirectoryInfo, System.IO.FileInfo, System.String</maml:name>
                <maml:uri />
                <maml:description />
            </dev:type>
            <maml:description>
                <maml:para>
                    <!-- description -->
                     
                </maml:para>
            </maml:description>
        </command:returnValue>
    </command:returnValues>
    <!-- Error section-->
    <command:terminatingErrors />
    <command:nonTerminatingErrors />
        <!-- Notes section -->
    <maml:alertSet>
        <maml:title></maml:title>
        <maml:alert>
            <maml:para>
                          The Attributes, Directory, File, Hidden, ReadOnly, and System parameters were introduced in Windows PowerShell 3.0 and
are effective only in file system drives.
 
Get-ChildItem Alias Reference:
---------------------------------
Get-ChildItem dir
Directory d, ad
File af
Hidden h, ah
ReadOnly ar
System as
                        </maml:para>
        </maml:alert>
        <maml:alert>
            <maml:para></maml:para>
        </maml:alert>
    </maml:alertSet>
    <!-- Example section -->
    <command:examples>
 
        <command:example>
            <maml:title>
                -------------------------- EXAMPLE 1 --------------------------
            </maml:title>
            <maml:introduction>
                <maml:para>C:\PS&gt;</maml:para>
            </maml:introduction>
              <dev:code>
Get-ChildItem </dev:code>
                   <dev:remarks>
                                <maml:para>Description</maml:para>
                                <maml:para>-----------</maml:para>
                      <maml:para>This command gets the files and subdirectories in the current directory. If the current directory does not have child items, the command does not return any results.</maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
              </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText></command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
 
        <command:example>
            <maml:title>
                -------------------------- EXAMPLE 2 --------------------------
            </maml:title>
            <maml:introduction>
                <maml:para>C:\PS&gt;</maml:para>
            </maml:introduction>
              <dev:code>
Get-Childitem -System -File -Recurse </dev:code>
                   <dev:remarks>
                                <maml:para>Description</maml:para>
                                <maml:para>-----------</maml:para>
                      <maml:para>This command gets system files in the current directory and its subdirectories.</maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
              </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText></command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
 
        <command:example>
            <maml:title>
                -------------------------- EXAMPLE 3 --------------------------
            </maml:title>
            <maml:introduction>
                <maml:para>C:\PS&gt;</maml:para>
            </maml:introduction>
              <dev:code>
Get-ChildItem -Attributes !Directory,!Directory+Hidden
 
C:\PS&gt; dir -att !d,!d+h </dev:code>
                   <dev:remarks>
                                <maml:para>Description</maml:para>
                                <maml:para>-----------</maml:para>
                      <maml:para>These command get all files, including hidden files, in the current directory, but exclude subdirectories. The second command uses aliases and abbreviations, but has the same effect as the first.</maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
              </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText></command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
 
        <command:example>
            <maml:title>
                -------------------------- EXAMPLE 4 --------------------------
            </maml:title>
            <maml:introduction>
                <maml:para>C:\PS&gt;</maml:para>
            </maml:introduction>
              <dev:code>
dir -ad </dev:code>
                   <dev:remarks>
                                <maml:para>Description</maml:para>
                                <maml:para>-----------</maml:para>
                      <maml:para>This command gets the subdirectories in the current directory. It uses the &quot;dir&quot; alias of the Get-ChildItem cmdlet and the &quot;ad&quot; alias of the Directory parameter.</maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
              </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText></command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
 
        <command:example>
            <maml:title>
                -------------------------- EXAMPLE 5 --------------------------
            </maml:title>
            <maml:introduction>
                <maml:para>C:\PS&gt;</maml:para>
            </maml:introduction>
              <dev:code>
Get-ChildItem -File -Attributes !ReadOnly -path C:\ps-test </dev:code>
                   <dev:remarks>
                                <maml:para>Description</maml:para>
                                <maml:para>-----------</maml:para>
                      <maml:para>This command gets read-write files in the C:\ps-test directory.</maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
              </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText></command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
 
        <command:example>
            <maml:title>
                -------------------------- EXAMPLE 6 --------------------------
            </maml:title>
            <maml:introduction>
                <maml:para>C:\PS&gt;</maml:para>
            </maml:introduction>
              <dev:code>
get-childitem . -include *.txt -recurse -force </dev:code>
                   <dev:remarks>
                                <maml:para>Description</maml:para>
                                <maml:para>-----------</maml:para>
                      <maml:para>This command gets all of the .txt files in the current directory and its subdirectories.
 
The dot (.) represents the current directory. The Include parameter specifies the file name extension. The Recurse parameter directs Windows PowerShell to search for objects recursively, and it indicates that the subject of the command is the specified directory and its contents. The Force parameter adds hidden files to the display.
</maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
              </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText></command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
 
        <command:example>
            <maml:title>
                -------------------------- EXAMPLE 7 --------------------------
            </maml:title>
            <maml:introduction>
                <maml:para>C:\PS&gt;</maml:para>
            </maml:introduction>
              <dev:code>
get-childitem c:\windows\logs\* -include *.txt -exclude A* </dev:code>
                   <dev:remarks>
                                <maml:para>Description</maml:para>
                                <maml:para>-----------</maml:para>
                      <maml:para>This command gets the .txt files in the Logs subdirectory, except for those whose names start with the letter A. It uses the wildcard character (*) to indicate the contents of the Logs subdirectory, not the directory container. Because the command does not include the Recurse parameter, Get-ChildItem does not include the contents of the current directory automatically; you need to specify it.
</maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
              </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText></command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
 
        <command:example>
            <maml:title>
                -------------------------- EXAMPLE 8 --------------------------
            </maml:title>
            <maml:introduction>
                <maml:para>C:\PS&gt;</maml:para>
            </maml:introduction>
              <dev:code>
get-childitem -name </dev:code>
                   <dev:remarks>
                                <maml:para>Description</maml:para>
                                <maml:para>-----------</maml:para>
                      <maml:para>This command retrieves only the names of items in the current directory.</maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
              </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText></command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
    </command:examples>
    <!-- Link section -->
    <maml:relatedLinks>
        <maml:navigationLink>
            <maml:linkText>Online version:</maml:linkText>
            <maml:uri>http://technet.microsoft.com/library/hh847897(v=wps.630).aspx</maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Get-ChildItem (generic); http://go.microsoft.com/fwlink/?LinkID=113308</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>FileSystem Provider</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Clear-Content</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Get-Content</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Get-ChildItem</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Get-Content</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Get-Item</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Remove-Item</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Set-Content</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Test-Path</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
    </maml:relatedLinks>
</command:command>
 
<!-- v 1.3.0.36 -->
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
        <command:name>
                   Get-Content
        </command:name>
        <maml:description>
            <maml:para>Gets the contents of a file.</maml:para>
        </maml:description>
        <maml:copyright>
            <maml:para></maml:para>
        </maml:copyright>
        <command:verb>Get</command:verb>
        <command:noun>Content</command:noun>
        <dev:version></dev:version>
    </command:details>
    <maml:description>
        <maml:para>In file system drives, you can use the the Get-Content cmdlet to get content that you display at the command line, save in a variable for processing, or write to another file. It is not valid on folders.
 
Note: This custom cmdlet help file explains how the Get-Content cmdlet works in a file system drive. For information about the Get-Content cmdlet in all drives, type &quot;Get-Help Get-Content -Path $null&quot; or see Get-Content at http://go.microsoft.com/fwlink/?LinkID=113310. </maml:para>
    </maml:description>
    <!-- Cmdlet syntax section-->
    <command:syntax>
        <command:syntaxItem>
            <maml:name>Get-Content</maml:name>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Delimiter</maml:name>
                <maml:description>
                    <maml:para>Specifies the delimiter that Get-Content uses to divide the file into objects while it reads.
 
The default is &quot;\n&quot;, the end-of-line character.
 
Therefore, by default, when reading a text file, Get-Content returns a collection of string objects, each of which ends with an end-of-line character.
 
When you enter a delimiter that does not exist in the file, Get-Content returns the entire file as a single, undelimited object.
 
You can use this parameter to split a large file into smaller files by specifying a file separator, such as &quot;End of Example&quot;, as the delimiter. The delimiter is preserved (not discarded) and becomes the last item in each file section.
 
Delimiter is a dynamic parameter that the FileSystem provider adds to the Get-Content cmdlet. This parameter works only in file system drives.
 
Troubleshooting Note: Currently, when the value of the Delimiter parameter is an empty string, Get-Content does not return anything. This is a known issue. To force Get-Content to return the entire file as a single, undelimited string, enter a value that does not exist in the file.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">string</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Encoding</maml:name>
                <maml:description>
                    <maml:para>Specifies the file encoding. The default is ASCII.
 
Valid values are:
 
-- ASCII: Uses the encoding for the ASCII (7-bit) character set.
-- BigEndianUnicode: Encodes in UTF-16 format using the big-endian byte order.
-- Byte: Encodes a set of characters into a sequence of bytes.
-- String: Uses the encoding type for a string.
-- Unicode: Encodes in UTF-16 format using the little-endian byte order.
-- UTF7: Encodes in UTF-7 format.
-- UTF8: Encodes in UTF-8 format.
-- Unknown: The encoding type is unknown or invalid. The data can be treated as binary.
 
Encoding is a dynamic parameter that the FileSystem provider adds to the Get-Content cmdlet. This parameter works only in file system drives.
 
When reading from and writing to binary files, use a value of Byte for the Encoding dynamic parameter and a value of 0 for the ReadCount parameter. A ReadCount value of 0 reads the entire file in a single read operation and converts it into a single object (PSObject). The default ReadCount value, 1, reads one byte in each read operation and converts each byte into a separate object, which causes errors when you use the Set-Content cmdlet to write the bytes to a file. For more information, see the examples.</maml:para>
                </maml:description>
                <command:parameterValueGroup>
                <command:parameterValue required="false" variableLength="false" >Unknown</command:parameterValue>
                <command:parameterValue required="false" variableLength="false" >String</command:parameterValue>
                <command:parameterValue required="false" variableLength="false" >Unicode</command:parameterValue>
                <command:parameterValue required="false" variableLength="false" >Byte</command:parameterValue>
                <command:parameterValue required="false" variableLength="false" >BigEndianUnicode</command:parameterValue>
                <command:parameterValue required="false" variableLength="false" >UTF8</command:parameterValue>
                <command:parameterValue required="false" variableLength="false" >UTF7</command:parameterValue>
                <command:parameterValue required="false" variableLength="false" >UTF32</command:parameterValue>
                <command:parameterValue required="false" variableLength="false" >Ascii</command:parameterValue>
                <command:parameterValue required="false" variableLength="false" >Default</command:parameterValue>
                <command:parameterValue required="false" variableLength="false" >Oem</command:parameterValue>
                </command:parameterValueGroup>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Force</maml:name>
                <maml:description>
                    <maml:para>Gets the contents of all files, including hidden files. By default, Get-Content does not get the contents of hidden files unless you specify the hidden file by name.</maml:para>
                </maml:description>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Raw</maml:name>
                <maml:description>
                    <maml:para>Ignores newline characters and returns the entire contents of a file in one string. By default, the contents of a file is returned as a array of strings that is delimited by the newline character.
 
Raw is a dynamic parameter that the FileSystem provider adds to the Get-Content cmdlet. This parameter works only in file system drives.
 
This parameter is introduced in Windows PowerShell 3.0.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">switch</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Stream</maml:name>
                <maml:description>
                    <maml:para>Gets the contents of the specified alternate NTFS file stream from the file. Enter the stream name. Wildcards are not supported.
 
Stream is a dynamic parameter that the FileSystem provider adds to the Get-Content cmdlet. This parameter works only in file system drives.
 
This parameter is introduced in Windows PowerShell 3.0.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">string</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Wait</maml:name>
                <maml:description>
                    <maml:para>Waits for the cmdlet to get the content before returning the command prompt. While waiting, Get-Content checks the file once each second until you interrupt it, such as by pressing CTRL+C.
 
Wait is a dynamic parameter that the FileSystem provider adds to the Get-Content cmdlet. This parameter works only in file system drives.</maml:para>
                </maml:description>
            </command:parameter>
            <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named">
                <maml:name>UseTransaction</maml:name>
                <maml:description>
                <maml:para>Includes the command in the active transaction. This parameter is valid only when a transaction is in progress. For more information, see about_Transactions.</maml:para>
                </maml:description>
            </command:parameter>
        </command:syntaxItem>
    </command:syntax>
    <!-- Cmdlet parameter section -->
    <command:parameters>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>Encoding</maml:name>
            <maml:description>
                <maml:para>Specifies the file encoding. The default is ASCII.
 
Valid values are:
 
-- ASCII: Uses the encoding for the ASCII (7-bit) character set.
-- BigEndianUnicode: Encodes in UTF-16 format using the big-endian byte order.
-- Byte: Encodes a set of characters into a sequence of bytes.
-- String: Uses the encoding type for a string.
-- Unicode: Encodes in UTF-16 format using the little-endian byte order.
-- UTF7: Encodes in UTF-7 format.
-- UTF8: Encodes in UTF-8 format.
-- Unknown: The encoding type is unknown or invalid. The data can be treated as binary.
 
Encoding is a dynamic parameter that the FileSystem provider adds to the Get-Content cmdlet. This parameter works only in file system drives.
 
When reading from and writing to binary files, use a value of Byte for the Encoding dynamic parameter and a value of 0 for the ReadCount parameter. A ReadCount value of 0 reads the entire file in a single read operation and converts it into a single object (PSObject). The default ReadCount value, 1, reads one byte in each read operation and converts each byte into a separate object, which causes errors when you use the Set-Content cmdlet to write the bytes to a file. For more information, see the examples.</maml:para>
                                 
            </maml:description>
            <command:parameterValue required="true" variableLength="false">FileSystemCmdletProviderEncoding</command:parameterValue>
            <dev:type>
                <maml:name>FileSystemCmdletProviderEncoding</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue>ASCII</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>Delimiter</maml:name>
            <maml:description>
                <maml:para>Specifies the delimiter that Get-Content uses to divide the file into objects while it reads.
 
The default is &quot;\n&quot;, the end-of-line character.
 
Therefore, by default, when reading a text file, Get-Content returns a collection of string objects, each of which ends with an end-of-line character.
 
When you enter a delimiter that does not exist in the file, Get-Content returns the entire file as a single, undelimited object.
 
You can use this parameter to split a large file into smaller files by specifying a file separator, such as &quot;End of Example&quot;, as the delimiter. The delimiter is preserved (not discarded) and becomes the last item in each file section.
 
Delimiter is a dynamic parameter that the FileSystem provider adds to the Get-Content cmdlet. This parameter works only in file system drives.
 
Troubleshooting Note: Currently, when the value of the Delimiter parameter is an empty string, Get-Content does not return anything. This is a known issue. To force Get-Content to return the entire file as a single, undelimited string, enter a value that does not exist in the file.</maml:para>
                                 
            </maml:description>
            <command:parameterValue required="true" variableLength="false">string</command:parameterValue>
            <dev:type>
                <maml:name>string</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue>End-of-line character</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>Force</maml:name>
            <maml:description>
                <maml:para>Gets the contents of all files, including hidden files. By default, Get-Content does not get the contents of hidden files unless you specify the hidden file by name.</maml:para>
                                 
            </maml:description>
            <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            <dev:type>
                <maml:name>SwitchParameter</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>Raw</maml:name>
            <maml:description>
                <maml:para>Ignores newline characters and returns the entire contents of a file in one string. By default, the contents of a file is returned as a array of strings that is delimited by the newline character.
 
Raw is a dynamic parameter that the FileSystem provider adds to the Get-Content cmdlet. This parameter works only in file system drives.
 
This parameter is introduced in Windows PowerShell 3.0.</maml:para>
                                 
            </maml:description>
            <command:parameterValue required="true" variableLength="false">switch</command:parameterValue>
            <dev:type>
                <maml:name>switch</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>Wait</maml:name>
            <maml:description>
                <maml:para>Waits for the cmdlet to get the content before returning the command prompt. While waiting, Get-Content checks the file once each second until you interrupt it, such as by pressing CTRL+C.
 
Wait is a dynamic parameter that the FileSystem provider adds to the Get-Content cmdlet. This parameter works only in file system drives.</maml:para>
                                 
            </maml:description>
            <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            <dev:type>
                <maml:name>SwitchParameter</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>Stream</maml:name>
            <maml:description>
                <maml:para>Gets the contents of the specified alternate NTFS file stream from the file. Enter the stream name. Wildcards are not supported.
 
Stream is a dynamic parameter that the FileSystem provider adds to the Get-Content cmdlet. This parameter works only in file system drives.
 
This parameter is introduced in Windows PowerShell 3.0.</maml:para>
                                 
            </maml:description>
            <command:parameterValue required="true" variableLength="false">string</command:parameterValue>
            <dev:type>
                <maml:name>string</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
            <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named">
                <maml:name>UseTransaction</maml:name>
                <maml:description>
                <maml:para>Includes the command in the active transaction. This parameter is valid only when a transaction is in progress. For more information, see about_Transactions.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
                <dev:type>
                  <maml:name>SwitchParameter</maml:name>
                    <maml:uri />
                    </dev:type>
             <dev:defaultValue />
            </command:parameter>
    </command:parameters>
    <!-- Input - Output section-->
    <command:inputTypes>
        <command:inputType>
            <dev:type>
                <maml:name>System.Int64, System.String[], System.Management.Automation.PSCredential</maml:name>
                <maml:uri/>
                <maml:description />
            </dev:type>
            <maml:description>
                <maml:para>
                    <!-- description -->
                    You can pipe the read count, total count, paths, or credentials to Get-Content.
                </maml:para>
            </maml:description>
        </command:inputType>
    </command:inputTypes>
    <command:returnValues>
        <command:returnValue>
            <dev:type>
                <maml:name>System.Object, System.String</maml:name>
                <maml:uri />
                <maml:description />
            </dev:type>
            <maml:description>
                <maml:para>
                    <!-- description -->
                    Get-Content returns objects that represent the content that it gets. The object type depends on the content type. If you use the Stream parameter, the cmdlet returns the alternate data stream contents as a string.
                </maml:para>
            </maml:description>
        </command:returnValue>
    </command:returnValues>
    <!-- Error section-->
    <command:terminatingErrors />
    <command:nonTerminatingErrors />
        <!-- Notes section -->
    <maml:alertSet>
        <maml:title></maml:title>
        <maml:alert>
            <maml:para>
                           
                        </maml:para>
        </maml:alert>
        <maml:alert>
            <maml:para></maml:para>
        </maml:alert>
    </maml:alertSet>
    <!-- Example section -->
    <command:examples>
 
        <command:example>
            <maml:title>
                -------------------------- EXAMPLE 1 --------------------------
            </maml:title>
            <maml:introduction>
                <maml:para>C:\PS&gt;</maml:para>
            </maml:introduction>
              <dev:code>
Get-Content -Path C:\Chapters\chapter1.txt </dev:code>
                   <dev:remarks>
                                <maml:para>Description</maml:para>
                                <maml:para>-----------</maml:para>
                      <maml:para>This command gets the content of the Chapter1.txt file and displays it in the console. It uses the Path parameter to specify the name of the item.
 
Get-Content actually passes the content down the pipeline, but because there are no other cmdlets in the pipeline, Windows PowerShell formats the contents and displays it in the console.</maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
              </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText></command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
 
        <command:example>
            <maml:title>
                -------------------------- EXAMPLE 2 --------------------------
            </maml:title>
            <maml:introduction>
                <maml:para>C:\PS&gt;</maml:para>
            </maml:introduction>
              <dev:code>
Get-Content C:\Logs\Log060912.txt -TotalCount 50 | Set-Content Sample.txt </dev:code>
                   <dev:remarks>
                                <maml:para>Description</maml:para>
                                <maml:para>-----------</maml:para>
                      <maml:para>This command gets the first 50 lines of the Log060912.txt file and stores them in the sample.txt file.
 
The command uses the Get-Content cmdlet to get the text in the file. (The name of Path parameter, which is optional, is omitted.) The TotalCount parameter limits the retrieval to the first 50 lines. The pipeline operator (|) sends the result to Set-Content, which places it in the sample.txt file.</maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
              </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText></command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
 
        <command:example>
            <maml:title>
                -------------------------- EXAMPLE 3 --------------------------
            </maml:title>
            <maml:introduction>
                <maml:para>C:\PS&gt;</maml:para>
            </maml:introduction>
              <dev:code>
(Get-Content Cmdlets.txt -TotalCount 5)[-1] </dev:code>
                   <dev:remarks>
                                <maml:para>Description</maml:para>
                                <maml:para>-----------</maml:para>
                      <maml:para>This command gets the fifth line of the Cmdlets.txt text file. It uses the TotalCount parameter to get the first five lines and then uses array notation to get the last line (indicated by &quot;-1&quot;) of the resulting set.</maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
              </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText></command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
 
        <command:example>
            <maml:title>
                -------------------------- EXAMPLE 4 --------------------------
            </maml:title>
            <maml:introduction>
                <maml:para>C:\PS&gt;</maml:para>
            </maml:introduction>
              <dev:code>
Get-Content .\DataSets\*.csv -Delimiter &quot;*---*&quot; -Force -Encoding UTF8 </dev:code>
                   <dev:remarks>
                                <maml:para>Description</maml:para>
                                <maml:para>-----------</maml:para>
                      <maml:para>This command gets the contents of all CSV files in the DataSets subdirectory. It uses the Force parameter to get all files, including hidden files, and the Encoding parameter to specify the file encoding.
 
The command also uses the Delimiter parameter to divide the returned content into sets, each of which ends at the CSV file row that contains the &quot;*----*&quot; marker.</maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
              </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText></command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
 
        <command:example>
            <maml:title>
                -------------------------- EXAMPLE 5 --------------------------
            </maml:title>
            <maml:introduction>
                <maml:para>C:\PS&gt;</maml:para>
            </maml:introduction>
              <dev:code>
Get-Content .\Copy-Scripts.ps1 -Stream Zone.Identifier
 
[ZoneTransfer]
ZoneId=3 </dev:code>
                   <dev:remarks>
                                <maml:para>Description</maml:para>
                                <maml:para>-----------</maml:para>
                      <maml:para>This command uses the Stream parameter to get the content of the Zone.Identifier alternate data stream. The output includes Zone ID value of 3, which represents the Internet.
 
The Stream parameter is introduced in Windows PowerShell 3.0.</maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
              </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText></command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
 
        <command:example>
            <maml:title>
                -------------------------- EXAMPLE 6 --------------------------
            </maml:title>
            <maml:introduction>
                <maml:para>C:\PS&gt;</maml:para>
            </maml:introduction>
              <dev:code>
$Manifest = (Get-Module -List PSScheduledJob).Path
 
C:\PS&gt;$Hash = Invoke-Expression (Get-Content $Manifest -Raw)
 
C:\PS&gt;$Hash
 
Name Value
---- -----
Copyright &#169; Microsoft Corporation. All rights reserved.
ModuleToProcess Microsoft.PowerShell.ScheduledJob.dll
FormatsToProcess PSScheduledJob.Format.ps1xml
PowerShellVersion 3.0
CompanyName Microsoft Corporation
GUID 50cdb55f-5ab7-489f-9e94-4ec21ff51e59
Author Microsoft Corporation
CLRVersion 4.0
CmdletsToExport {New-JobTrigger, Add-JobTrigger, Remove-JobTrigger, Get-JobTrigger...}
TypesToProcess PSScheduledJob.types.ps1xml
HelpInfoURI http://go.microsoft.com/fwlink/?LinkID=223911
ModuleVersion 1.0.0.0
 
C:\PS&gt;$Hash.ModuleToProcess
Microsoft.PowerShell.ScheduledJob.dll </dev:code>
                   <dev:remarks>
                                <maml:para>Description</maml:para>
                                <maml:para>-----------</maml:para>
                      <maml:para>The commands in this example get the contents of a module manifest file (.psd1) as a hash table. The manifest file contains a hash table, but if you get the contents without the Raw dynamic parameter, it is returned as an array of newline-delimited strings.
 
The Raw dynamic parameter is introduced in Windows PowerShell 3.0.
 
The first command uses the Path property of modules to get the path to the file that contains the module manifest for the PSScheduledJob module. It saves the path in the $Manifest variable.
 
The second command uses the Invoke-Expression cmdlet to run a Get-Content command and the Raw dynamic parameter of the Get-Content cmdlet to get the contents of the module manifest file in a single string. The command saves the hash table in the $Hash variable.
 
The third command gets the hash table in the Hash variable. The contents is returned as a collection of name-value pairs.
 
The fourth command uses the ModuleToProcess property of the hash table to get the value of the ModuleToProcess key in the module manifest.
 
</maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
              </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText></command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
 
        <command:example>
            <maml:title>
                -------------------------- EXAMPLE 7 --------------------------
            </maml:title>
            <maml:introduction>
                <maml:para>C:\PS&gt;</maml:para>
            </maml:introduction>
              <dev:code>
$a = Get-Content -Path .\Download.zip -Encoding Byte -ReadCount 0
 
Set-Content -Path \\Server\Share\Download.zip -Encoding Byte -Value $a
 
 
$b = Get-Content -Path .\Download.zip -Encoding Byte
Set-Content -Path \\Server\Share\Download.zip -Encoding Byte -Value $b
 
Set-Content : Cannot proceed with byte encoding. When using byte encoding the content must be of type byte.
At line:1 char:1
+ Set-Content \\Server\Share\Download.zip -Encoding Byte -Value $b
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidArgument: (:) [Set-Content], PSArgumentException
    + FullyQualifiedErrorId : Argument,Microsoft.PowerShell.Commands.SetContentCommand
                        </dev:code>
                   <dev:remarks>
                                <maml:para>Description</maml:para>
                                <maml:para>-----------</maml:para>
                      <maml:para>This example shows how to use the ReadCount parameter of the Get-Content cmdlet with a value of 0 to avoid byte-related errors when using the Set-Content cmdlet to write the bytes to a file.
 
When getting the content of a file in bytes, Get-Content creates an object (PSObject) for the bytes in each read operation. If you read the bytes one at a time, which is the default, Get-Content creates an object for each byte. The objects cause errors when you use the Set-Content cmdlet to write the bytes to a file.
 
The first command uses the Get-Content cmdlet to get the contents of the Download.zip file and save it in the $a variable. The command uses the Encoding dynamic parameter with a value of Byte. It also uses the ReadCount parameter with a value of 0, which directs Get-Content to get the file contents in a single read operation. The default value of the ReadCount parameter, 1, gets one byte at a time.
 
The second command uses the Set-Content cmdlet to write the bytes in the $a variable to the Download.zip file on a file share. The command succeeds.
 
The third and fourth commands show the same sequence without the ReadCount parameter.
 
The third command uses the Encoding dynamic parameter of the Get-Content cmdlet to get the contents of the Download.zip file and save it in the $b variable. Because the command omits the ReadCount parameter, it uses the default value of 1.
 
The fourth command uses the Set-Content cmdlet to write the bytes in the $b variable to the Download.zip file on a file share. Because the content is a collection of objects, rather than a single object that contains a byte array, the command fails.
</maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
              </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText></command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
    </command:examples>
    <!-- Link section -->
    <maml:relatedLinks>
        <maml:navigationLink>
            <maml:linkText>Online version:</maml:linkText>
            <maml:uri>http://technet.microsoft.com/library/hh847788(v=wps.630).aspx</maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Get-Content (generic); http://go.microsoft.com/fwlink/?LinkID=113310</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>FileSystem Provider</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Clear-Content</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Get-Content</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Get-ChildItem</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Get-Content</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Get-Item</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Remove-Item</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Set-Content</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Test-Path</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
    </maml:relatedLinks>
</command:command>
 
<!-- v 1.3.0.36 -->
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
        <command:name>
                   Get-Item
        </command:name>
        <maml:description>
            <maml:para>Gets files and folders.</maml:para>
        </maml:description>
        <maml:copyright>
            <maml:para></maml:para>
        </maml:copyright>
        <command:verb>Get</command:verb>
        <command:noun>Item</command:noun>
        <dev:version></dev:version>
    </command:details>
    <maml:description>
        <maml:para>In the file system, the Get-Item cmdlet gets files and folders.
 
Note: This custom cmdlet help file explains how the Get-Item cmdlet works in a file system drive. For information about the Get-Item cmdlet in all drives, type &quot;Get-Help Get-Item -Path $null&quot; or see Get-Item at http://go.microsoft.com/fwlink/?LinkID=113319. </maml:para>
    </maml:description>
    <!-- Cmdlet syntax section-->
    <command:syntax>
        <command:syntaxItem>
            <maml:name>Get-Item</maml:name>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Stream</maml:name>
                <maml:description>
                    <maml:para>Gets the specified alternate NTFS file stream from the file. Enter the stream name. Wildcards are supported. To get all streams, use an asterisk (*). This parameter is not valid on folders.
 
Stream is a dynamic parameter that the FileSystem provider adds to the Get-Item cmdlet. This parameter works only in file system drives.
 
This parameter is introduced in Windows PowerShell 3.0.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">string</command:parameterValue>
            </command:parameter>
        </command:syntaxItem>
    </command:syntax>
    <!-- Cmdlet parameter section -->
    <command:parameters>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>Stream</maml:name>
            <maml:description>
                <maml:para>Gets the specified alternate NTFS file stream from the file. Enter the stream name. Wildcards are supported. To get all streams, use an asterisk (*). This parameter is not valid on folders.
 
Stream is a dynamic parameter that the FileSystem provider adds to the Get-Item cmdlet. This parameter works only in file system drives.
 
This parameter is introduced in Windows PowerShell 3.0.</maml:para>
                                 
            </maml:description>
            <command:parameterValue required="true" variableLength="false">string</command:parameterValue>
            <dev:type>
                <maml:name>string</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue>No alternate file streams</dev:defaultValue>
        </command:parameter>
    </command:parameters>
    <!-- Input - Output section-->
    <command:inputTypes>
        <command:inputType>
            <dev:type>
                <maml:name>System.String[ ]</maml:name>
                <maml:uri/>
                <maml:description />
            </dev:type>
            <maml:description>
                <maml:para>
                    <!-- description -->
                    You can pipe a path to the Get-Item cmdlet.
                </maml:para>
            </maml:description>
        </command:inputType>
    </command:inputTypes>
    <command:returnValues>
        <command:returnValue>
            <dev:type>
                <maml:name>System.IO.FileInfo, System.IO.DirectoryInfo, Microsoft.PowerShell.Commands.AlternateStreamData</maml:name>
                <maml:uri />
                <maml:description />
            </dev:type>
            <maml:description>
                <maml:para>
                    <!-- description -->
                    In the file system, Get-Item returns files and folders. If you use the Stream parameter, it returns AlternateStreamData objects.
 
                </maml:para>
            </maml:description>
        </command:returnValue>
    </command:returnValues>
    <!-- Error section-->
    <command:terminatingErrors />
    <command:nonTerminatingErrors />
        <!-- Notes section -->
    <maml:alertSet>
        <maml:title></maml:title>
        <maml:alert>
            <maml:para>
                           
                        </maml:para>
        </maml:alert>
        <maml:alert>
            <maml:para></maml:para>
        </maml:alert>
    </maml:alertSet>
    <!-- Example section -->
    <command:examples>
 
        <command:example>
            <maml:title>
                -------------------------- EXAMPLE 1 --------------------------
            </maml:title>
            <maml:introduction>
                <maml:para>C:\PS&gt;</maml:para>
            </maml:introduction>
              <dev:code>
Get-Item C:\Users\User01\Downloads\InternetFile.docx -Stream *
 
   FileName: C:\Users\User01\Downloads\InternetFile.docx
 
Stream Length
------ ------
:$DATA 45056
Zone.Identifier 26 </dev:code>
                   <dev:remarks>
                                <maml:para>Description</maml:para>
                                <maml:para>-----------</maml:para>
                      <maml:para>This command gets all stream data from a file that was downloaded from the Internet. The Zone.Identifier stream identifies a file that originated on the Internet. The $DATA stream is the default.
 
The Stream parameter is introduced in Windows PowerShell 3.0.</maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
              </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText></command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
 
        <command:example>
            <maml:title>
                -------------------------- EXAMPLE 2 --------------------------
            </maml:title>
            <maml:introduction>
                <maml:para>C:\PS&gt;</maml:para>
            </maml:introduction>
              <dev:code>
Get-Item C:\ps-test\* -Stream Zone.Identifier -ErrorAction SilentlyContinue
 
 
   FileName: C:\ps-test\Copy-Script.ps1
 
Stream Length
------ ------
Zone.Identifier 26
 
 
   FileName: C:\ps-test\Start-ActivityTracker.ps1
 
Stream Length
------ ------
Zone.Identifier 26
                        </dev:code>
                   <dev:remarks>
                                <maml:para>Description</maml:para>
                                <maml:para>-----------</maml:para>
                      <maml:para>This command gets Zone.Identifier stream data from all files in the C:\ps-test directory. The command uses the Stream parameter to specify the alternate stream and he ErrorAction parameter with a value of SilentlyContinue to suppress non-terminating errors that are generated when a file has no alternate data streams.
 
The Stream parameter is introduced in Windows PowerShell 3.0.</maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
              </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText></command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
 
        <command:example>
            <maml:title>
                -------------------------- EXAMPLE 3 --------------------------
            </maml:title>
            <maml:introduction>
                <maml:para>C:\PS&gt;</maml:para>
            </maml:introduction>
              <dev:code>
Get-Item .
 
Directory: C:\
 
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 7/26/2006 10:01 AM ps-test </dev:code>
                   <dev:remarks>
                                <maml:para>Description</maml:para>
                                <maml:para>-----------</maml:para>
                      <maml:para>This command gets the current directory. The dot (.) represents the item at the current location (not its contents).</maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
              </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText></command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
 
        <command:example>
            <maml:title>
                -------------------------- EXAMPLE 4 --------------------------
            </maml:title>
            <maml:introduction>
                <maml:para>C:\PS&gt;</maml:para>
            </maml:introduction>
              <dev:code>
Get-Item *
 
Directory: C:\ps-test
 
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 7/26/2006 9:29 AM Logs
d---- 7/26/2006 9:26 AM Recs
-a--- 7/26/2006 9:28 AM 80 date.csv
-a--- 7/26/2006 10:01 AM 30 filenoext
-a--- 7/26/2006 9:30 AM 11472 process.doc
-a--- 7/14/2006 10:47 AM 30 test.txt </dev:code>
                   <dev:remarks>
                                <maml:para>Description</maml:para>
                                <maml:para>-----------</maml:para>
                      <maml:para>This command gets the current directory of the C: drive. The object that is retrieved represents only the directory, not its contents.</maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
              </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText></command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
 
        <command:example>
            <maml:title>
                -------------------------- EXAMPLE 5 --------------------------
            </maml:title>
            <maml:introduction>
                <maml:para>C:\PS&gt;</maml:para>
            </maml:introduction>
              <dev:code>
Get-Item C:\ </dev:code>
                   <dev:remarks>
                                <maml:para>Description</maml:para>
                                <maml:para>-----------</maml:para>
                      <maml:para>This command gets the items in the C: drive. The wildcard character (*) represents all the items in the container, not just the container.
 
In Windows PowerShell, use a single asterisk (*) to get contents, instead of the traditional &quot;*.*&quot;. The format is interpreted literally, so &quot;*.*&quot; would not retrieve directories or file names without a dot.</maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
              </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText></command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
 
        <command:example>
            <maml:title>
                -------------------------- EXAMPLE 6 --------------------------
            </maml:title>
            <maml:introduction>
                <maml:para>C:\PS&gt;</maml:para>
            </maml:introduction>
              <dev:code>
(Get-Item C:\Windows).LastAccessTime </dev:code>
                   <dev:remarks>
                                <maml:para>Description</maml:para>
                                <maml:para>-----------</maml:para>
                      <maml:para>This command gets the LastAccessTime property of the C:\Windows directory. LastAccessTime is just one property of file system directories. To see all of the properties of a directory, type &quot;(Get-Item &lt;directory-name&gt;) | Get-Member&quot;.</maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
              </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText></command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
 
        <command:example>
            <maml:title>
                -------------------------- EXAMPLE 7 --------------------------
            </maml:title>
            <maml:introduction>
                <maml:para>C:\PS&gt;</maml:para>
            </maml:introduction>
              <dev:code>
Get-Item C:\Windows\*.* -Exclude w* </dev:code>
                   <dev:remarks>
                                <maml:para>Description</maml:para>
                                <maml:para>-----------</maml:para>
                      <maml:para>This command gets items in the Windows directory with names that include a dot (.), but do not begin with w*. This command works only when the path includes a wildcard character (*) to specify the contents of the item.</maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
              </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText></command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
    </command:examples>
    <!-- Link section -->
    <maml:relatedLinks>
        <maml:navigationLink>
            <maml:linkText>Online version:</maml:linkText>
            <maml:uri>http://technet.microsoft.com/library/jj628239(v=wps.630).aspx</maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Get-Item (generic); http://go.microsoft.com/fwlink/?LinkID=113319</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>FileSystem Provider</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Add-Content</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Clear-Content</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Get-Content</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Get-ChildItem</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Get-Content</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Get-Item</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Remove-Item</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Set-Content</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Test-Path</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
    </maml:relatedLinks>
</command:command>
 
<!-- v 1.3.0.36 -->
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
        <command:name>
                   Remove-Item
        </command:name>
        <maml:description>
            <maml:para>Deletes files and folders.</maml:para>
        </maml:description>
        <maml:copyright>
            <maml:para></maml:para>
        </maml:copyright>
        <command:verb>Remove</command:verb>
        <command:noun>Item</command:noun>
        <dev:version></dev:version>
    </command:details>
    <maml:description>
        <maml:para>In file system drives, the Remove-Item cmdlet deletes files and folders.
 
If you use the Stream dynamic parameter, it deletes the specified alternate data stream, but does not delete the file.
 
Note: This custom cmdlet help file explains how the Remove-Item cmdlet works in a file system drive. For information about the Remove-Item cmdlet in all drives, type &quot;Get-Help Remove-Item -Path $null&quot; or see Remove-Item at http://go.microsoft.com/fwlink/?LinkID=113373. </maml:para>
    </maml:description>
    <!-- Cmdlet syntax section-->
    <command:syntax>
        <command:syntaxItem>
            <maml:name>Remove-Item</maml:name>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Stream</maml:name>
                <maml:description>
                    <maml:para>Deletes the specified alternate data stream from a file, but does not delete the file. Enter the stream name. Wildcards are supported. This parameter is not valid on folders.
 
Stream is a dynamic parameter that the FileSystem provider adds to the Remove-Item cmdlet. This parameter works only in file system drives.
 
You can use the Remove-Item cmdlet to delete an alternate data stream. However, it is not the recommended way to eliminate security checks that block files that are downloaded from the Internet. If you verify that a downloaded file is safe, use the Unblock-File cmdlet.
 
This parameter is introduced in Windows PowerShell 3.0.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">string</command:parameterValue>
            </command:parameter>
        </command:syntaxItem>
    </command:syntax>
    <!-- Cmdlet parameter section -->
    <command:parameters>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>Stream</maml:name>
            <maml:description>
                <maml:para>Deletes the specified alternate data stream from a file, but does not delete the file. Enter the stream name. Wildcards are supported. This parameter is not valid on folders.
 
Stream is a dynamic parameter that the FileSystem provider adds to the Remove-Item cmdlet. This parameter works only in file system drives.
 
You can use the Remove-Item cmdlet to delete an alternate data stream. However, it is not the recommended way to eliminate security checks that block files that are downloaded from the Internet. If you verify that a downloaded file is safe, use the Unblock-File cmdlet.
 
This parameter is introduced in Windows PowerShell 3.0.</maml:para>
                                 
            </maml:description>
            <command:parameterValue required="true" variableLength="false">string</command:parameterValue>
            <dev:type>
                <maml:name>string</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
    </command:parameters>
    <!-- Input - Output section-->
    <command:inputTypes>
        <command:inputType>
            <dev:type>
                <maml:name></maml:name>
                <maml:uri/>
                <maml:description />
            </dev:type>
            <maml:description>
                <maml:para>
                    <!-- description -->
                     
                </maml:para>
            </maml:description>
        </command:inputType>
    </command:inputTypes>
    <command:returnValues>
        <command:returnValue>
            <dev:type>
                <maml:name></maml:name>
                <maml:uri />
                <maml:description />
            </dev:type>
            <maml:description>
                <maml:para>
                    <!-- description -->
                     
                </maml:para>
            </maml:description>
        </command:returnValue>
    </command:returnValues>
    <!-- Error section-->
    <command:terminatingErrors />
    <command:nonTerminatingErrors />
        <!-- Notes section -->
    <maml:alertSet>
        <maml:title></maml:title>
        <maml:alert>
            <maml:para>
                           
                        </maml:para>
        </maml:alert>
        <maml:alert>
            <maml:para></maml:para>
        </maml:alert>
    </maml:alertSet>
    <!-- Example section -->
    <command:examples>
 
        <command:example>
            <maml:title>
                -------------------------- EXAMPLE 1 --------------------------
            </maml:title>
            <maml:introduction>
                <maml:para>C:\PS&gt;</maml:para>
            </maml:introduction>
              <dev:code>
Get-Item C:\Test\Copy-Script.ps1 -Stream Zone.Identifier
 
 
   FileName: \\C:\Test\Copy-Script.ps1
 
Stream Length
------ ------
Zone.Identifier 26
 
 
C:\PS&gt;Remove-Item C:\Test\Copy-Script.ps1 -Stream Zone.Identifier
 
C:\PS&gt;Get-Item C:\Test\Copy-Script.ps1 -Stream Zone.Identifier
 
get-item : Could not open alternate data stream &#39;Zone.Identifier&#39; of file &#39;C:\Test\Copy-Script.ps1&#39;.
At line:1 char:1
+ get-item &#39;C:\Test\Copy-Script.ps1&#39; -Stream Zone.Identifier
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : ObjectNotFound: (C:\Test\Copy-Script.ps1:String) [Get-Item], FileNotFoundE
   xception
    + FullyQualifiedErrorId : AlternateDataStreamNotFound,Microsoft.PowerShell.Commands.GetItemCommand
 
 
C:\PS&gt;Get-Item C:\Test\Copy-Script.ps1
 
 
    Directory: C:\Test
 
 
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 8/4/2011 11:15 AM 9436 Copy-Script.ps1 </dev:code>
                   <dev:remarks>
                                <maml:para>Description</maml:para>
                                <maml:para>-----------</maml:para>
                      <maml:para>This example shows how to use the Stream dynamic parameter of the Remove-Item cmdlet to delete an alternate data stream. The stream parameter is introduced in Windows PowerShell 3.0.
 
The first command uses the Stream dynamic parameter of the Get-Item cmdlet to get the Zone.Identifier stream of the Copy-Script.ps1 file.
 
The second command uses the Stream dynamic parameter of the Remove-Item cmdlet to remove the Zone.Identifier stream of the file.
 
The third command uses the Stream dynamic parameter of the Get-Item cmdlet to verify that the Zone.Identifier stream is deleted.
 
The fourth command Get-Item cmdlet without the Stream parameter to verify that the file is not deleted.
 
</maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
              </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText></command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
 
        <command:example>
            <maml:title>
                -------------------------- EXAMPLE 2 --------------------------
            </maml:title>
            <maml:introduction>
                <maml:para>C:\PS&gt;</maml:para>
            </maml:introduction>
              <dev:code>
Remove-Item C:\Test\*.* </dev:code>
                   <dev:remarks>
                                <maml:para>Description</maml:para>
                                <maml:para>-----------</maml:para>
                      <maml:para>This command deletes all of the files with names that include a dot (.) from the C:\Test directory. Because the command specifies a dot, the command does not delete directories or files with no file name extension.</maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
              </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText></command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
 
        <command:example>
            <maml:title>
                -------------------------- EXAMPLE 3 --------------------------
            </maml:title>
            <maml:introduction>
                <maml:para>C:\PS&gt;</maml:para>
            </maml:introduction>
              <dev:code>
Remove-Item * -Include *.doc -Exclude *1* </dev:code>
                   <dev:remarks>
                                <maml:para>Description</maml:para>
                                <maml:para>-----------</maml:para>
                      <maml:para>This command deletes from the current directory all files with a .doc file name extension and a name that does not include &quot;1&quot;. It uses the wildcard character (*) to specify the contents of the current directory. It uses the Include and Exclude parameters to specify the files to delete.</maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
              </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText></command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
 
        <command:example>
            <maml:title>
                -------------------------- EXAMPLE 4 --------------------------
            </maml:title>
            <maml:introduction>
                <maml:para>C:\PS&gt;</maml:para>
            </maml:introduction>
              <dev:code>
Remove-Item -Path C:\Test\hidden-RO-file.txt -Force </dev:code>
                   <dev:remarks>
                                <maml:para>Description</maml:para>
                                <maml:para>-----------</maml:para>
                      <maml:para>This command deletes a file that is both hidden and read-only. It uses the Path parameter to specify the file. It uses the Force parameter to give permission to delete it. Without Force, you cannot delete read-only or hidden files.</maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
              </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText></command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
 
        <command:example>
            <maml:title>
                -------------------------- EXAMPLE 5 --------------------------
            </maml:title>
            <maml:introduction>
                <maml:para>C:\PS&gt;</maml:para>
            </maml:introduction>
              <dev:code>
Get-ChildItem * -Include *.csv -Recurse | Remove-Item </dev:code>
                   <dev:remarks>
                                <maml:para>Description</maml:para>
                                <maml:para>-----------</maml:para>
                      <maml:para>This command deletes all of the CSV files in the current directory and all subdirectories recursively.
 
Because the Recurse parameter in this cmdlet is faulty, the command uses the Get-Childitem cmdlet to get the desired files, and it uses the pipeline operator to pass them to the Remove-Item cmdlet.
 
In the Get-ChildItem command, the Path parameter has a value of *, which represents the contents of the current directory. It uses the Include parameter to specify the CSV file type, and it uses the Recurse parameter to make the retrieval recursive.
 
If you try to specify the file type in the path, such as &quot;-path *.csv&quot;, the cmdlet interprets the subject of the search to be a file that has no child items, and Recurse fails.</maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
              </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText></command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
    </command:examples>
    <!-- Link section -->
    <maml:relatedLinks>
        <maml:navigationLink>
            <maml:linkText>Online version:</maml:linkText>
            <maml:uri>http://technet.microsoft.com/library/jj628241(v=wps.630).aspx</maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Remove-Item (generic); http://go.microsoft.com/fwlink/?LinkID=113373</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>FileSystem Provider</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Clear-Content</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Get-Content</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Get-ChildItem</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Get-Content</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Get-Item</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Remove-Item</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Set-Content</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Test-Path</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
    </maml:relatedLinks>
</command:command>
 
<!-- v 1.3.0.36 -->
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
        <command:name>
                   Set-Content
        </command:name>
        <maml:description>
            <maml:para>Replaces the contents of a file with contents that you specify.
</maml:para>
        </maml:description>
        <maml:copyright>
            <maml:para></maml:para>
        </maml:copyright>
        <command:verb>Set</command:verb>
        <command:noun>Content</command:noun>
        <dev:version></dev:version>
    </command:details>
    <maml:description>
        <maml:para>In file system drives, the Set-Content cmdlet overwrites or replaces the content of one or more files with the content that you specify. This cmdlet is not valid on folders.
 
Note: This custom cmdlet help file explains how the Set-Content cmdlet works in a file system drive. For information about the Set-Content cmdlet in all drives, type &quot;Get-Help Set-Content -Path $null&quot; or see Set-Content at http://go.microsoft.com/fwlink/?LinkID=113392. </maml:para>
    </maml:description>
    <!-- Cmdlet syntax section-->
    <command:syntax>
        <command:syntaxItem>
            <maml:name>Set-Content</maml:name>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Encoding</maml:name>
                <maml:description>
                    <maml:para>Specifies the file encoding. The default is ASCII.
 
Valid values are:
 
-- ASCII: Uses the encoding for the ASCII (7-bit) character set.
-- BigEndianUnicode: Encodes in UTF-16 format using the big-endian byte order.
-- Byte: Encodes a set of characters into a sequence of bytes.
-- String: Uses the encoding type for a string.
-- Unicode: Encodes in UTF-16 format using the little-endian byte order.
-- UTF7: Encodes in UTF-7 format.
-- UTF8: Encodes in UTF-8 format.
-- Unknown: The encoding type is unknown or invalid. The data can be treated as binary.
 
Encoding is a dynamic parameter that the FileSystem provider adds to the Set-Content cmdlet. This parameter works only in file system drives.</maml:para>
                </maml:description>
                <command:parameterValueGroup>
                <command:parameterValue required="false" variableLength="false" >Unknown</command:parameterValue>
                <command:parameterValue required="false" variableLength="false" >String</command:parameterValue>
                <command:parameterValue required="false" variableLength="false" >Unicode</command:parameterValue>
                <command:parameterValue required="false" variableLength="false" >Byte</command:parameterValue>
                <command:parameterValue required="false" variableLength="false" >BigEndianUnicode</command:parameterValue>
                <command:parameterValue required="false" variableLength="false" >UTF8</command:parameterValue>
                <command:parameterValue required="false" variableLength="false" >UTF7</command:parameterValue>
                <command:parameterValue required="false" variableLength="false" >UTF32</command:parameterValue>
                <command:parameterValue required="false" variableLength="false" >Ascii</command:parameterValue>
                <command:parameterValue required="false" variableLength="false" >Default</command:parameterValue>
                <command:parameterValue required="false" variableLength="false" >Oem</command:parameterValue>
                </command:parameterValueGroup>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Force</maml:name>
                <maml:description>
                    <maml:para>Replaces the contents of a file, even if the file is read-only. Without this parameter, read-only files are not changed.</maml:para>
                </maml:description>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Stream</maml:name>
                <maml:description>
                    <maml:para>Creates or replaces the content in the specified alternate data stream. If the stream does not yet exist, Set-Content creates it. Enter the stream name. Wildcards are not supported.
 
Stream is a dynamic parameter that the FileSystem provider adds to the Set-Content cmdlet. This parameter works only in file system drives.
 
You can use the Set-Content cmdlet to change the content of the Zone.Identifier alternate data stream. However, it is not the recommended way to eliminate security checks that block files that are downloaded from the Internet. If you verify that a downloaded file is safe, use the Unblock-File cmdlet.
 
This parameter is introduced in Windows PowerShell 3.0.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">string</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named">
                <maml:name>Confirm</maml:name>
                <maml:description>
                <maml:para>Prompts you for confirmation before executing the command.</maml:para>
                </maml:description>
            </command:parameter>
            <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named">
                <maml:name>WhatIf</maml:name>
                <maml:description>
                <maml:para>Describes what would happen if you executed the command without actually executing the command.</maml:para>
                </maml:description>
            </command:parameter>
            <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named">
                <maml:name>UseTransaction</maml:name>
                <maml:description>
                <maml:para>Includes the command in the active transaction. This parameter is valid only when a transaction is in progress. For more information, see about_Transactions.</maml:para>
                </maml:description>
            </command:parameter>
        </command:syntaxItem>
    </command:syntax>
    <!-- Cmdlet parameter section -->
    <command:parameters>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>Encoding</maml:name>
            <maml:description>
                <maml:para>Specifies the file encoding. The default is ASCII.
 
Valid values are:
 
-- ASCII: Uses the encoding for the ASCII (7-bit) character set.
-- BigEndianUnicode: Encodes in UTF-16 format using the big-endian byte order.
-- Byte: Encodes a set of characters into a sequence of bytes.
-- String: Uses the encoding type for a string.
-- Unicode: Encodes in UTF-16 format using the little-endian byte order.
-- UTF7: Encodes in UTF-7 format.
-- UTF8: Encodes in UTF-8 format.
-- Unknown: The encoding type is unknown or invalid. The data can be treated as binary.
 
Encoding is a dynamic parameter that the FileSystem provider adds to the Set-Content cmdlet. This parameter works only in file system drives.</maml:para>
                                 
            </maml:description>
            <command:parameterValue required="true" variableLength="false">FileSystemCmdletProviderEncoding</command:parameterValue>
            <dev:type>
                <maml:name>FileSystemCmdletProviderEncoding</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue>ASCII</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>Force</maml:name>
            <maml:description>
                <maml:para>Replaces the contents of a file, even if the file is read-only. Without this parameter, read-only files are not changed.</maml:para>
                                 
            </maml:description>
            <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            <dev:type>
                <maml:name>SwitchParameter</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>Stream</maml:name>
            <maml:description>
                <maml:para>Creates or replaces the content in the specified alternate data stream. If the stream does not yet exist, Set-Content creates it. Enter the stream name. Wildcards are not supported.
 
Stream is a dynamic parameter that the FileSystem provider adds to the Set-Content cmdlet. This parameter works only in file system drives.
 
You can use the Set-Content cmdlet to change the content of the Zone.Identifier alternate data stream. However, it is not the recommended way to eliminate security checks that block files that are downloaded from the Internet. If you verify that a downloaded file is safe, use the Unblock-File cmdlet.
 
This parameter is introduced in Windows PowerShell 3.0.</maml:para>
                                 
            </maml:description>
            <command:parameterValue required="true" variableLength="false">string</command:parameterValue>
            <dev:type>
                <maml:name>string</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
            <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named">
                <maml:name>Confirm</maml:name>
                <maml:description>
                <maml:para>Prompts you for confirmation before executing the command.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
                <dev:type>
                  <maml:name>SwitchParameter</maml:name>
                    <maml:uri />
                    </dev:type>
             <dev:defaultValue />
            </command:parameter>
            <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named">
                <maml:name>WhatIf</maml:name>
                <maml:description>
                <maml:para>Describes what would happen if you executed the command without actually executing the command.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
                <dev:type>
                  <maml:name>SwitchParameter</maml:name>
                    <maml:uri />
                    </dev:type>
             <dev:defaultValue />
            </command:parameter>
            <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named">
                <maml:name>UseTransaction</maml:name>
                <maml:description>
                <maml:para>Includes the command in the active transaction. This parameter is valid only when a transaction is in progress. For more information, see about_Transactions.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
                <dev:type>
                  <maml:name>SwitchParameter</maml:name>
                    <maml:uri />
                    </dev:type>
             <dev:defaultValue />
            </command:parameter>
    </command:parameters>
    <!-- Input - Output section-->
    <command:inputTypes>
        <command:inputType>
            <dev:type>
                <maml:name>System.Object[], System.String[], System.Management.Automation.PSCredential</maml:name>
                <maml:uri/>
                <maml:description />
            </dev:type>
            <maml:description>
                <maml:para>
                    <!-- description -->
                    You can pipe a value (object), a path, or a credential object to Set-Content
                </maml:para>
            </maml:description>
        </command:inputType>
    </command:inputTypes>
    <command:returnValues>
        <command:returnValue>
            <dev:type>
                <maml:name>None or System.String</maml:name>
                <maml:uri />
                <maml:description />
            </dev:type>
            <maml:description>
                <maml:para>
                    <!-- description -->
                    When you use the Passthru parameter, Set-Content generates a System.String object representing the content. Otherwise, this cmdlet does not generate any output.
                </maml:para>
            </maml:description>
        </command:returnValue>
    </command:returnValues>
    <!-- Error section-->
    <command:terminatingErrors />
    <command:nonTerminatingErrors />
        <!-- Notes section -->
    <maml:alertSet>
        <maml:title></maml:title>
        <maml:alert>
            <maml:para>
                           
                        </maml:para>
        </maml:alert>
        <maml:alert>
            <maml:para></maml:para>
        </maml:alert>
    </maml:alertSet>
    <!-- Example section -->
    <command:examples>
 
        <command:example>
            <maml:title>
                -------------------------- EXAMPLE 1 --------------------------
            </maml:title>
            <maml:introduction>
                <maml:para>C:\PS&gt;</maml:para>
            </maml:introduction>
              <dev:code>
Set-Content -Path C:\Test1\test*.txt -Value &quot;Hello, World&quot; </dev:code>
                   <dev:remarks>
                                <maml:para>Description</maml:para>
                                <maml:para>-----------</maml:para>
                      <maml:para>This command replaces the contents of all files in the Test1 directory that have names beginning with &quot;test&quot; with &quot;Hello, World&quot;. This example shows how to specify content by typing it in the command.
 
</maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
              </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText></command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
 
        <command:example>
            <maml:title>
                -------------------------- EXAMPLE 2 --------------------------
            </maml:title>
            <maml:introduction>
                <maml:para>C:\PS&gt;</maml:para>
            </maml:introduction>
              <dev:code>
Get-Date | Set-Content C:\Test1\date.csv </dev:code>
                   <dev:remarks>
                                <maml:para>Description</maml:para>
                                <maml:para>-----------</maml:para>
                      <maml:para>This command creates a comma-separated variable-length (csv) file that contains only the current date and time. It uses the Get-Date cmdlet to get the current system date and time. The pipeline operator passes the result to Set-Content, which creates the file and writes the content.
 
If the Test1 directory does not exist, the command fails, but if the file does not exist, the command will create it.
 
</maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
              </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText></command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
 
        <command:example>
            <maml:title>
                -------------------------- EXAMPLE 3 --------------------------
            </maml:title>
            <maml:introduction>
                <maml:para>C:\PS&gt;</maml:para>
            </maml:introduction>
              <dev:code>
Get-Content Notice.txt | ForEach-Object {$_ -replace &quot;Warning&quot;, &quot;Caution&quot;} | Set-Content Notice.txt </dev:code>
                   <dev:remarks>
                                <maml:para>Description</maml:para>
                                <maml:para>-----------</maml:para>
                      <maml:para>This command replaces all instances of &quot;Warning&quot; with &quot;Caution&quot; in the Notice.txt file.
 
It uses the Get-Content cmdlet to get the content of Notice.txt. The pipeline operator sends the results to the ForEach-Object cmdlet, which applies the expression to each line of content in Get-Content. The expression uses the &quot;$_&quot; symbol to refer to the current item and the Replace parameter to specify the text to be replaced.
 
Another pipeline operator sends the changed content to Set-Content which replaces the text in Notice.txt with the new content.
 
The parentheses around the Get-Content command ensure that the Get operation is complete before the Set operation begins. Without them, the command will fail because the two functions will be trying to access the same file.</maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
              </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText></command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
 
        <command:example>
            <maml:title>
                -------------------------- EXAMPLE 4 --------------------------
            </maml:title>
            <maml:introduction>
                <maml:para>C:\PS&gt;</maml:para>
            </maml:introduction>
              <dev:code>
Get-Content test.xml | Set-Content final.xml -Force -Encoding UTF8 </dev:code>
                   <dev:remarks>
                                <maml:para>Description</maml:para>
                                <maml:para>-----------</maml:para>
                      <maml:para>This command replaces the contents of the final.xml file with the contents of the test.xml file.
 
The command uses the Force parameter so that the command is successful even if the Final.xml file is read-only. It uses the Encoding dynamic parameter to specify an encoding of UTF-8.</maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
              </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText></command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
    </command:examples>
    <!-- Link section -->
    <maml:relatedLinks>
        <maml:navigationLink>
            <maml:linkText>Online version:</maml:linkText>
            <maml:uri>http://technet.microsoft.com/library/hh847827(v=wps.630).aspx</maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Set-Content (generic); http://go.microsoft.com/fwlink/?LinkID=113392</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>FileSystem Provider</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Clear-Content</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Get-Content</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Get-ChildItem</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Get-Content</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Get-Item</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Remove-Item</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Set-Content</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Test-Path</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
    </maml:relatedLinks>
</command:command>
 
<!-- v 1.3.0.36 -->
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
        <command:name>
                   Test-Path
        </command:name>
        <maml:description>
            <maml:para>Determines whether all elements of a file or directory path exist.</maml:para>
        </maml:description>
        <maml:copyright>
            <maml:para></maml:para>
        </maml:copyright>
        <command:verb>Test</command:verb>
        <command:noun>Path</command:noun>
        <dev:version></dev:version>
    </command:details>
    <maml:description>
        <maml:para>In a file system drive, Test-Path can tell whether a path is valid, whether all elements of the path exist, or report whether a path leads to a file or a directory. It can also tell whether a file was changed before or after a particular date.
 
Note: This custom cmdlet help file explains how the Test-Path cmdlet works in a file system drive. For information about the Test-Path cmdlet in all drives, type &quot;Get-Help Test-Path -Path $null&quot; or see Test-Path at http://go.microsoft.com/fwlink/?LinkID=113418. </maml:para>
    </maml:description>
    <!-- Cmdlet syntax section-->
    <command:syntax>
        <command:syntaxItem>
            <maml:name>Test-Path</maml:name>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>NewerThan</maml:name>
                <maml:description>
                    <maml:para>Returns &quot;True&quot; when the LastWriteTime value of a file is greater than the specified date. Otherwise, it returns &quot;False&quot;. Enter a DateTime object, such as one that the Get-Date cmdlet returns, or a string that can be converted to a DateTime object, such as &quot;August 10, 2011 2:00 PM&quot;.
 
NewerThan is a dynamic parameter that works only on file system paths. It was introduced in Windows PowerShell 3.0.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">DateTime</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>OlderThan</maml:name>
                <maml:description>
                    <maml:para>Returns &quot;True&quot; when the LastWriteTime value of a file is less than the specified date. Otherwise, it returns &quot;False&quot;. Enter a DateTime object, such as one that the Get-Date cmdlet returns, or a string that can be converted to a DateTime object, such as &quot;August 10, 2011 2:00 PM&quot;.
 
OlderThan is a dynamic parameter that works only on file system paths. It was introduced in Windows PowerShell 3.0.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">DateTime</command:parameterValue>
            </command:parameter>
        </command:syntaxItem>
    </command:syntax>
    <!-- Cmdlet parameter section -->
    <command:parameters>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>OlderThan</maml:name>
            <maml:description>
                <maml:para>Returns &quot;True&quot; when the LastWriteTime value of a file is less than the specified date. Otherwise, it returns &quot;False&quot;. Enter a DateTime object, such as one that the Get-Date cmdlet returns, or a string that can be converted to a DateTime object, such as &quot;August 10, 2011 2:00 PM&quot;.
 
OlderThan is a dynamic parameter that works only on file system paths. It was introduced in Windows PowerShell 3.0.</maml:para>
                                 
            </maml:description>
            <command:parameterValue required="true" variableLength="false">DateTime</command:parameterValue>
            <dev:type>
                <maml:name>DateTime</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>NewerThan</maml:name>
            <maml:description>
                <maml:para>Returns &quot;True&quot; when the LastWriteTime value of a file is greater than the specified date. Otherwise, it returns &quot;False&quot;. Enter a DateTime object, such as one that the Get-Date cmdlet returns, or a string that can be converted to a DateTime object, such as &quot;August 10, 2011 2:00 PM&quot;.
 
NewerThan is a dynamic parameter that works only on file system paths. It was introduced in Windows PowerShell 3.0.</maml:para>
                                 
            </maml:description>
            <command:parameterValue required="true" variableLength="false">DateTime</command:parameterValue>
            <dev:type>
                <maml:name>DateTime</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
    </command:parameters>
    <!-- Input - Output section-->
    <command:inputTypes>
        <command:inputType>
            <dev:type>
                <maml:name>System.String</maml:name>
                <maml:uri/>
                <maml:description />
            </dev:type>
            <maml:description>
                <maml:para>
                    <!-- description -->
                    You can pipe a string that contains a path (but not a literal path) to Test-Path.
                </maml:para>
            </maml:description>
        </command:inputType>
    </command:inputTypes>
    <command:returnValues>
        <command:returnValue>
            <dev:type>
                <maml:name>System.Boolean</maml:name>
                <maml:uri />
                <maml:description />
            </dev:type>
            <maml:description>
                <maml:para>
                    <!-- description -->
                     
                </maml:para>
            </maml:description>
        </command:returnValue>
    </command:returnValues>
    <!-- Error section-->
    <command:terminatingErrors />
    <command:nonTerminatingErrors />
        <!-- Notes section -->
    <maml:alertSet>
        <maml:title></maml:title>
        <maml:alert>
            <maml:para>
                           
                        </maml:para>
        </maml:alert>
        <maml:alert>
            <maml:para></maml:para>
        </maml:alert>
    </maml:alertSet>
    <!-- Example section -->
    <command:examples>
 
        <command:example>
            <maml:title>
                -------------------------- EXAMPLE 1 --------------------------
            </maml:title>
            <maml:introduction>
                <maml:para>C:\PS&gt;</maml:para>
            </maml:introduction>
              <dev:code>
Test-Path -Path &quot;C:\Documents and Settings\NicoleH&quot; </dev:code>
                   <dev:remarks>
                                <maml:para>Description</maml:para>
                                <maml:para>-----------</maml:para>
                      <maml:para>This command tells whether all elements in the path exist, that is, the C: directory, the Documents and Settings directory, and the NicoleH directory. If any are missing, the cmdlet returns FALSE. Otherwise, it returns TRUE.</maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
              </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText></command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
 
        <command:example>
            <maml:title>
                -------------------------- EXAMPLE 2 --------------------------
            </maml:title>
            <maml:introduction>
                <maml:para>C:\PS&gt;</maml:para>
            </maml:introduction>
              <dev:code>
Test-Path -Path $profile
 
C:\PS&gt;Test-Path -Path $profile -IsValid </dev:code>
                   <dev:remarks>
                                <maml:para>Description</maml:para>
                                <maml:para>-----------</maml:para>
                      <maml:para>These commands test the path to the Windows PowerShell profile.
 
The first command determines whether all elements in the path exist. The second command determines whether the syntax of the path is correct. In this case, the path is FALSE, but the syntax is correct (TRUE). These commands use $profile, the automatic variable that points to the location for the profile, even if the profile does not exist.
 
For more information about automatic variables, see about_Automatic_Variables.</maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
              </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText></command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
 
        <command:example>
            <maml:title>
                -------------------------- EXAMPLE 3 --------------------------
            </maml:title>
            <maml:introduction>
                <maml:para>C:\PS&gt;</maml:para>
            </maml:introduction>
              <dev:code>
Test-Path -Path &quot;C:\CAD\Commercial Buildings\*&quot; -Exclude *.dwg </dev:code>
                   <dev:remarks>
                                <maml:para>Description</maml:para>
                                <maml:para>-----------</maml:para>
                      <maml:para>This command tells whether there are any files in the Commercial Buildings directory other than .dwg files.
 
The command uses the Path parameter to specify the path. Because it includes a space, the path is enclosed in quotes. The asterisk at the end of the path indicates the contents of the Commercial Building directory. (With long paths, like this one, type the first few letters of the path, and then use the TAB key to complete the path.)
 
The command uses the Exclude parameter to specify files that will be omitted from the evaluation.
 
In this case, because the directory contains only .dwg files, the result is FALSE.</maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
              </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText></command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
 
        <command:example>
            <maml:title>
                -------------------------- EXAMPLE 4 --------------------------
            </maml:title>
            <maml:introduction>
                <maml:para>C:\PS&gt;</maml:para>
            </maml:introduction>
              <dev:code>
Test-Path -Path $profile -PathType Leaf </dev:code>
                   <dev:remarks>
                                <maml:para>Description</maml:para>
                                <maml:para>-----------</maml:para>
                      <maml:para>This command tells whether the path stored in the $profile variable leads to a file. In this case, because the Windows PowerShell profile is a .ps1 file, the cmdlet returns TRUE.</maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
              </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText></command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
 
        <command:example>
            <maml:title>
                -------------------------- EXAMPLE 5 --------------------------
            </maml:title>
            <maml:introduction>
                <maml:para>C:\PS&gt;</maml:para>
            </maml:introduction>
              <dev:code>
Test-Path -Path HKLM:\Software\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell
 
TRUE
 
C:\PS&gt; Test-Path -Path HKLM:\Software\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell\ExecutionPolicy
FALSE </dev:code>
                   <dev:remarks>
                                <maml:para>Description</maml:para>
                                <maml:para>-----------</maml:para>
                      <maml:para>These commands use the Test-Path cmdlet with the Windows PowerShell registry provider.
 
The first command tests whether the registry path to the Microsoft.PowerShell registry key is correct on the system. If Windows PowerShell is installed correctly, the cmdlet returns TRUE.
 
Test-Path does not work correctly with all Windows PowerShell providers. For example, you can use Test-Path to test the path to a registry key, but if you use it to test the path to a registry entry, it always returns FALSE, even if the registry entry is present.</maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
              </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText></command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
 
        <command:example>
            <maml:title>
                -------------------------- EXAMPLE 6 --------------------------
            </maml:title>
            <maml:introduction>
                <maml:para>C:\PS&gt;</maml:para>
            </maml:introduction>
              <dev:code>
Test-Path $pshome\PowerShell.exe -NewerThan &quot;July 13, 2009&quot; </dev:code>
                   <dev:remarks>
                                <maml:para>Description</maml:para>
                                <maml:para>-----------</maml:para>
                      <maml:para>This command uses the NewerThan dynamic parameter to determine whether the PowerShell.exe file on the computer is newer than July 13, 2009.
 
The NewerThan parameter works only in file system drives.</maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
              </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText></command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
    </command:examples>
    <!-- Link section -->
    <maml:relatedLinks>
        <maml:navigationLink>
            <maml:linkText>Online version:</maml:linkText>
            <maml:uri>http://technet.microsoft.com/library/hh847828(v=wps.630).aspx</maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Test-Path (generic); http://go.microsoft.com/fwlink/?LinkID=113418</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>FileSystem Provider</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Clear-Content</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Get-Content</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Get-ChildItem</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Get-Content</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Get-Item</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Remove-Item</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Set-Content</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Test-Path</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
    </maml:relatedLinks>
</command:command>
 
    </CmdletHelpPath>
</CmdletHelpPaths>
 
</providerHelp>
 
<!-- v 1.1.0.9 -->
<providerHelp>
 
<Name>
    Function
</Name>
 
<Drives>
    <Para>Function:</Para>
</Drives>
<Synopsis>
    Provides access to the functions defined in Windows PowerShell.
</Synopsis>
 
<DetailedDescription>
    <para>The Windows PowerShell Function provider lets you get, add, change, clear, and delete the functions and filters in Windows PowerShell.
 
A function is a named block of code that performs an action. When you type the function name, the code in the function runs. A filter is a named block of code that establishes conditions for an action. You can type the name of the filter in place of the condition, such as in a Where-Object command.
 
In the Function: drive, functions are preceded by the label &quot;Function&quot; and filters are preceded by the label &quot;Filter&quot;, but they operate properly when used in the correct context regardless of the label.
 
The Function provider is a flat namespace that contains only the function and filter objects. Neither functions nor filters have child items.
 
Each function is an instance of the System.Management.Automation.FunctionInfo class. Each filter is an instance of the System.Management.Automation.FilterInfo class.
 
The examples in this section show how to manage functions, but the same methods can be used with filters.
 
The Function provider exposes its data store in the Function: drive. To work with functions, you can change your location to the Function: drive (&quot;set-location function:&quot;). Or, you can work from another Windows PowerShell drive. To reference a function from another location, use the drive name (Function:) in the path.
 
The Function provider supports all of the cmdlets whose names contain the Item noun (the Item cmdlets), except for Invoke-Item. And, it supports the Get-Content and Set-Content cmdlets. However, it does not support the cmdlets whose names contain the ItemProperty noun (the ItemProperty cmdlets), and it does not support the Filter parameter in any cmdlet.
 
All changes to the functions affect the current console only. To save the changes, add the function to the Windows PowerShell profile, or use Export-Console to save the current console.</para>
</DetailedDescription>
 
<Capabilities>
    <para></para>
</Capabilities>
<Filters>
    <para></para>
</Filters>
<Notes>
     
</Notes>
<Tasks>
    <Task>
          <Title>
            Getting to the Function: Drive
        </Title>
 
           <Description>
            <para></para>
        </Description>
 
        <Examples>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 1 --------------------------
                </Title>
                <Introduction>
                    <para>Changes the current location to the Function: drive. You can use this command from any drive in Windows PowerShell. To return to a file system drive, type the drive name. For example, type &quot;set-location c:&quot;.</para>
                </Introduction>
                  <Code>
                    set-location function:
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
        </Examples>
    </Task>
    <Task>
          <Title>
            Getting Functions
        </Title>
 
           <Description>
            <para></para>
        </Description>
 
        <Examples>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 1 --------------------------
                </Title>
                <Introduction>
                    <para>This command gets the list of all the functions in the current session. You can use this command from any Windows PowerShell drive.</para>
                </Introduction>
                  <Code>
                    get-childitem -path function:
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 2 --------------------------
                </Title>
                <Introduction>
                    <para>This command gets the &quot;man&quot; function from the Function: drive. It uses the Get-Item cmdlet to get the function. The pipeline operator (|) sends the result to Format-Table.
 
The Wrap parameter directs text that does not fit on the line onto the next line. The Autosize parameter resizes the table columns to accommodate the text.</para>
                </Introduction>
                  <Code>
                    get-item -path man | format-table -wrap -autosize
                </Code>
                <Remarks>
                    <para>If you are in a different drive, add the drive name (Function:) to the path.</para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 3 --------------------------
                </Title>
                <Introduction>
                    <para>These commands both get the function named &quot;c:&quot;. The first command can be used in any drive. The second command is used in the Function: drive.
 
Because the name ends in a colon, which is the syntax for a drive, you must qualify the path with the drive name. Within the Function: drive, you can use either format. In the second command, the dot (.) represents the current location. </para>
                </Introduction>
                  <Code>
                    c:\PS&gt; get-item -path function:c:
 
PS Function&gt; get-item -path .\c:
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
        </Examples>
    </Task>
    <Task>
          <Title>
            Creating a Function
        </Title>
 
           <Description>
            <para></para>
        </Description>
 
        <Examples>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 1 --------------------------
                </Title>
                <Introduction>
                    <para>This command uses the New-Item cmdlet to create a function called &quot;HKLM:&quot;. The expression in braces is the script block that is represented by the function name.</para>
                </Introduction>
                  <Code>
                    new-item -path function:hklm: -value {set-location hklm:}
                </Code>
                <Remarks>
                    <para>You can also create a function by typing it at the Windows PowerShell command line. For example, tpe &quot;function:hklm: {set-location hklm:}&quot;. If you are in the Function: drive, you can omit the drive name.
 
Because you cannot specify the &quot;Filter&quot; label in New-Item, filters are labeled as functions, but they operate properly with any label. To create a filter with the &quot;Filter&quot; label, type the filter at the command line. For example, type &quot;filter:Running {$_.Status -eq &quot;Running&quot;}&quot;.</para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 2 --------------------------
                </Title>
                <Introduction>
                    <para>This command uses the New-Item cmdlet to create a function called Csrss. It uses the Options dynamic parameter to specify a value of ReadOnly for the Options property of the function.</para>
                </Introduction>
                  <Code>
                    new-item -path function: -name csrss -options readonly -value {get-process csrss}
                </Code>
                <Remarks>
                    <para>This command works from any location. If you are in the Function: drive, you can use a dot (.) to specify the path. The dot represents the current location.</para>
                  </Remarks>
            </Example>
        </Examples>
    </Task>
    <Task>
          <Title>
            Deleting a Function
        </Title>
 
           <Description>
            <para></para>
        </Description>
 
        <Examples>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 1 --------------------------
                </Title>
                <Introduction>
                    <para>This command deletes the &quot;hklm:&quot; function from the current session.</para>
                </Introduction>
                  <Code>
                    remove-item function:hklm:
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 2 --------------------------
                </Title>
                <Introduction>
                    <para>This command deletes all the functions from the current session except for the functions whose Options property has a value of Constant. Without the Force parameter, the command does not delete functions whose Options property has a value of ReadOnly.</para>
                </Introduction>
                  <Code>
                    remove-item function:* -force
                </Code>
                <Remarks>
                    <para>When you delete all the functions, the command prompt changes because the prompt function, which defines the content of the command prompt, is deleted.</para>
                  </Remarks>
            </Example>
        </Examples>
    </Task>
    <Task>
          <Title>
            Displaying the Properties and Methods of Functions
        </Title>
 
           <Description>
            <para></para>
        </Description>
 
        <Examples>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 1 --------------------------
                </Title>
                <Introduction>
                    <para>This command uses the Get-Item cmdlet to get all the functions. The pipeline operator sends the results to the Get-Member cmdlet, which displays the methods and the properties of the object.</para>
                </Introduction>
                  <Code>
                    get-item -path function:* | get-member
                </Code>
                <Remarks>
                    <para>When you pipe a collection of objects (such as the collection of functions in the Function: drive) to Get-Member, Get-Member evaluates each object in the collection separately and returns information about each object type that it finds. If all of the objects are of the same type, it returns information about the single object type. In this case, all of the functions are FunctionInfo objects.
 
To get information about the collection of FunctionInfo objects, use the InputObject parameter of Get-Member. For example, type &quot;get-member -InputObject (get-item function:*)&quot;. When you use the InputObject parameter, Get-Member evaluates the collection, not the objects in the collection.</para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 2 --------------------------
                </Title>
                <Introduction>
                    <para>This command lists the values of the properties of the &quot;prompt&quot; function. It uses the Get-Item cmdlet to get an object that represents the &quot;prompt&quot; function. The pipeline operator (|) sends the results to the Format-List command. The Format-List command uses the Property parameter with a wildcard character (*) to format and to display the values of all of the properties of the &quot;prompt&quot; function.</para>
                </Introduction>
                  <Code>
                    get-item function:prompt | format-list -property *
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
        </Examples>
    </Task>
    <Task>
          <Title>
            Changing the Properties of a Function
        </Title>
 
           <Description>
            <para></para>
        </Description>
 
        <Examples>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 1 --------------------------
                </Title>
                <Introduction>
                    <para>You can use the Set-Item cmdlet with the Options dynamic parameter to change the value of the Options property of a function.
 
This command sets the AllScope and ReadOnly options for the &quot;prompt&quot; function. This command uses the Options dynamic parameter of the Set-Item cmdlet. The Options parameter is available in Set-Item only when you use it with the Alias or Function provider.</para>
                </Introduction>
                  <Code>
                    set-item -path function:prompt -options &quot;AllScope,ReadOnly&quot;
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 2 --------------------------
                </Title>
                <Introduction>
                    <para>This command uses the Set-Item cmdlet to change the &quot;prompt&quot; function so that it displays the time before the path. </para>
                </Introduction>
                  <Code>
                    set-item -path function:prompt -value {'PS '+ $(Get-Date -format t) + &quot; &quot; + $(Get-Location) + '&gt; '}
                </Code>
                <Remarks>
                    <para>The change affects both the Definition and ScriptBlock properties of the FunctionInfo object. To see the effect of the change, type &quot;get-item -path function:prompt | format-list -property *&quot;.</para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 3 --------------------------
                </Title>
                <Introduction>
                    <para>This command uses the Rename-Item cmdlet to change the name of the &quot;help&quot; function to &quot;gh&quot;.</para>
                </Introduction>
                  <Code>
                    rename-item -path function:help -newname gh
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
        </Examples>
    </Task>
    <Task>
          <Title>
            Copying a Function
        </Title>
 
           <Description>
            <para></para>
        </Description>
 
        <Examples>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 1 --------------------------
                </Title>
                <Introduction>
                    <para>This command copies the &quot;prompt&quot; function to &quot;oldPrompt&quot;, effectively creating a new name for the script block that is associated with the prompt function. You can use this to save the original prompt function if you plan to change it.
 
The Options property of the new function has a value of None. To change the value of the Options property, use Set-Item.</para>
                </Introduction>
                  <Code>
                    copy-item -path function:prompt -destination function:oldPrompt
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
        </Examples>
    </Task>
</Tasks>
<DynamicParameters>
    <DynamicParameter>
        <Name>Options</Name>
 
        <CmdletSupported>New-Item, Set-Item</CmdletSupported>
 
        <Type>
                    <Name>System.Management.Automation.ScopedItemOptions</Name>
              </Type>
 
              <Description>Determines the value of the Options property of a function.</Description>
 
        <PossibleValues>
            <PossibleValue>
                <Value>None</Value>
 
                <Description>
                    <para>No options. &quot;None&quot; is the default.</para>
                </Description>
 
            </PossibleValue>
            <PossibleValue>
                <Value>Constant</Value>
 
                <Description>
                    <para>The function cannot be deleted, and its properties cannot be changed. Constant is available only when you are creating a function. You cannot change the option of an existing function to Constant.</para>
                </Description>
 
            </PossibleValue>
            <PossibleValue>
                <Value>Private</Value>
 
                <Description>
                    <para>The function is visible only in the current scope (not in child scopes).</para>
                </Description>
 
            </PossibleValue>
            <PossibleValue>
                <Value>ReadOnly</Value>
 
                <Description>
                    <para>The properties of the function cannot be changed except by using the Force parameter. You can use Remove-Item to delete the function.</para>
                </Description>
 
            </PossibleValue>
            <PossibleValue>
                <Value>AllScope</Value>
 
                <Description>
                    <para>The function is copied to any new scopes that are created.</para>
                </Description>
 
            </PossibleValue>
        </PossibleValues>
    </DynamicParameter>
</DynamicParameters>
<RelatedLinks>
    <navigationLink>
        <linkText>about_Functions</linkText>
        <uri/>
    </navigationLink>
    <navigationLink>
        <linkText>about_Providers</linkText>
        <uri/>
    </navigationLink>
</RelatedLinks>
 
</providerHelp>
 
 
<!-- v 1.3.0.35 -->
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
        <command:name>
                   Get-Verb
        </command:name>
        <maml:description>
            <maml:para>Gets approved Windows PowerShell verbs.</maml:para>
        </maml:description>
        <maml:copyright>
            <maml:para></maml:para>
        </maml:copyright>
        <command:verb>Get</command:verb>
        <command:noun>Verb</command:noun>
        <dev:version></dev:version>
    </command:details>
    <maml:description>
        <maml:para>The Get-Verb function gets verbs that are approved for use in Windows PowerShell commands.
 
Windows PowerShell recommends that cmdlet and function names have the Verb-Noun format and include an approved verb. This practice makes command names more consistent and predictable, and easier to use, especially for users who do not speak English as a first language.
 
Commands that use unapproved verbs run in Windows PowerShell. However, when you import a module that includes a command with an unapproved verb in its name, the Import-Module command displays a warning message.
 
NOTE: The verb list that Get-Verb returns might not be complete. For an updated list of approved Windows PowerShell verbs with descriptions, see &quot;Cmdlet Verbs&quot; in MSDN at http://go.microsoft.com/fwlink/?LinkID=160773.</maml:para>
    </maml:description>
    <!-- Cmdlet syntax section-->
    <command:syntax>
        <command:syntaxItem>
            <maml:name>Get-Verb</maml:name>
            <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="true (ByValue)" position="1">
                <maml:name>Verb</maml:name>
                <maml:description>
                    <maml:para>Gets only the specified verbs. Enter the name of a verb or a name pattern. Wildcards are permitted.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="true">string[]</command:parameterValue>
            </command:parameter>
        </command:syntaxItem>
    </command:syntax>
    <!-- Cmdlet parameter section -->
    <command:parameters>
        <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="true (ByValue)" position="1">
            <maml:name>Verb</maml:name>
            <maml:description>
                <maml:para>Gets only the specified verbs. Enter the name of a verb or a name pattern. Wildcards are permitted.</maml:para>
                                 
            </maml:description>
            <command:parameterValue required="true" variableLength="true">string[]</command:parameterValue>
            <dev:type>
                <maml:name>string[]</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue>All verbs</dev:defaultValue>
        </command:parameter>
    </command:parameters>
    <!-- Input - Output section-->
    <command:inputTypes>
        <command:inputType>
            <dev:type>
                <maml:name>None</maml:name>
                <maml:uri/>
                <maml:description />
            </dev:type>
            <maml:description>
                <maml:para>
                    <!-- description -->
                     
                </maml:para>
            </maml:description>
        </command:inputType>
    </command:inputTypes>
    <command:returnValues>
        <command:returnValue>
            <dev:type>
                <maml:name>Selected.Microsoft.PowerShell.Commands.MemberDefinition</maml:name>
                <maml:uri />
                <maml:description />
            </dev:type>
            <maml:description>
                <maml:para>
                    <!-- description -->
                     
                </maml:para>
            </maml:description>
        </command:returnValue>
    </command:returnValues>
    <!-- Error section-->
    <command:terminatingErrors />
    <command:nonTerminatingErrors />
        <!-- Notes section -->
    <maml:alertSet>
        <maml:title></maml:title>
        <maml:alert>
            <maml:para>
                          Get-Verb returns a modified version of a Microsoft.PowerShell.Commands.MemberDefinition object. The object does not have the standard properties of a MemberDefinition object. Instead it has Verb and Group properties. The Verb property contains a string with the verb name. The Group property contains a string with the verb group.
 
Windows PowerShell verbs are assigned to a group based on their most common use. The groups are designed to make the verbs easy to find and compare, not to restrict their use. You can use any approved verb for any type of command.
 
Each Windows PowerShell verb is assigned to one of the following groups.
-- Common: Define generic actions that can apply to almost any cmdlet, such as Add.
-- Communications: Define actions that apply to communications, such as Connect.
-- Data: Define actions that apply to data handling, such as Backup.
-- Diagnostic: Define actions that apply to diagnostics, such as Debug.
-- Lifecycle: Define actions that apply to the lifecycle of a cmdlet, such as Complete.
-- Security: Define actions that apply to security, such as Revoke.
-- Other: Define other types of actions.
 
Some of the cmdlets that are installed with Windows PowerShell, such as Tee-Object and Where-Object, use unapproved verbs. These cmdlets are considered to be historic exceptions and their verbs are classified as &quot;reserved.&quot;
 
                        </maml:para>
        </maml:alert>
        <maml:alert>
            <maml:para></maml:para>
        </maml:alert>
    </maml:alertSet>
    <!-- Example section -->
    <command:examples>
 
        <command:example>
            <maml:title>
                -------------------------- EXAMPLE 1 --------------------------
            </maml:title>
            <maml:introduction>
                <maml:para>C:\PS&gt;</maml:para>
            </maml:introduction>
              <dev:code>
get-verb </dev:code>
                   <dev:remarks>
                                <maml:para>Description</maml:para>
                                <maml:para>-----------</maml:para>
                      <maml:para>This command gets all approved verbs.</maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
              </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText></command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
 
        <command:example>
            <maml:title>
                -------------------------- EXAMPLE 2 --------------------------
            </maml:title>
            <maml:introduction>
                <maml:para>C:\PS&gt;</maml:para>
            </maml:introduction>
              <dev:code>
get-verb un*
 
Verb Group
---- -----
Undo Common
Unlock Common
Unpublish Data
Uninstall Lifecycle
Unregister Lifecycle
Unblock Security
Unprotect Security </dev:code>
                   <dev:remarks>
                                <maml:para>Description</maml:para>
                                <maml:para>-----------</maml:para>
                      <maml:para>This command gets all approved verbs that begin with &quot;un&quot;.</maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
              </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText></command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
 
        <command:example>
            <maml:title>
                -------------------------- EXAMPLE 3 --------------------------
            </maml:title>
            <maml:introduction>
                <maml:para>C:\PS&gt;</maml:para>
            </maml:introduction>
              <dev:code>
get-verb | where-object {$_.Group -eq &quot;Security&quot;}
 
Verb Group
---- -----
Block Security
Grant Security
Protect Security
Revoke Security
Unblock Security
Unprotect Security </dev:code>
                   <dev:remarks>
                                <maml:para>Description</maml:para>
                                <maml:para>-----------</maml:para>
                      <maml:para>This command gets all approved verbs in the Security group.</maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
              </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText></command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
 
        <command:example>
            <maml:title>
                -------------------------- EXAMPLE 4 --------------------------
            </maml:title>
            <maml:introduction>
                <maml:para>C:\PS&gt;</maml:para>
            </maml:introduction>
              <dev:code>
get-command -module MyModule | where { (get-verb $_.Verb) -eq $null } </dev:code>
                   <dev:remarks>
                                <maml:para>Description</maml:para>
                                <maml:para>-----------</maml:para>
                      <maml:para>This command finds all commands in a module that have unapproved verbs.</maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
              </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText></command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
 
        <command:example>
            <maml:title>
                -------------------------- EXAMPLE 5 --------------------------
            </maml:title>
            <maml:introduction>
                <maml:para>C:\PS&gt;</maml:para>
            </maml:introduction>
              <dev:code>
$approvedVerbs = get-verb | foreach {$_.verb}
 
C:\PS&gt; $myVerbs = get-command -module MyModule | foreach {$_.verb}
 
# Does MyModule export functions with unapproved verbs?
C:\PS&gt; ($myVerbs | foreach {$approvedVerbs -contains $_}) -contains $false
True
 
# Which unapproved verbs are used in MyModule?
C:\PS&gt; ($myverbs | where {$approvedVerbs -notcontains $_})
ForEach
Sort
Tee
Where
                        </dev:code>
                   <dev:remarks>
                                <maml:para>Description</maml:para>
                                <maml:para>-----------</maml:para>
                      <maml:para>These commands detect unapproved verbs in a module and tell which unapproved verbs were detected in the module.</maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
                            <maml:para></maml:para>
              </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText></command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
    </command:examples>
    <!-- Link section -->
    <maml:relatedLinks>
        <maml:navigationLink>
            <maml:linkText>Online version:</maml:linkText>
            <maml:uri>http://technet.microsoft.com/library/hh852690(v=wps.630).aspx</maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Import-Module</maml:linkText>
            <maml:uri/>
        </maml:navigationLink>
    </maml:relatedLinks>
</command:command>
 
 
<!-- v 1.1.0.9 -->
<providerHelp>
 
<Name>
    Registry
</Name>
 
<Drives>
    <Para>HKLM:, HKCU:</Para>
</Drives>
<Synopsis>
    Provides access to the system registry keys and values from Windows PowerShell.
</Synopsis>
 
<DetailedDescription>
    <para>The Windows PowerShell Registry provider lets you get, add, change, clear, and delete registry keys and values in Windows PowerShell.
 
Registry keys are represented as instances of the Microsoft.Win32.RegistryKey class. Registry values are represented as instances of the PSCustomObject class.
 
The Registry provider lets you access a hierarchical namespace that consists of registry keys and subkeys. Registry values and data are not components of that hierarchy. Instead, they are properties of each of the keys.
 
 
The Registry provider supports all the cmdlets that contain the Item noun (the Item cmdlets), such as Get-Item, Copy-Item, and Rename Item. Use the Item cmdlets when you work with registry keys and subkeys. The Registry provider also supports the cmdlets that contain the ItemProperty noun (the ItemProperty cmdlets). Use the ItemProperty cmdlets when you work with registry values and data. You cannot use the cmdlets that contain the Content noun (the Content cmdlets) with the Registry provider.
 
Each registry key is protected by a security descriptor. You can use Get-Acl to view the security descriptor of a key.</para>
</DetailedDescription>
 
<Capabilities>
    <para>ShouldProcess</para>
</Capabilities>
<Filters>
    <para></para>
</Filters>
<Notes>
     
</Notes>
<Tasks>
    <Task>
          <Title>
            Navigating the Registry
        </Title>
 
           <Description>
            <para></para>
        </Description>
 
        <Examples>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 1 --------------------------
                </Title>
                <Introduction>
                    <para>This command sets the current location to the HKEY_LOCAL_MACHINE\Software registry key:</para>
                </Introduction>
                  <Code>
                    set-location hklm:\software
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 2 --------------------------
                </Title>
                <Introduction>
                    <para>This command displays the current location:</para>
                </Introduction>
                  <Code>
                    get-location
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
        </Examples>
    </Task>
    <Task>
          <Title>
            Managing Registry Keys
        </Title>
 
           <Description>
            <para></para>
        </Description>
 
        <Examples>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 1 --------------------------
                </Title>
                <Introduction>
                    <para>This command displays information about each immediate subkey of the HKEY_LOCAL_MACHINE\Software registry key:</para>
                </Introduction>
                  <Code>
                    get-childitem -path hklm:\software
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 2 --------------------------
                </Title>
                <Introduction>
                    <para>This command creates the TestNew subkey under the HKCU:\Environment subkey:</para>
                </Introduction>
                  <Code>
                    new-item -path hkcu:\Environment\TestNew
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 3 --------------------------
                </Title>
                <Introduction>
                    <para>This command removes the TestNew subkey of the HKEY_CURRENT_USER\Environment key:</para>
                </Introduction>
                  <Code>
                    remove-item -path hkcu:\Environment\TestNew
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 4 --------------------------
                </Title>
                <Introduction>
                    <para>This command copies the TestNew key to the TestCopy subkey: </para>
                </Introduction>
                  <Code>
                    copy-item -path hkcu:\Environment\TestNew hkcu:\Environment\TestNew\TestCopy
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 5 --------------------------
                </Title>
                <Introduction>
                    <para>This command displays information about all the subkeys of the HKEY_LOCAL_MACHINE\Software registry key:</para>
                </Introduction>
                  <Code>
                    get-childitem -path hklm:\Software -recurse
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 6 --------------------------
                </Title>
                <Introduction>
                    <para>This command moves the HKEY_CURRENT_USER\Environment\testnewcopy registry key, its properties, and all its subkeys and their properties to HKEY_CURRENT_USER\Environment\testnew:</para>
                </Introduction>
                  <Code>
                    move-item -path hkcu:\environment\testnewcopy `
-destination hkcu:\environment\testnew
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 7 --------------------------
                </Title>
                <Introduction>
                    <para>This command renames the HKEY_CURRENT_USER\Environment\testnew registry key to HKEY_CURRENT_USER\Environment\test:</para>
                </Introduction>
                  <Code>
                    rename-item -path hkcu:\environment\testnew\ -newname test
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 8 --------------------------
                </Title>
                <Introduction>
                    <para>This command displays the security descriptor for the specified registry item:</para>
                </Introduction>
                  <Code>
                    get-acl -path hkcu:\environment\testnew | format-list -property *
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
        </Examples>
    </Task>
    <Task>
          <Title>
            Managing Registry Entries
        </Title>
 
           <Description>
            <para></para>
        </Description>
 
        <Examples>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 1 --------------------------
                </Title>
                <Introduction>
                    <para>This command displays the value name and value data for each registry entry in the HKEY_CURRENT_USER\Environment registry key: </para>
                </Introduction>
                  <Code>
                    get-itemproperty -path hkcu:\Environment
                </Code>
                <Remarks>
                    <para>The Default registry entry is returned only if it has a value.</para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 2 --------------------------
                </Title>
                <Introduction>
                    <para>This command displays the value name and value data for the Temp registry entry in the HKEY_CURRENT_USER\Environment registry key:</para>
                </Introduction>
                  <Code>
                    get-itemproperty -path hkcu:\Environment -name Temp
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 3 --------------------------
                </Title>
                <Introduction>
                    <para>This command creates the pstest registry entry in the HKEY_CURRENT_USER key and sets its value to pstestvalue:</para>
                </Introduction>
                  <Code>
                    new-itemproperty -path hkcu:\environment -name &quot;pstest&quot; -value &quot;pstestvalue&quot;
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 4 --------------------------
                </Title>
                <Introduction>
                    <para>This command updates the value of the pstest registry entry to updatedvalue in the HKEY_CURRENT_USER\Environment key:</para>
                </Introduction>
                  <Code>
                    set-itemproperty -path hkcu:\environment -name pstest
-value &quot;updatedvalue&quot;
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 5 --------------------------
                </Title>
                <Introduction>
                    <para>This command renames the value name of the pstest registry entry to pstestnew in the HKEY_CURRENT_USER\Environment key:</para>
                </Introduction>
                  <Code>
                    rename-itemproperty -path hkcu:\environment -name pstest `
-newname pstestnew
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 6 --------------------------
                </Title>
                <Introduction>
                    <para>This command copies the pstestnew registry entry from the HKEY_CURRENT_USER\Environment key to the HKEY_CURRENT_USER\Environment\testnewcopy key:</para>
                </Introduction>
                  <Code>
                    copy-itemproperty -path hkcu:\environment `
-destination hkcu:\environment\testnewcopy -name pstestnew
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 7 --------------------------
                </Title>
                <Introduction>
                    <para>The command moves the pstestnew registry entry from the HKEY_CURRENT_USER\environment\testnewcopy key to the HKEY_CURRENT_USER\environment\testnew key:</para>
                </Introduction>
                  <Code>
                    move-itemproperty -path hkcu:\environment\testnewcopy '
-destination hkcu:\environment\testnew -name pstestnew
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 8 --------------------------
                </Title>
                <Introduction>
                    <para>This command clears the value of the pstestnew registry entry in the HKEY_CURRENT_USER\Environment\testnew key:</para>
                </Introduction>
                  <Code>
                    clear-itemproperty -path hkcu:\environment\testnew -name pstestnew
                </Code>
                <Remarks>
                    <para>You can use the Clear-Item cmdlet to clear the value of the default registry entry for a subkey. For example, the following command clears the value of the default entry of the HKEY_CURRENT_USER\Environment\testnew registry key:
 
clear-item -path hkcu:\environment\testnew</para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 9 --------------------------
                </Title>
                <Introduction>
                    <para>This command removes the pstestnew registry entry from the HKEY_CURRENT_USER\Environment\testnew registry key:</para>
                </Introduction>
                  <Code>
                    remove-itemproperty -path hkcu:\environment\testnew `
-name pstestnew
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 10 --------------------------
                </Title>
                <Introduction>
                    <para>This command updates the value of the default registry entry in the HKEY_CURRENT_USER\Environment\testnew key to &quot;default value&quot;:</para>
                </Introduction>
                  <Code>
                    set-itemproperty -path hkcu:\environment\testnew `
-name &quot;(default)&quot; -value &quot;default value&quot;
                </Code>
                <Remarks>
                    <para>You can also update the default value of a registry key by using the Set-Item cmdlet. For example, the following command updates the default value of the testnew key:
 
set-item -path hkcu:\environment\testnew -value &quot;another default value&quot;</para>
                  </Remarks>
            </Example>
        </Examples>
    </Task>
</Tasks>
<DynamicParameters>
    <DynamicParameter>
        <Name>Type</Name>
 
        <CmdletSupported>Set-Item</CmdletSupported>
 
        <Type>
                    <Name>Microsoft.Win32.RegistryValueKind</Name>
              </Type>
 
              <Description>Specifies the data types to use when storing values in the registry, or identifies the data type of a value in the registry.</Description>
 
        <PossibleValues>
            <PossibleValue>
                <Value>String</Value>
 
                <Description>
                    <para>Specifies a null-terminated string. Equivalent to REG_SZ.</para>
                </Description>
 
            </PossibleValue>
            <PossibleValue>
                <Value>ExpandString</Value>
 
                <Description>
                    <para>Specifies a null-terminated string that contains unexpanded references to environment variables that are expanded when the value is retrieved. Equivalent to REG_EXPAND_SZ.</para>
                </Description>
 
            </PossibleValue>
            <PossibleValue>
                <Value>Binary</Value>
 
                <Description>
                    <para>Specifies binary data in any form. Equivalent to REG_BINARY.</para>
                </Description>
 
            </PossibleValue>
            <PossibleValue>
                <Value>DWord</Value>
 
                <Description>
                    <para>Specifies a 32-bit binary number. Equivalent to REG_DWORD.</para>
                </Description>
 
            </PossibleValue>
            <PossibleValue>
                <Value>MultiString</Value>
 
                <Description>
                    <para>Specifies an array of null-terminated strings terminated by two null characters. Equivalent to REG_MULTI_SZ.</para>
                </Description>
 
            </PossibleValue>
            <PossibleValue>
                <Value>QWord</Value>
 
                <Description>
                    <para>Specifies a 64-bit binary number. Equivalent to REG_QWORD.</para>
                </Description>
 
            </PossibleValue>
            <PossibleValue>
                <Value>Unknown</Value>
 
                <Description>
                    <para>Indicates an unsupported registry data type, such as REG_RESOURCE_LIST.</para>
                </Description>
 
            </PossibleValue>
        </PossibleValues>
    </DynamicParameter>
</DynamicParameters>
<RelatedLinks>
    <navigationLink>
        <linkText>about_Providers</linkText>
        <uri/>
    </navigationLink>
</RelatedLinks>
 
</providerHelp>
 
 
<!-- v 1.1.0.9 -->
<providerHelp>
 
<Name>
    Variable
</Name>
 
<Drives>
    <Para>Variable:</Para>
</Drives>
<Synopsis>
    Provides access to the Windows PowerShell variables and to their values.
</Synopsis>
 
<DetailedDescription>
    <para>The Windows PowerShell Variable provider lets you get, add, change, clear, and delete Windows PowerShell variables in the current console.
 
The Windows PowerShell Variable provider supports the variables that Windows PowerShell creates, including the automatic variables, the preference variables, and the variables that you create.
 
The Variable provider is a flat namespace that contains only the variable objects. The variables have no child items.
 
Most of the variables are instances of the System.Management.Automation.PSVariable class. However, there are some variations. For example, the &quot;?&quot; variable is a member of the QuestionMarkVariable class, and the &quot;MaximumVariableCount&quot; variable is a member of the SessionStateCapacityVariable class.
 
The Variable provider exposes its data store in the Variable: drive. To work with variables, you can change your location to the Variable: drive (&quot;set-location variable:&quot;), or you can work from any other Windows PowerShell drive. To reference a variable from another location, use the drive name (Variable:) in the path.
 
Windows PowerShell includes a set of cmdlets designed especially to view and to change variables:
 
-- Get-Variable
-- New-Variable
-- Set-Variable
-- Remove-Variable
-- Clear-Variable
 
When you use these cmdlets, you do not need to specify the Variable: drive in the name.
 
The Variable provider supports all of the cmdlets whose names contain the Item noun (the Item cmdlets), except for Invoke-Item. The Variable provider supports the Get-Content and Set-Content cmdlets. However, it does not support the cmdlets whose names contain the ItemProperty noun (the ItemProperty cmdlets), and it does not support the Filter parameter in any cmdlet.
 
You can also use the Windows PowerShell expression parser to create, view, and change the values of variables without using the cmdlets. When working with variables directly, use a dollar sign ($) to identify the name as a variable and the assignment operator (=) to establish and change its value. For example, &quot;$p = get-process&quot; creates the &quot;p&quot; variable and stores the results of a &quot;get-process&quot; command in it.
 
All changes to the variables affect the current session only. To save the changes, add the changes to the Windows PowerShell profile, or use Export-Console to save the current console.</para>
</DetailedDescription>
 
<Capabilities>
    <para></para>
</Capabilities>
<Filters>
    <para></para>
</Filters>
<Notes>
    The Variable provider does not support any dynamic parameters.
</Notes>
<Tasks>
    <Task>
          <Title>
            Getting to the Variable: Drive
        </Title>
 
           <Description>
            <para></para>
        </Description>
 
        <Examples>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 1 --------------------------
                </Title>
                <Introduction>
                    <para>This command changes the current location to the Variable: drive. You can use this command from any drive in Windows PowerShell. To return to a file system drive, type the drive name. For example, type &quot;set-location c:&quot;.</para>
                </Introduction>
                  <Code>
                    set-location variable:
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
        </Examples>
    </Task>
    <Task>
          <Title>
            Displaying the Value of Variables
        </Title>
 
           <Description>
            <para></para>
        </Description>
 
        <Examples>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 1 --------------------------
                </Title>
                <Introduction>
                    <para>This command gets the list of all the variables and their values in the current session. You can use this command from any Windows PowerShell drive.</para>
                </Introduction>
                  <Code>
                    get-childitem -path variable:
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 2 --------------------------
                </Title>
                <Introduction>
                    <para>This command gets the variables with names that begin with &quot;max&quot;. You can use this command from any Windows PowerShell drive.</para>
                </Introduction>
                  <Code>
                    get-childitem -path variable:max*
                </Code>
                <Remarks>
                    <para>If you are in the Variable: drive, you can omit the drive name from the path.</para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 3 --------------------------
                </Title>
                <Introduction>
                    <para>This command gets the value of the WhatIfPreference variable by typing it at the command line.
 
The name of the variable is preceded by a dollar sign ($) to indicate that it is a variable. The Variable: drive name is not specified.</para>
                </Introduction>
                  <Code>
                    $WhatIfPreference
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 4 --------------------------
                </Title>
                <Introduction>
                    <para>This command uses the LiteralPath parameter of Get-ChildItem to get the value of the &quot;?&quot; variable from within the Variable: drive. Get-ChildItem does not attempt to resolve any wildcards in the values of the LiteralPath parameter.</para>
                </Introduction>
                  <Code>
                    get-childitem -literalpath ?
                </Code>
                <Remarks>
                    <para>To display the value of a variable with a special character name without a cmdlet, type a dollar sign ($) and the variable name. For example, to display the value of the &quot;?&quot; variable, type &quot;$?&quot;.</para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 5 --------------------------
                </Title>
                <Introduction>
                    <para>This command gets the variables that have the values of &quot;ReadOnly&quot; or &quot;Constant&quot; for their Options property.</para>
                </Introduction>
                  <Code>
                    get-childitem -path variable: | where-object {$_.options -match &quot;Constant&quot; -or $_.options -match &quot;ReadOnly&quot;} | format-list -property name, value, options
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
        </Examples>
    </Task>
    <Task>
          <Title>
            Creating a New Variable
        </Title>
 
           <Description>
            <para></para>
        </Description>
 
        <Examples>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 1 --------------------------
                </Title>
                <Introduction>
                    <para>This command creates the &quot;services&quot; variable and stores the results of a Get-Service command in it. Because the current location is in the Variable: drive, the value of the Path parameter is a dot (.), which represents the current location.
 
The parentheses around the Get-Service command ensure that the command is executed before the variable is created. Without the parentheses, the value of the new variable is a &quot;Get-Service&quot; string.</para>
                </Introduction>
                  <Code>
                    new-item -path . -name services -value (Get-Service)
                </Code>
                <Remarks>
                    <para>If you are not in the variable: drive, include the Variable: drive name in the path.</para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 2 --------------------------
                </Title>
                <Introduction>
                    <para>This command creates a &quot;services&quot; variable and stores the result of a Get-Service command in it.
 
The command uses a dollar sign ($) to indicate a variable and the assignment operator (=) to assign the result of the Get-Service command to the newly created variable.</para>
                </Introduction>
                  <Code>
                    $services = Get-Service
                </Code>
                <Remarks>
                    <para>To create a variable without a value, omit the assignment operator.</para>
                  </Remarks>
            </Example>
        </Examples>
    </Task>
    <Task>
          <Title>
            Displaying the Properties and Methods of Variables
        </Title>
 
           <Description>
            <para></para>
        </Description>
 
        <Examples>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 1 --------------------------
                </Title>
                <Introduction>
                    <para>This command uses the Get-Item cmdlet to get all variables. The pipeline operator (|) sends the results to the Get-Member cmdlet, which displays the methods and properties of the object.</para>
                </Introduction>
                  <Code>
                    get-item -path variable:* | get-member
                </Code>
                <Remarks>
                    <para>When you pipe a collection of objects (such as the collection of variables in the Variable: drive) to Get-Member, Get-Member evaluates each object in the collection separately and returns information about each of the object types that it finds.
 
To get information about the collection of objects in the Variable: drive, use the InputObject parameter of Get-Member. For example, &quot;get-member -inputobject (get-item variable:*)&quot;. When you use InputObject, Get-Member evaluates the collection, not the objects in the collection.</para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 2 --------------------------
                </Title>
                <Introduction>
                    <para>This command lists the values of the properties of the &quot;home&quot; variable. It uses the Get-Item cmdlet to get an object that represents the &quot;home&quot; variable. The pipeline operator (|) sends the results to the Format-List command. The Format-List command uses the Property parameter with a wildcard character (*) to format and to display the values of all of the properties of the &quot;home&quot; variable.</para>
                </Introduction>
                  <Code>
                    get-item variable:home | format-list -property *
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
        </Examples>
    </Task>
    <Task>
          <Title>
            Changing the Properties of a Variable
        </Title>
 
           <Description>
            <para></para>
        </Description>
 
        <Examples>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 1 --------------------------
                </Title>
                <Introduction>
                    <para>This command uses the Rename-Item cmdlet to change the name of the &quot;a&quot; variable to &quot;processes&quot;.</para>
                </Introduction>
                  <Code>
                    rename-item -path variable:a -newname processes
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 2 --------------------------
                </Title>
                <Introduction>
                    <para>This command uses the Set-Item cmdlet to change the value of the ErrorActionPreference variable to &quot;Stop&quot;.</para>
                </Introduction>
                  <Code>
                    set-item -path variable:ErrorActionPreference -value Stop
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 3 --------------------------
                </Title>
                <Introduction>
                    <para>This command changes the value of the ErrorActionPreference variable to &quot;Stop&quot;.
 
It uses a dollar sign ($) to indicate a variable and the assignment operator (=) to assign the value.</para>
                </Introduction>
                  <Code>
                    $ErrorActionPreference = Stop
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
        </Examples>
    </Task>
    <Task>
          <Title>
            Copying a Variable
        </Title>
 
           <Description>
            <para></para>
        </Description>
 
        <Examples>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 1 --------------------------
                </Title>
                <Introduction>
                    <para>This command uses the Copy-Item cmdlet to copy the &quot;processes&quot; variable to &quot;old_processes&quot;. This creates a new variable named &quot;old_processes&quot; that has the same value as the &quot;processes&quot; variable.</para>
                </Introduction>
                  <Code>
                    copy-item -path variable:processes -destination variable:old_processes
                </Code>
                <Remarks>
                    <para>If the command is issued from within the Variable: drive, you can omit the drive name from the value of the Path parameter.</para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 2 --------------------------
                </Title>
                <Introduction>
                    <para>This command copies the &quot;processes&quot; variable to &quot;old_processes&quot; without using a cmdlet. It uses the dollar sign ($) to indicate variables and the assignment operator to assign the value of $processes to old_processes. </para>
                </Introduction>
                  <Code>
                    $old_processes = $processes
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
        </Examples>
    </Task>
    <Task>
          <Title>
            Deleting a Variable
        </Title>
 
           <Description>
            <para></para>
        </Description>
 
        <Examples>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 1 --------------------------
                </Title>
                <Introduction>
                    <para>This command deletes the &quot;serv&quot; variable from the current session. You can use this command in any Windows PowerShell drive.</para>
                </Introduction>
                  <Code>
                    remove-variable -path variable:serv
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 2 --------------------------
                </Title>
                <Introduction>
                    <para>This command deletes all variables from the current session except for the variables whose Options property has a value of Constant. Without the Force parameter, the command does not delete variables whose Options property has a value of ReadOnly.</para>
                </Introduction>
                  <Code>
                    remove-item variable:* -force
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
        </Examples>
    </Task>
    <Task>
          <Title>
            Setting the Value of a Variable to NULL
        </Title>
 
           <Description>
            <para></para>
        </Description>
 
        <Examples>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 1 --------------------------
                </Title>
                <Introduction>
                    <para>This command uses the Clear-Item cmdlet to change the value of the &quot;processes&quot; variable to NULL.</para>
                </Introduction>
                  <Code>
                    clear-item -path variable:processes
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
                        <Example>
                            <Title>
                    -------------------------- EXAMPLE 2 --------------------------
                </Title>
                <Introduction>
                    <para>This command clears the value of the &quot;processes&quot; variable by assigning a null value to it. It uses the $null automatic variable to represent the NULL value.</para>
                </Introduction>
                  <Code>
                    $processes = $null
                </Code>
                <Remarks>
                    <para></para>
                  </Remarks>
            </Example>
        </Examples>
    </Task>
</Tasks>
<DynamicParameters>
</DynamicParameters>
<RelatedLinks>
    <navigationLink>
        <linkText>about_Variables</linkText>
        <uri/>
    </navigationLink>
    <navigationLink>
        <linkText>about_Automatic_Variables</linkText>
        <uri/>
    </navigationLink>
    <navigationLink>
        <linkText>about_Providers</linkText>
        <uri/>
    </navigationLink>
</RelatedLinks>
 
</providerHelp>
 
 
</helpItems>