Get-PSSession
Obtient les sessions Windows PowerShell sur les ordinateurs locaux et distants.
Syntaxe
Get-PSSession
[-Name <String[]>]
[<CommonParameters>]
Get-PSSession
[-ComputerName] <String[]>
[-ApplicationName <String>]
[-ConfigurationName <String>]
[-Name <String[]>]
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[-Port <Int32>]
[-UseSSL]
[-ThrottleLimit <Int32>]
[-State <SessionFilterState>]
[-SessionOption <PSSessionOption>]
[<CommonParameters>]
Get-PSSession
[-ComputerName] <String[]>
[-ApplicationName <String>]
[-ConfigurationName <String>]
-InstanceId <Guid[]>
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[-Port <Int32>]
[-UseSSL]
[-ThrottleLimit <Int32>]
[-State <SessionFilterState>]
[-SessionOption <PSSessionOption>]
[<CommonParameters>]
Get-PSSession
[-ConnectionUri] <Uri[]>
[-ConfigurationName <String>]
[-AllowRedirection]
[-Name <String[]>]
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[-ThrottleLimit <Int32>]
[-State <SessionFilterState>]
[-SessionOption <PSSessionOption>]
[<CommonParameters>]
Get-PSSession
[-ConnectionUri] <Uri[]>
[-ConfigurationName <String>]
[-AllowRedirection]
-InstanceId <Guid[]>
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[-ThrottleLimit <Int32>]
[-State <SessionFilterState>]
[-SessionOption <PSSessionOption>]
[<CommonParameters>]
Get-PSSession
[-InstanceId <Guid[]>]
[<CommonParameters>]
Get-PSSession
[-Id] <Int32[]>
[<CommonParameters>]
Description
L’applet de commande Get-PSSession
À compter de Windows PowerShell 3.0, les sessions sont stockées sur les ordinateurs à la fin distante de chaque connexion. Vous pouvez utiliser les paramètres ComputerName ou ConnectionUri de get-PSSession pour obtenir les sessions qui se connectent à l’ordinateur local ou aux ordinateurs distants, même si elles n’ont pas été créées dans la session active.
Sans paramètres, get-PSSession obtient toutes les sessions créées dans la session active.
Utilisez les paramètres de filtrage, notamment Nom, ID, InstanceID, State, ApplicationNameet ConfigurationName pour sélectionner parmi les sessions retournées Get-PSSession.
Utilisez les paramètres restants pour configurer la connexion temporaire dans laquelle la commande Get-PSSession
REMARQUE : Dans Windows PowerShell 2.0, sans paramètres, Get-PSSession obtient toutes les sessions créées dans la session active. Le paramètre ComputerName obtient les sessions qui ont été créées dans la session active et se connectent à l’ordinateur spécifié.
Pour plus d’informations sur les sessions PowerShell, consultez about_PSSessions.
Exemples
Exemple 1 : Obtenir des sessions créées dans la session active
Get-PSSession
Cette commande obtient toutes les psSessions qui ont été créées dans la session active. Il n’obtient pas sessions PSSessions qui ont été créées dans d’autres sessions ou sur d’autres ordinateurs, même s’ils se connectent à cet ordinateur.
Exemple 2 : Obtenir des sessions connectées à l’ordinateur local
Get-PSSession -ComputerName "localhost"
Cette commande obtient les sessions PSSessions connectées à l’ordinateur local. Pour indiquer l’ordinateur local, tapez le nom de l’ordinateur, localhost ou un point (.)
La commande retourne toutes les sessions sur l’ordinateur local, même si elles ont été créées dans différentes sessions ou sur différents ordinateurs.
Exemple 3 : Obtenir des sessions connectées à un ordinateur
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
Cette commande obtient les sessions PSSessions connectées à l’ordinateur Server02.
La commande retourne toutes les sessions sur Server02, même si elles ont été créées dans différentes sessions ou sur différents ordinateurs.
La sortie indique que deux des sessions ont un état déconnecté et une disponibilité occupée. Ils ont été créés dans différentes sessions et sont actuellement en cours d’utilisation. La session ScheduledJobs, ouverte et disponible, a été créée dans la session active.
Exemple 4 : Enregistrer les résultats de cette commande
New-PSSession -ComputerName Server01, Server02, Server03
$s1, $s2, $s3 = Get-PSSession
Cet exemple montre comment enregistrer les résultats d’une commande get-PSSession
La première commande utilise l’applet de commande New-PSSession
La deuxième commande utilise une applet de commande Get-PSSession pour obtenir les trois PSSessions . Il enregistre ensuite chacun des PSSessions dans une variable distincte.
Lorsque PowerShell affecte un tableau d’objets à un tableau de variables, il affecte le premier objet à la première variable, le deuxième objet à la deuxième variable, et ainsi de suite. S’il existe plus d’objets que de variables, il affecte tous les objets restants à la dernière variable du tableau. S’il existe plus de variables que d’objets, les variables supplémentaires ne sont pas utilisées.
Exemple 5 : Supprimer une session à l’aide d’un ID d’instance
Get-PSSession | Format-Table -Property ComputerName, InstanceID
$s = Get-PSSession -InstanceID a786be29-a6bb-40da-80fb-782c67f7db0f
Remove-PSSession -Session $s
Cet exemple montre comment obtenir un PSSession à l’aide de son ID d’instance, puis pour supprimer le PSSession.
La première commande obtient toutes les psSessions qui ont été créées dans la session active.
Il envoie les PSSessions
La deuxième commande utilise l’applet de commande get-PSSession
La troisième commande utilise l’applet de commande Remove-PSSession pour supprimer le PSSession
Exemple 6 : Obtenir une session portant un nom particulier
Les commandes de cet exemple recherchent une session qui a un format de nom particulier et utilise une configuration de session particulière, puis connectez-vous à la session. Vous pouvez utiliser une commande comme celle-ci pour rechercher une session dans laquelle un collègue a démarré une tâche et se connecter pour terminer la tâche.
Get-PSSession -ComputerName Server02, Server12 -Name BackupJob* -ConfigurationName ITTasks -SessionOption @{OperationTimeout=240000}
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
3 BackupJob04 Server02 Disconnected ITTasks None
$s = Get-PSSession -ComputerName Server02 -Name BackupJob04 -ConfigurationName ITTasks | Connect-PSSession
$s
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
5 BackupJob04 Server02 Opened ITTasks Available
La première commande obtient des sessions sur les ordinateurs distants Server02 et Server12 qui ont des noms commençant par BackupJob et qui utilisent la configuration de session ITTasks. La commande utilise le paramètre Name
La deuxième commande utilise l’applet de commande get-PSSession
La troisième commande obtient la session dans la variable $s. La sortie indique que la commande connect-PSSession
Exemple 7 : Obtenir une session à l’aide de son ID
Get-PSSession -Id 2
Cette commande obtient la PSSession avec l’ID 2.
Étant donné que la valeur de la propriété ID de
Paramètres
-AllowRedirection
Indique que cette applet de commande autorise la redirection de cette connexion vers un AUTRE URI (Uniform Resource Identifier). Par défaut, PowerShell ne redirige pas les connexions.
Ce paramètre configure la connexion temporaire créée pour exécuter une commande
Ce paramètre a été introduit dans Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | False |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-ApplicationName
Spécifie le nom d’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.
Type: | String |
Position: | Named |
Valeur par défaut: | All sessions |
Obligatoire: | False |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | False |
-Authentication
Spécifie le mécanisme utilisé pour authentifier les informations d’identification de la session dans laquelle la commande Get-PSSession
Ce paramètre configure la connexion temporaire créée pour exécuter une commande
Les valeurs acceptables pour ce paramètre sont les suivantes :
- Faire défaut
- Basique
- Credssp
- Digérer
- Kerberos
- Négocier
- NegotiateWithImplicitCredential.
La valeur par défaut est Default.
Pour plus d’informations sur les valeurs de ce paramètre, consultez AuthenticationMechanism Enumeration dans msdn library.
ATTENTION : 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.
Ce paramètre a été introduit dans Windows PowerShell 3.0.
Type: | AuthenticationMechanism |
Valeurs acceptées: | Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos |
Position: | Named |
Valeur par défaut: | Default |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-CertificateThumbprint
Spécifie le certificat de clé publique numérique (X509) d’un compte d’utilisateur autorisé à créer la session dans laquelle la commande Get-PSSession
Ce paramètre configure la connexion temporaire créée pour exécuter une commande
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 PowerShell Cert : .
Ce paramètre a été introduit dans Windows PowerShell 3.0.
Type: | String |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-ComputerName
Spécifie un tableau de noms d’ordinateurs. Obtient les sessions qui se connectent aux ordinateurs spécifiés. Les caractères génériques ne sont pas autorisés. Il n’existe aucune valeur par défaut.
À compter de Windows PowerShell 3.0, objets PSSession sont stockés sur les ordinateurs à la fin distante de chaque connexion. Pour obtenir les sessions sur les ordinateurs spécifiés, PowerShell crée une connexion temporaire à chaque ordinateur et exécute une commande Get-PSSession.
Tapez le nom NetBIOS, une adresse IP ou un nom de domaine complet d’un ou plusieurs ordinateurs. Pour spécifier l’ordinateur local, tapez le nom de l’ordinateur, localhost ou un point (.).
Remarque : ce paramètre obtient des sessions uniquement à partir d’ordinateurs qui exécutent Windows PowerShell 3.0 ou versions ultérieures de PowerShell. Les versions antérieures ne stockent pas les sessions.
Type: | String[] |
Alias: | Cn |
Position: | 0 |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | False |
-ConfigurationName
Spécifie le nom d’une configuration. Cette applet de commande obtient uniquement les sessions qui utilisent la configuration de session spécifiée.
Entrez un nom de configuration ou l’URI de ressource complet 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.
Type: | String |
Position: | Named |
Valeur par défaut: | All sessions |
Obligatoire: | False |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | False |
-ConnectionUri
Spécifie un URI qui définit le point de terminaison de connexion pour la session temporaire dans laquelle la commande Get-PSSession
Ce paramètre configure la connexion temporaire créée pour exécuter une commande
Le format de cette chaîne est :
<Transport> ://<ComputerName>:<port>/<ApplicationName>
La valeur par défaut est : https://localhost:5985/WSMAN.
Si vous ne spécifiez pas de
Si l’ordinateur de destination redirige la connexion vers un autre URI, PowerShell empêche la redirection, sauf si vous utilisez le paramètre AllowRedirection dans la commande.
Ce paramètre a été introduit dans Windows PowerShell 3.0.
Ce paramètre obtient des sessions uniquement à partir d’ordinateurs qui exécutent Windows PowerShell 3.0 ou versions ultérieures de Windows PowerShell. Les versions antérieures ne stockent pas les sessions.
Type: | Uri[] |
Alias: | URI, CU |
Position: | 0 |
Valeur par défaut: | Http://localhost:5985/WSMAN |
Obligatoire: | True |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | False |
-Credential
Spécifie les informations d’identification d’un utilisateur.
Cette applet de commande exécute la commande avec les autorisations de l’utilisateur spécifié.
Spécifiez un compte d’utilisateur autorisé à se connecter à l’ordinateur distant et exécutez une commande Get-PSSession. La valeur par défaut est l’utilisateur actuel.
Tapez un nom d’utilisateur, tel que User01
, Domain01\User01
ou User@Domain.com
, ou entrez un objet PSCredential, tel qu’un objet retourné par l’applet de commande Get-Credential.
Lorsque vous tapez un nom d’utilisateur, cette applet de commande vous invite à entrer un mot de passe.
Ce paramètre est configuré sur la connexion temporaire créée pour exécuter une commande Get-PSSession
Ce paramètre a été introduit dans Windows PowerShell 3.0.
Type: | PSCredential |
Position: | Named |
Valeur par défaut: | Current user |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Id
Spécifie un tableau d’ID de session. Cette applet de commande obtient uniquement les sessions avec les ID spécifiés. Tapez un ou plusieurs ID, séparés par des virgules ou utilisez l’opérateur de plage (..) pour spécifier une plage d’ID. Vous ne pouvez pas utiliser le paramètre ID avec le paramètre ComputerName.
Un ID est un entier qui identifie de manière unique les sessions gérées par l’utilisateur dans la session active. Il est plus facile de mémoriser et de taper que le InstanceId, mais il est unique uniquement dans la session active. L’ID d’une session est stocké dans la propriété ID de la session.
Type: | Int32[] |
Position: | 0 |
Valeur par défaut: | All sessions |
Obligatoire: | True |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | False |
-InstanceId
Spécifie un tableau d’ID d’instance de sessions. Cette applet de commande obtient uniquement les sessions avec les ID d’instance spécifiés.
L’ID d’instance est un GUID qui identifie de façon unique une session sur un ordinateur local ou distant. Le InstanceID est unique, même lorsque vous avez plusieurs sessions en cours d’exécution dans PowerShell.
L’ID d’instance d’une session est stocké dans la propriété InstanceID de la session.
Type: | Guid[] |
Position: | Named |
Valeur par défaut: | All sessions |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Name
Spécifie un tableau de noms de session. Cette applet de commande obtient uniquement les sessions qui ont les noms conviviaux spécifiés. Les caractères génériques sont autorisés.
Le nom convivial d’une session est stocké dans la propriété Name de la session.
Type: | String[] |
Position: | Named |
Valeur par défaut: | All sessions |
Obligatoire: | False |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | True |
-Port
Spécifie le port réseau spécifié utilisé pour la connexion temporaire dans laquelle la commande Get-PSSession
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 PowerShell :
Remove-Item -Path WSMan:\Localhost\listener\listener* -Recurse
New-Item -Path WSMan:\Localhost\listener -Transport http -Address * -Port \<port-number\>
Ce paramètre est configuré sur la connexion temporaire créée pour exécuter une commande Get-PSSession
N’utilisez pas le paramètre de port
Ce paramètre a été introduit dans Windows PowerShell 3.0.
Type: | Int32 |
Position: | Named |
Valeur par défaut: | 5985, 5986 |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | 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, y compris 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.
Type: | PSSessionOption |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-State
Spécifie un état de session. Cette applet de commande obtient uniquement les sessions à l’état spécifié. Les valeurs acceptables pour ce paramètre sont : All, Opened, Disconnected, Closed et Broken. La valeur par défaut est All.
La valeur d’état de session est relative aux sessions actuelles. Les sessions qui n’ont pas été créées dans les sessions actuelles et qui ne sont pas connectées à la session active ont un état de Déconnexion même lorsqu’elles sont connectées à une autre session.
L’état d’une session est stocké dans la propriété State de la session.
Ce paramètre a été introduit dans Windows PowerShell 3.0.
Type: | SessionFilterState |
Valeurs acceptées: | All, Opened, Disconnected, Closed, Broken |
Position: | Named |
Valeur par défaut: | All |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-ThrottleLimit
Spécifie le nombre maximal de connexions simultanées qui peuvent être établies pour exécuter la commande Get-PSSession. Si vous omettez ce paramètre ou entrez une valeur de 0 (zéro), la valeur par défaut 32 est utilisée. La limite de limitation s’applique uniquement à la commande actuelle, et non à la session ou à l’ordinateur.
Ce paramètre a été introduit dans Windows PowerShell 3.0.
Type: | Int32 |
Position: | Named |
Valeur par défaut: | 32 |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-UseSSL
Indique que cette applet de commande utilise le protocole SSL (Secure Sockets Layer) pour établir la connexion dans laquelle la commande Get-PSSession
Ce paramètre configure la connexion temporaire créée pour exécuter une commande Get-PSSession avec le paramètre ComputerName.
Ce paramètre a été introduit dans Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | False |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
Entrées
None
Vous ne pouvez pas diriger l’entrée vers cette applet de commande.
Sorties
Notes
- Cette applet de commande obtient des sessions gérées par l’utilisateur objets PSSession , tels que ceux créés à l’aide de la session New-PSSession, Enter-PSSessionet des applets de commande Invoke-Command. Il n’obtient pas la session gérée par le système qui est créée lorsque vous démarrez PowerShell.
- À compter de Windows PowerShell 3.0, objets PSSession sont stockés sur l’ordinateur qui se trouve côté serveur ou réception d’une connexion. Pour obtenir les sessions stockées sur l’ordinateur local ou un ordinateur distant, PowerShell établit une session temporaire sur l’ordinateur spécifié et exécute des commandes de requête dans la session.
- Pour obtenir des sessions qui se connectent à un ordinateur distant, utilisez les paramètres ComputerName ou ConnectionUri pour spécifier l’ordinateur distant. Pour filtrer les sessions qui get-PSSession obtient, utilisez les paramètres Name, ID, InstanceIDet State. Utilisez les paramètres restants pour configurer la session temporaire qui Get-PSSession utilise.
- Lorsque vous utilisez les paramètres ComputerName ou ConnectionUri, Get-PSSession obtient uniquement des sessions à partir d’ordinateurs exécutant Windows PowerShell 3.0 et versions ultérieures de PowerShell.
- La valeur de la propriété
State d’un PSSessionest relative à la session active. Par conséquent, une valeur de déconnecté 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 au PSSession à partir de la session active, utilisez la propriété Availability .
Une valeur Availability de None indique que vous pouvez vous connecter à la session.
La valeur
Pour plus d’informations sur les valeurs de la propriété State des sessions, consultez 'énumération RunspaceState.
Pour plus d’informations sur les valeurs de la propriété Availability des sessions, consultez 'énumération RunspaceAvailability.