Receive-PSSession
Obtient les résultats des commandes dans les sessions déconnectées
Syntaxe
Session (Par défaut)
Receive-PSSession
[-Session] <PSSession>
[-OutTarget <OutTarget>]
[-JobName <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Id
Receive-PSSession
[-Id] <Int32>
[-OutTarget <OutTarget>]
[-JobName <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
ComputerSessionName
Receive-PSSession
[-ComputerName] <String>
-Name <String>
[-ApplicationName <String>]
[-ConfigurationName <String>]
[-OutTarget <OutTarget>]
[-JobName <String>]
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[-Port <Int32>]
[-UseSSL]
[-SessionOption <PSSessionOption>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
ComputerInstanceId
Receive-PSSession
[-ComputerName] <String>
-InstanceId <Guid>
[-ApplicationName <String>]
[-ConfigurationName <String>]
[-OutTarget <OutTarget>]
[-JobName <String>]
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[-Port <Int32>]
[-UseSSL]
[-SessionOption <PSSessionOption>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
ConnectionUriInstanceId
Receive-PSSession
[-ConnectionUri] <Uri>
-InstanceId <Guid>
[-ConfigurationName <String>]
[-AllowRedirection]
[-OutTarget <OutTarget>]
[-JobName <String>]
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[-SessionOption <PSSessionOption>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
ConnectionUriSessionName
Receive-PSSession
[-ConnectionUri] <Uri>
-Name <String>
[-ConfigurationName <String>]
[-AllowRedirection]
[-OutTarget <OutTarget>]
[-JobName <String>]
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[-SessionOption <PSSessionOption>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
InstanceId
Receive-PSSession
-InstanceId <Guid>
[-OutTarget <OutTarget>]
[-JobName <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
SessionName
Receive-PSSession
-Name <String>
[-OutTarget <OutTarget>]
[-JobName <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
L’applet de commande receive-PSSession
Vous pouvez utiliser un receive-PSSession en plus ou au lieu d’une commande Connect-PSSession. Receive-PSSession peut se connecter à n’importe quelle session déconnectée ou reconnectée. Celles-ci incluent celles qui ont été démarrées dans d’autres sessions ou sur d’autres ordinateurs.
receive-PSSession fonctionne sur psSessions qui ont été déconnectés intentionnellement, par exemple à l’aide de l’applet de commande Disconnect-PSSession ou du paramètre InDisconnectedSession de l’applet de commande Invoke-Command, ou involontairement, par une interruption réseau.
Si vous utilisez l’applet de commande Receive-PSSession pour vous connecter à une session dans laquelle aucune commande n’est en cours d’exécution ou suspendue, Receive-PSSession se connecte à la session, mais ne retourne aucune sortie ou erreur.
Pour plus d’informations sur la fonctionnalité Sessions déconnectées, consultez about_Remote_Disconnected_Sessions.
Cette applet de commande a été introduite dans Windows PowerShell 3.0.
Exemples
Exemple 1 : Se connecter à une session PSSession
PS C:\> Receive-PSSession -ComputerName Server01 -Name ITTask
Cette commande utilise l’applet de commande Receive-PSSession
Étant donné que la commande n’utilise pas le paramètre OutTarget, les résultats apparaissent sur la ligne de commande.
Exemple 2 : Obtenir les résultats de toutes les commandes sur les sessions déconnectées
PS C:\> Get-PSSession -ComputerName Server01, Server02 | Receive-PSSession
Cette commande obtient les résultats de toutes les commandes exécutées dans toutes les sessions déconnectées sur les ordinateurs Server01 et Server02.
Si une session n’a pas été déconnectée ou n’exécute pas de commandes, Receive-PSSession ne se connecte pas à la session et ne retourne aucune sortie ni erreur.
Exemple 3 : Obtenir les résultats d’un script en cours d’exécution dans une session
PS C:\> Receive-PSSession -ComputerName Server01 -Name ITTask -OutTarget Job -JobName ITTaskJob01 -Credential Domain01\Admin01
Id Name State HasMoreData Location
-- ---- ----- ----------- --------
16 ITTaskJob01 Running True Server01
Cette commande utilise l’applet de commande Receive-PSSession pour obtenir les résultats d’un script qui s’exécutait dans la session ITTask sur l’ordinateur Server01.
La commande utilise les paramètres Nom_ordinateur et Name pour identifier la session déconnectée.
Il utilise le paramètre OutTarget
La commande utilise le paramètre Credential pour exécuter la commande Receive-PSSession à l’aide des autorisations d’un administrateur de domaine.
La sortie indique que Receive-PSSession renvoyé les résultats sous la forme d’un travail dans la session active. Pour obtenir les résultats du travail, utilisez une commande Receive-Job
Exemple 4 : Obtenir les résultats après une panne réseau
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:\> $s = New-PSSession -ComputerName Server01 -Name AD -ConfigurationName ADEndpoint
PS C:\> $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> Invoke-Command -Session $s -FilePath \\Server12\Scripts\SharedScripts\New-ADResolve.ps1
Running "New-ADResolve.ps1"
# 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:\> 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:\> 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:\> Get-PSSession -ComputerName Server01
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
1 Backup Server01 Disconnected Microsoft.PowerShell Busy
8 AD Server01 Opened ADEndpoint Available
Cet exemple utilise l’applet de commande receive-PSSession
Exemple 5 : Reconnexion à des sessions déconnectées
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 finish. 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 is important to set the idle time-out for long enough 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 you connect to a **PSSession** or receiving its results.After running the command, the user exits Windows PowerShell and closes the computer .
PS C:\> 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:\> $s = Get-PSSession -ComputerName Server01, Server02, Server30 -Name BugStatus
PS C:\> $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:\> $Results = Receive-PSSession -Session $s
PS C:\> $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:\> $Results
Bug Report - Domain 01
----------------------
ComputerName BugCount LastUpdated
-------------- --------- ------------
Server01 121 Friday, December 30, 2011 5:03:34 PM
Cet exemple utilise l’applet de commande Receive-PSSession pour se reconnecter aux sessions qui ont été intentionnellement déconnectées et obtenir les résultats des travaux qui s’exécutaient dans les sessions.
Exemple 6 : Exécution d’un travail dans une session déconnectée
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:\> $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:\> $j = Invoke-Command -Session $s { 1..1500 | Foreach-Object {"Return $_"; sleep 30}} -AsJob
PS C:\> $j
Id Name State HasMoreData Location
-- ---- ----- ----------- --------
16 Job1 Running True Server01
The fourth command disconnects the session in the $s variable.
PS C:\> $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:\> $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:\> Receive-Job $j -Keep
Return 1
Return 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:\> $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:\> $j2 = Receive-PSSession -ComputerName Server01 -Name Test
PS C:\> Receive-Job $j
Return 3
Return 4
Cet exemple montre ce qui arrive à un travail en cours d’exécution dans une session déconnectée.
Paramètres
-AllowRedirection
Indique que cette applet de commande autorise la redirection de cette connexion vers un AUTRE URI (Uniform Resource Identifier).
Lorsque vous utilisez le paramètre ConnectionURI, la destination distante peut retourner une instruction pour rediriger vers un AUTRE URI. Par défaut, Windows PowerShell ne redirige pas les connexions, mais vous pouvez utiliser ce paramètre pour lui permettre de rediriger la connexion.
Vous pouvez également limiter le nombre de fois où la connexion est redirigée en modifiant la valeur d’option de session MaximumConnectionRedirectionCount. Utilisez le paramètre MaximumRedirection de l’applet de commande New-PSSessionOption ou définissez la propriété MaximumConnectionRedirectionCount de la variable de préférence $PSSessionOption. La valeur par défaut est 5.
Propriétés du paramètre
| Type: | SwitchParameter |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
ConnectionUriInstanceId
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
ConnectionUriSessionName
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-ApplicationName
Spécifie une application. Cette applet de commande se connecte uniquement aux sessions qui utilisent l’application spécifiée.
Entrez le segment de nom d’application de l’URI de connexion. Par exemple, dans l’URI de connexion suivant, le nom de l’application est WSMan : https://localhost:5985/WSMAN. Le nom de l’application d’une session est stocké dans la propriété Runspace.ConnectionInfo.AppName de la session.
La valeur de ce paramètre est utilisée pour sélectionner et filtrer des sessions. Elle ne modifie pas l’application utilisée par la session.
Propriétés du paramètre
| Type: | String |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
ComputerSessionName
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | False |
ComputerInstanceId
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | False |
-Authentication
Spécifie le mécanisme utilisé pour authentifier les informations d’identification de l’utilisateur dans la commande pour se reconnecter à la session déconnectée. Les valeurs acceptables pour ce paramètre sont les suivantes :
- Par défaut
- Élémentaire
- Credssp
- Résumé
- Kerberos
- Négocier
- NegotiateWithImplicitCredential
La valeur par défaut est Default.
Pour plus d'informations sur les valeurs de ce paramètre, voir AuthenticationMechanism Enumeration.
Avertissement
L’authentification CredSSP (Credential Security Support Provider), dans laquelle les informations d’identification de l’utilisateur sont transmises à un ordinateur distant à authentifier, est conçue pour les commandes qui nécessitent une authentification sur plusieurs ressources, telles que l’accès à un partage réseau distant. Ce mécanisme augmente le risque de sécurité de l’opération à distance. Si l’ordinateur distant est compromis, les informations d’identification qui lui sont transmises peuvent être utilisées pour contrôler la session réseau.
Propriétés du paramètre
| Type: | AuthenticationMechanism |
| Valeur par défaut: | None |
| Valeurs acceptées: | Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
ComputerSessionName
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
ComputerInstanceId
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
ConnectionUriInstanceId
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
ConnectionUriSessionName
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-CertificateThumbprint
Spécifie le certificat de clé publique numérique (X509) d’un compte d’utilisateur autorisé à se connecter à la session déconnectée. Entrez l’empreinte numérique du certificat.
Les certificats sont utilisés dans l’authentification basée sur les certificats client. Ils ne peuvent être mappés qu’à des comptes d’utilisateur locaux. Ils ne fonctionnent pas avec les comptes de domaine.
Pour obtenir une empreinte numérique de certificat, utilisez une commande Get-Item ou Get-ChildItem dans le lecteur Windows PowerShell Cert : .
Propriétés du paramètre
| Type: | String |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
ComputerSessionName
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
ComputerInstanceId
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
ConnectionUriInstanceId
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
ConnectionUriSessionName
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-ComputerName
Spécifie l’ordinateur sur lequel la session déconnectée est stockée. Les sessions sont stockées sur l’ordinateur qui se trouve côté serveur ou reçoivent la fin d’une connexion. La valeur par défaut est l’ordinateur local.
Tapez le nom NetBIOS, une adresse IP ou un nom de domaine complet d’un ordinateur. Les caractères génériques ne sont pas autorisés. Pour spécifier l’ordinateur local, tapez le nom de l’ordinateur, localhost ou un point (.)
Propriétés du paramètre
| Type: | String |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
| Alias: | Cn |
Jeux de paramètres
ComputerSessionName
| Position: | 0 |
| Obligatoire: | True |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | False |
ComputerInstanceId
| Position: | 0 |
| Obligatoire: | True |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | False |
-ConfigurationName
Se connecte uniquement aux sessions qui utilisent la configuration de session spécifiée.
Entrez un nom de configuration ou l'URI complet de la ressource pour une configuration de session. Si vous spécifiez uniquement le nom de configuration, l’URI de schéma suivant est ajouté : https://schemas.microsoft.com/powershell. Le nom de configuration d’une session est stocké dans la propriété ConfigurationName de la session.
La valeur de ce paramètre est utilisée pour sélectionner et filtrer des sessions. Elle ne modifie pas la configuration de session utilisée par la session.
Pour plus d’informations sur les configurations de session, consultez about_Session_Configurations.
Propriétés du paramètre
| Type: | String |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
ComputerSessionName
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | False |
ComputerInstanceId
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | False |
ConnectionUriInstanceId
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | False |
ConnectionUriSessionName
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | False |
-Confirm
Vous invite à confirmer avant d’exécuter l’applet de commande.
Propriétés du paramètre
| Type: | SwitchParameter |
| Valeur par défaut: | False |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
| Alias: | cf |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-ConnectionUri
Spécifie un URI qui définit le point de terminaison de connexion utilisé pour se reconnecter à la session déconnectée.
L’URI doit être complet. Le format de cette chaîne est le suivant :
<Transport>://<ComputerName>:<Port>/<ApplicationName>
La valeur par défaut est la suivante :
https://localhost:5985/WSMAN
Si vous ne spécifiez pas d’URI de connexion, vous pouvez utiliser les paramètres UseSSL, ComputerName, Portet Paramètres applicationName pour spécifier les valeurs d’URI de connexion.
Les valeurs valides pour le segment Transport de l’URI sont HTTP et HTTPS. Si vous spécifiez un URI de connexion avec un segment de transport, mais que vous ne spécifiez pas de port, la session est créée avec des ports standards : 80 pour HTTP et 443 pour HTTPS. Pour utiliser les ports par défaut pour la communication à distance Windows PowerShell, spécifiez le port 5985 pour HTTP ou 5986 pour HTTPS.
Si l’ordinateur de destination redirige la connexion vers un autre URI, Windows PowerShell empêche la redirection, sauf si vous utilisez le paramètre AllowRedirection dans la commande.
Propriétés du paramètre
| Type: | Uri |
| Valeur par défaut: | https://localhost:5985/WSMAN |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
| Alias: | URI, CU |
Jeux de paramètres
ConnectionUriInstanceId
| Position: | 0 |
| Obligatoire: | True |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | False |
ConnectionUriSessionName
| Position: | 0 |
| Obligatoire: | True |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | False |
-Credential
Spécifie un compte d’utilisateur autorisé à se connecter à la session déconnectée. La valeur par défaut est l’utilisateur actuel.
Tapez un nom d’utilisateur, tel que User01 ou Domain01\User01. Vous pouvez également entrer un objet PSCredential, tel qu’un objet généré par l’applet de commande Get-Credential. Si vous tapez un nom d’utilisateur, cette applet de commande vous invite à entrer un mot de passe.
Propriétés du paramètre
| Type: | PSCredential |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
ComputerSessionName
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
ComputerInstanceId
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
ConnectionUriInstanceId
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
ConnectionUriSessionName
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-Id
Spécifie l’ID de la session déconnectée. Le paramètre ID fonctionne uniquement lorsque la session déconnectée a été précédemment connectée à la session active.
Ce paramètre est valide, mais pas effectif, lorsque la session est stockée sur l’ordinateur local, mais n’a pas été connectée à la session active.
Propriétés du paramètre
| Type: | Int32 |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
Id
| Position: | 0 |
| Obligatoire: | True |
| Valeur du pipeline: | True |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | False |
-InstanceId
Spécifie l’ID d’instance de la session déconnectée.
L’ID d’instance est un GUID qui identifie de manière unique un psSession sur un ordinateur local ou distant.
L’ID d’instance est stocké dans la propriété InstanceID du PSSession.
Propriétés du paramètre
| Type: | Guid |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
ComputerInstanceId
| Position: | Named |
| Obligatoire: | True |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
ConnectionUriInstanceId
| Position: | Named |
| Obligatoire: | True |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
InstanceId
| Position: | Named |
| Obligatoire: | True |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-JobName
Spécifie un nom convivial pour le travail qui receive-PSSession retourne.
receive-PSSession retourne un travail lorsque la valeur du paramètre OutTarget est Job ou le travail en cours d’exécution dans la session déconnectée a été démarré dans la session active.
Si le travail en cours d’exécution dans la session déconnecté a été démarré dans la session active, Windows PowerShell réutilise l’objet de travail d’origine dans la session et ignore la valeur du paramètre JobName
Si le travail en cours d’exécution dans la session déconnectée a été démarré dans une autre session, Windows PowerShell crée un objet de travail. Il utilise un nom par défaut, mais vous pouvez utiliser ce paramètre pour modifier le nom.
Si la valeur par défaut ou la valeur explicite du paramètre OutTarget
Propriétés du paramètre
| Type: | String |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-Name
Spécifie le nom convivial de la session déconnectée.
Propriétés du paramètre
| Type: | String |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
ComputerSessionName
| Position: | Named |
| Obligatoire: | True |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
ConnectionUriSessionName
| Position: | Named |
| Obligatoire: | True |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
SessionName
| Position: | Named |
| Obligatoire: | True |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-OutTarget
Détermine la façon dont les résultats de la session sont renvoyés. Les valeurs acceptables pour ce paramètre sont les suivantes :
- Travail. Retourne les résultats de manière asynchrone dans un objet de travail. Vous pouvez utiliser le paramètre JobName pour spécifier un nom ou un nouveau nom pour le travail.
- Hôte. Retourne les résultats à la ligne de commande (de façon synchrone). Si la commande est reprise ou que les résultats se composent d’un grand nombre d’objets, la réponse peut être retardée.
La valeur par défaut du paramètre OutTarget est Host. Toutefois, si la commande reçue dans la session déconnectée a été démarrée dans la session active, la valeur par défaut du paramètre OutTarget est le formulaire dans lequel la commande a été démarrée. Si la commande a été démarrée en tant que travail, elle est retournée en tant que travail par défaut. Sinon, il est retourné au programme hôte par défaut.
En règle générale, le programme hôte affiche les objets retournés à la ligne de commande sans délai, mais ce comportement peut varier.
Propriétés du paramètre
| Type: | OutTarget |
| Valeur par défaut: | None |
| Valeurs acceptées: | Default, Host, Job |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-Port
Spécifie le port réseau sur l’ordinateur distant utilisé pour se reconnecter à la session. Pour établir une connexion à un ordinateur distant, l’ordinateur distant doit être à l’écoute sur le port utilisé par la connexion. Les ports par défaut sont 5985, qui est le port WinRM pour HTTP et 5986, qui est le port WinRM pour HTTPS.
Avant d’utiliser un autre port, vous devez configurer l’écouteur WinRM sur l’ordinateur distant pour écouter sur ce port. Pour configurer l’écouteur, tapez les deux commandes suivantes à l’invite Windows PowerShell :
Remove-Item -Path WSMan:\Localhost\listener\listener* -Recurse
New-Item -Path WSMan:\Localhost\listener -Transport http -Address * -Port \<port-number\>
N’utilisez pas le paramètre de port
Propriétés du paramètre
| Type: | Int32 |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
ComputerSessionName
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
ComputerInstanceId
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-Session
Spécifie la session déconnectée. Entrez une variable qui contient le PSSession
Propriétés du paramètre
| Type: | PSSession |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
Session
| Position: | 0 |
| Obligatoire: | True |
| Valeur du pipeline: | True |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | False |
-SessionOption
Spécifie les options avancées de la session. Entrez un objet SessionOption
Les valeurs par défaut des options sont déterminées par la valeur de la variable de préférence $PSSessionOption, si elle est définie. Sinon, les valeurs par défaut sont établies par les options définies dans la configuration de session.
Les valeurs d’option de session sont prioritaires sur les valeurs par défaut pour les sessions définies dans la variable de préférence $PSSessionOption et dans la configuration de session. Toutefois, ils ne sont pas prioritaires sur les valeurs maximales, les quotas ou les limites définis dans la configuration de session.
Pour obtenir une description des options de session qui incluent les valeurs par défaut, consultez New-PSSessionOption. Pour plus d’informations sur la variable de préférence $PSSessionOption, consultez about_Preference_Variables. Pour plus d’informations sur les configurations de session, consultez about_Session_Configurations.
Propriétés du paramètre
| Type: | PSSessionOption |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
ComputerSessionName
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
ComputerInstanceId
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
ConnectionUriInstanceId
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
ConnectionUriSessionName
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-UseSSL
Indique que cette applet de commande utilise le protocole SSL (Secure Sockets Layer) pour se connecter à la session déconnectée. Par défaut, SSL n’est pas utilisé.
WS-Management chiffre tout le contenu Windows PowerShell transmis sur le réseau. UseSSL est une protection supplémentaire qui envoie les données sur une connexion HTTPS au lieu d’une connexion HTTP.
Si vous utilisez ce paramètre, mais que SSL n’est pas disponible sur le port utilisé pour la commande, la commande échoue.
Propriétés du paramètre
| Type: | SwitchParameter |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
ComputerSessionName
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
ComputerInstanceId
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-WhatIf
Affiche ce qui se passerait si l’applet de commande s’exécute. L’applet de commande ne s’exécute pas.
Propriétés du paramètre
| Type: | SwitchParameter |
| Valeur par défaut: | False |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
| Alias: | Wi |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
CommonParameters
Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.
Entrées
PSSession
Vous pouvez diriger des objets de session, tels que ceux retournés par l’applet de commande Get-PSSession, vers cette applet de commande.
Int32
Vous pouvez diriger les ID de session vers cette applet de commande.
Guid
Vous pouvez diriger les ID d’instance des sessions de cette applet de commande.
String
Vous pouvez diriger les noms de session vers cette applet de commande.
Sorties
System.Management.Automation.Job or PSObject
Cette applet de commande retourne les résultats des commandes exécutées dans la session déconnectée, le cas échéant. Si la valeur ou la valeur par défaut du paramètre OutTarget est Job, receive-PSSession retourne un objet de travail. Sinon, elle retourne des objets qui représentent ces résultats de commande.
Notes
receive-PSSession obtient les résultats uniquement des sessions qui ont été déconnectées. Seules les sessions connectées à des ordinateurs qui exécutent Windows PowerShell 3.0 ou version ultérieure peuvent être déconnectées et reconnectées.
Si les commandes en cours d’exécution dans la session déconnectée n’ont pas généré de résultats ou si les résultats ont déjà été retournés à une autre session, receive-PSSession ne génère aucune sortie.
Le mode de mise en mémoire tampon de sortie d’une session détermine comment les commandes de la session gèrent la sortie lorsque la session est déconnectée. Lorsque la valeur de l’option OutputBufferingMode de la session est Drop et que la mémoire tampon de sortie est pleine, la commande commence à supprimer la sortie. receive-PSSession ne peut pas récupérer cette sortie. Pour plus d’informations sur l’option mode de mise en mémoire tampon de sortie, consultez les rubriques d’aide relatives aux applets de commande New-PSSessionOption et New-PSTransportOption.
Vous ne pouvez pas modifier la valeur de délai d’inactivité d’une
PSSession lorsque vous vous connectez au PSSession ou recevez des résultats. Le paramètre sessionOption de Receive-PSSession prend un objet SessionOption qui a une valeur IdleTimeout. Toutefois, la valeur SessionOptionIdleTimeout de l’objetet la valeur IdleTimeout de la variable $PSSessionOption sont ignorées lorsqu’elle se connecte à unPSSession ou reçoit des résultats.Vous pouvez définir et modifier le délai d’inactivité d’une PSSession
lorsque vous créez le PSSession , à l’aide des applets de commande New-PSSession ouInvoke-Command , et lorsque vous vous déconnectez desPSSession. La propriété
IdleTimeout d’un PSSessionest essentielle pour les sessions déconnectées, car elle détermine la durée pendant laquelle une session déconnectée est conservée sur l’ordinateur distant. Les sessions déconnectées sont considérées comme inactives à partir du moment où elles sont déconnectées, même si les commandes s’exécutent dans la session déconnectée. Si vous démarrez un travail de démarrage dans une session distante à l’aide du paramètre
AsJob de l’applet de commande Invoke-Command, l’objet de travail est créé dans la session active, même si le travail s’exécute dans la session distante. Si vous déconnectez la session distante, l’objet de travail de la session active est maintenant déconnecté du travail. L’objet de travail contient toujours les résultats retournés à celui-ci, mais il ne reçoit pas de nouveaux résultats du travail dans la session déconnectée. Si un autre client se connecte à la session qui contient le travail en cours d’exécution, les résultats remis à l’objet de travail d’origine dans la session d’origine ne sont pas disponibles dans la session nouvellement connectée. Seuls les résultats qui n’ont pas été remis à l’objet de travail d’origine sont disponibles dans la session reconnectée.
De même, si vous démarrez un script dans une session, puis déconnectez-vous de la session, les résultats que le script remet à la session avant la déconnexion ne sont pas disponibles pour un autre client qui se connecte à la session.
Pour éviter la perte de données dans les sessions que vous envisagez de déconnecter, utilisez le paramètre
InDisconnectedSession de l’applet de commande Invoke-Command. Étant donné que ce paramètre empêche les résultats d’être retournés à la session active, tous les résultats sont disponibles lorsque la session est reconnectée. Vous pouvez également empêcher la perte de données à l’aide de l’applet de commande Invoke-Command
pour exécuter une commande Start-Job dans la session à distance. Dans ce cas, l’objet de travail est créé dans la session distante. Vous ne pouvez pas utiliser l’applet de commande receive-PSSessionpour obtenir les résultats du travail. Utilisez plutôt l’applet de commande Connect-PSSession pour vous connecter à la session, puis utilisez l’applet de commande Invoke-Command pour exécuter une commande Receive-Job dans la session. Lorsqu’une session qui contient un travail en cours d’exécution est déconnectée, puis reconnectée, l’objet de travail d’origine est réutilisé uniquement si le travail est déconnecté et reconnecté à la même session, et que la commande à reconnecter ne spécifie pas de nouveau nom de travail. Si la session est reconnectée à une autre session cliente ou qu’un nouveau nom de travail est spécifié, Windows PowerShell crée un objet de travail pour la nouvelle session.
Lorsque vous déconnectez une PSSession, l’état de session est Déconnecté et la disponibilité est nulle.
La valeur de la propriété State est relative à la session active. Par conséquent, une valeur de Disconnected signifie que le PSSession n’est pas connecté à la session active. Toutefois, cela ne signifie pas que le PSSession est déconnecté de toutes les sessions. Il peut être connecté à une autre session. Pour déterminer si vous pouvez vous connecter ou vous reconnecter à la session, utilisez la propriété Availability.
La valeur de disponibilité None indique que vous pouvez vous connecter à la session. La valeur Busy indique que vous ne pouvez pas vous connecter au PSSession
, car elle est connectée à une autre session. Pour plus d’informations sur les valeurs de la propriété State des sessions, consultez 'énumération RunspaceState dans la bibliothèque MSDN.
Pour plus d’informations sur les valeurs de la propriété Availability des sessions, consultez 'énumération RunspaceAvailability.