Crée et inscrit une nouvelle configuration de session.

Syntaxe

Register-PSSessionConfiguration [-AssemblyName] <string> [-ConfigurationTypeName] <string> [-ApplicationBase <string>] [-Name] <string> [-Force] [-MaximumReceivedDataSizePerCommandMB <double>] [-MaximumReceivedObjectSizeMB <double>] [-NoServiceRestart] [-ProcessorArchitecture <string>] [-SecurityDescriptorSDDL <string>] [-ShowSecurityDescriptorUI] [-StartupScript <string>] [-ThreadApartmentState {<STA> | <MTA> | <Unknown>}] [-ThreadOptions {<Default> | <UseNewThread> | <ReuseThread> | <UseCurrentThread>}] [-Confirmer] [-WhatIf] [<CommonParameters>]

Description

L'applet de commande Register-PSSessionConfiguration crée et inscrit une nouvelle configuration de session sur l'ordinateur local Il s'agit d'une applet de commande avancée, conçue pour être employée par les administrateurs système pour la gestion des configurations de session personnalisées des utilisateurs.

Chaque session à distance Windows PowerShell utilise une configuration de session. Lorsque les utilisateurs créent une session qui se connecte à l'ordinateur, ils peuvent sélectionner une configuration ou employer les configurations par défaut qui sont inscrites lors de l'activation de la communication à distance Windows PowerShell. Les utilisateurs peuvent également définir la variable de préférence $PSSessionConfigurationName, qui spécifie une configuration par défaut pour les sessions créées dans la session active.

La configuration de session configure l'environnement pour la session. Vous pouvez définir la configuration en utilisant un assembly qui implémente une nouvelle classe de configuration et un script qui s'exécute dans la session. La configuration peut déterminer les commandes disponibles dans la session et inclure des paramètres qui protègent l'ordinateur, tels que ceux limitant le volume de données que la session peut recevoir à distance dans un objet ou une commande unique. Vous pouvez également spécifier un descripteur de sécurité qui détermine les autorisations requises pour l'utilisation de la configuration.

Paramètres

-ApplicationBase <string>

Spécifie le chemin d'accès au fichier d'assembly (*.ddl) qui est indiqué dans la valeur du paramètre AssemblyName. Utilisez ce paramètre lorsque la valeur du paramètre AssemblyName n'inclut pas de chemin d'accès. L'emplacement par défaut est le répertoire actif.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Current directory

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-AssemblyName <string>

Spécifie le nom d'un fichier d'assembly (* .dll) dans lequel le type de configuration est défini. Vous pouvez indiquer le chemin d'accès au fichier .dll dans ce paramètre ou dans la valeur du paramètre ApplicationBase.

Ce paramètre est obligatoire lorsque le paramètre ConfigurationTypeName est spécifié.

Obligatoire ?

true

Position ?

2

Valeur par défaut

aucun

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-ConfigurationTypeName <string>

Spécifie le nom qualifié complet du type Microsoft .NET Framework utilisé pour cette configuration. Le type que vous indiquez doit implémenter la classe System.Management.Automation.Remoting.PSSessionConfiguration.

Pour spécifier le fichier d'assembly (.dll) qui implémente le type de configuration, utilisez les paramètres AssemblyName et AssemblyBase.

La création d'un type vous permet de contrôler un plus grand nombre d'aspects de la configuration de session, tels que l'exposition ou le masquage de certains paramètres des applets de commande, ou la définition des limites de taille de données et d'objets que les utilisateurs ne peuvent pas remplacer.

Si vous omettez ce paramètre, la classe DefaultRemotePowerShellConfiguration est utilisée pour la configuration de session.

Obligatoire ?

true

Position ?

3

Valeur par défaut

System.Management.Automation.Remoting.PSSessionConfiguration

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-Force

Supprime toutes les invites utilisateur et redémarre le service WinRM sans demander de confirmation. Pour que la modification de la configuration prenne effet, le service doit être redémarré.

Pour empêcher un redémarrage et supprimer l'invite proposant cette opération, utilisez le paramètre NoServiceRestart.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-MaximumReceivedDataSizePerCommandMB <double>

Limite le volume de données pouvant être envoyé à cet ordinateur dans une commande distante unique. Entrez la taille des données en mégaoctets (Mo). La valeur par défaut est 50 Mo.

Si une limite est définie pour la taille des données dans le type de configuration qui est spécifié dans le paramètre ConfigurationTypeName, elle est utilisée et la valeur de ce paramètre est ignorée.

Obligatoire ?

false

Position ?

named

Valeur par défaut

50

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-MaximumReceivedObjectSizeMB <double>

Limite le volume de données pouvant être envoyé à cet ordinateur dans un objet unique. Entrez la taille des données en mégaoctets (Mo). La valeur par défaut est 10 Mo.

Si une limite est définie pour la taille des objets dans le type de configuration qui est spécifié dans le paramètre ConfigurationTypeName, elle est utilisée et la valeur de ce paramètre est ignorée.

Obligatoire ?

false

Position ?

named

Valeur par défaut

10

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-Name <string>

Spécifie le nom de la configuration de session. Ce paramètre est obligatoire.

Obligatoire ?

true

Position ?

1

Valeur par défaut

aucun

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-NoServiceRestart

Ne redémarre pas le service WinRM et supprime l'invite proposant de le redémarrer.

Par défaut, lorsque vous entrez une commande Register-PSSessionConfiguration, vous êtes invité à redémarrer le service WinRM pour appliquer la nouvelle configuration de session. La nouvelle configuration de session n'est pas effective tant que le service WinRM n'a pas été redémarré.

Pour redémarrer le service WinRM sans demande de confirmation, utilisez le paramètre Force. Pour démarrer le service WinRM manuellement, utilisez l'applet de commande Restart-Service.

Obligatoire ?

false

Position ?

named

Valeur par défaut

False

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-ProcessorArchitecture <string>

Spécifie une architecture de processeur pour la configuration. Cette valeur détermine si une version 32 bits ou 64 bits du processus qui héberge Windows PowerShell est démarrée lors de l'utilisation de la configuration. Les valeurs valides sont x86, AMD64 et IA64.

La valeur par défaut est déterminée par l'architecture de processeur de l'ordinateur qui héberge la configuration de session.

Obligatoire ?

false

Position ?

named

Valeur par défaut

The processor architecture of the host computer.

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-SecurityDescriptorSDDL <string>

Spécifie une chaîne au format SDDL (Security Descriptor Definition Language) pour la configuration.

Cette chaîne détermine les autorisations qui sont obligatoires pour l'utilisation de la nouvelle configuration de session. Pour employer une configuration de session dans une session, les utilisateurs doivent au moins disposer de l'autorisation « Exécution(Invoke) » pour cette configuration.

Si le descripteur de sécurité est complexe, utilisez le paramètre ShowSecurityDescriptorUI au lieu de ce paramètre. Vous ne pouvez pas employer les deux paramètres dans la même commande.

Si vous omettez ce paramètre, le SDDL racine du service WinRM est utilisé pour cette configuration. Pour afficher ou modifier le SDDL racine, utilisez le fournisseur de Gestion des services Web. Par exemple, « get-item wsman:\localhost\service\rootSDDL ». Pour plus d'informations sur le fournisseur de Gestion des services Web, tapez « get-help wsman ».

Obligatoire ?

false

Position ?

named

Valeur par défaut

The value of the root SDDL

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-ShowSecurityDescriptorUI

Affiche une feuille de propriétés qui vous permet de créer le SDDL de la configuration de session. La feuille de propriétés apparaît lorsque vous entrez la commande Register-PSSessionConfiguration, puis redémarrez le service WinRM.

Lorsque vous définissez les autorisations pour la configuration, n'oubliez pas que les utilisateurs doivent au moins disposer de l'autorisation « Exécution(Invoke) » pour employer la configuration de session dans une session.

Vous ne pouvez pas utiliser le paramètre SecurityDescriptorSDDL et ce paramètre dans la même commande.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-StartupScript <string>

Spécifie le chemin d'accès complet à un script Windows PowerShell. Le script spécifié est exécuté dans la nouvelle session qui utilise la configuration de session.

Vous pouvez employer le script pour configurer plus en détail la session. Si le script génère une erreur (même une erreur sans fin d'exécution), la session n'est pas créée et la commande New-PSSession de l'utilisateur échoue.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-ThreadApartmentState <ApartmentState>

Détermine l'état de cloisonnement des threads de la session. Les valeurs valides sont STA, MTA et Unknown. La valeur par défaut est Unknown.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Unknown

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-ThreadOptions <PSThreadOptions>

Détermine la façon dont les threads sont créés et utilisés lorsqu'une commande est exécutée dans la session. Les valeurs valides sont Default, ReuseThread, UseCurrentThread et UseNewThread. La valeur par défaut est UseCurrentThread.

Obligatoire ?

false

Position ?

named

Valeur par défaut

UseCurrentThread

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-Confirmer

Vous invite à confirmer l'exécution de la commande.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-WhatIf

Décrit le résultat que vous obtiendriez en exécutant la commande, sans réellement l'exécuter.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

<CommonParameters>

Cette applet de commande prend en charge les paramètres courants : -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer et -OutVariable. Pour plus d'informations, consultez about_Commonparameters.

Entrées et sorties

Le type d'entrée est le type des objets que vous pouvez diriger vers l'applet de commande. Le type de retour est le type des objets que l'applet de commande retourne.

Entrées

Aucun

Vous ne pouvez pas diriger d'entrée vers cette applet de commande.

Sorties

Microsoft.WSMan.Management.WSManConfigContainerElement

Remarques

Pour exécuter cette applet de commande sur Windows Vista, Windows Server 2008 et les versions ultérieures de Windows, vous devez démarrer Windows PowerShell avec l'option Exécuter en tant qu'administrateur.

Cette applet de commande génère du code XML, qui représente une configuration de plug-in Services Web pour la gestion (Gestion des services Web), et envoie ce code au service Gestion des services Web, qui inscrit le plug-in sur l'ordinateur local (« new-item wsman:\localhost\plugin »).

Exemple 1

C:\PS>register-pssessionConfiguration -name NewShell -applicationBase c:\MyShells\ -assemblyName MyShell.dll -configurationTypeName MyClass

Description
-----------
Cette commande inscrit la configuration de session NewShell. Elle utilise les paramètres ApplicationName et ApplicationBase pour spécifier l'emplacement du fichier MyShell.dll, qui indique les applets de commande et les fournisseurs présents dans la configuration de session. Elle fait également appel au paramètre ConfigurationTypeName pour spécifier une nouvelle classe qui configure plus en détail la session.

Pour employer cette configuration, les utilisateurs doivent taper « new-pssession -configurationname newshell ».






Exemple 2

C:\PS>register-pssessionConfiguration -name MaintenanceShell -startupScript c:\ps-test\Maintenance.ps1

Description
-----------
Cette commande inscrit la configuration MaintenanceShell sur l'ordinateur local. Elle utilise le paramètre StartupScript pour spécifier le script Maintenance.ps1.

Lorsqu'un utilisateur emploie une commande New-PSSession et sélectionne la configuration MaintenanceShell, le script Maintenance.ps1 est exécuté dans la nouvelle session. Le script peut configurer la session, et notamment importer des modules, ajouter des composants logiciels enfichables Windows PowerShell et définir la stratégie d'exécution de la session. Si le script génère des erreurs, telles que des erreurs sans fin d'exécution, la commande New-PSSession échoue.






Exemple 3

C:\PS>$sddl = "O:NSG:BAD:P(A;;GA;;;BA)S:P(AU;FA;GA;;;WD)(AU;FA;SA;GWGX;;WD)"

C:\PS> register-pssessionconfiguration -name AdminShell -securityDescriptorSDDL $sddl -maximumReceivedObjectSizeMB 20 -startupScript c:\scripts\AdminShell.ps1

Description
-----------
Cet exemple permet d'inscrire la configuration de session AdminShell. 

La première commande enregistre un SDDL personnalisé dans la variable $sddl. 

La deuxième commande inscrit le nouvel interpréteur de commandes. Elle utilise le paramètre SecurityDescritorSDDL pour spécifier le SDDL dans la valeur de la variable $sddl et le paramètre MaximumReceivedObjectSizeMB pour augmenter la limite de taille définie pour les objets. Elle fait également appel au paramètre StartupScript pour spécifier un script qui configure la session.

Au lieu du paramètre SecurityDescriptorSDDL, vous pouvez utiliser le paramètre ShowSecurityDescriptorUI, qui affiche une feuille de propriétés permettant de définir des autorisations pour la configuration de session. Lorsque vous cliquez sur « OK » dans la feuille de propriétés, l'outil génère un SDDL pour la configuration de session.






Exemple 4

C:\PS>$s = register-pssessionConfiguration -name MaintenanceShell -startupScript c:\ps-test\Maintenance.ps1

C:\PS> $s

   WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Plugin

Name                      Type                 Keys
----                      ----                 ----
MaintenanceShell          Container            {Name=MaintenanceShell}


C:\PS> $s.getType().fullname
TypeName: Microsoft.WSMan.Management.WSManConfigContainerElement


C:\PS> $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


C:\PS> dir wsman:\localhost\plugin

Name                      Type                 Keys
----                      ----                 ----
MaintenanceShell          Container            {Name=MaintenanceShell}
microsoft.powershell      Container            {Name=microsoft.powershell}
microsoft.powershell32    Container            {Name=microsoft.powershell32}

Description
-----------
Cet exemple montre qu'une commande Register-PSSessionConfiguration retourne un objet WSManConfigContainerElement. Il indique également comment rechercher des éléments conteneurs dans le lecteur WSMan:.

La première commande utilise l'applet de commande Register-PSSessionConfiguration pour inscrire la configuration MaintenanceShell. Elle enregistre l'objet retourné par l'applet de commande dans la variable $j.

La deuxième commande affiche le contenu de la variable $s. 

La troisième commande utilise la méthode GetType et sa propriété FullName pour afficher le nom de type de l'objet retourné par Register-PSSessionConfiguration.

La quatrième commande utilise l'applet de commande Format-List pour afficher toutes les propriétés de l'objet retourné par Register-PSSessionConfiguration dans une liste. La propriété PSPath indique que l'objet est stocké dans un répertoire du lecteur WSMan:.

La cinquième commande utilise l'applet de commande Get-ChildItem pour afficher les éléments présents dans le chemin d'accès WSMan:\LocalHost\PlugIn. Ces éléments incluent la nouvelle configuration MaintenanceShell et les deux configurations par défaut fournies avec Windows PowerShell.






Exemple 5

C:\PS>register-pssessionconfiguration -name WithProfile -startupScript add-profile.ps1

# Add-Profile.ps1

. c:\users\admin01\documents\windowspowershell\profile.ps1

Description
-----------
Cette commande crée et inscrit la configuration de session WithProfile sur l'ordinateur local. Elle utilise le paramètre StartupScript pour demander à Windows PowerShell d'exécuter le script spécifié dans toute session qui emploie la configuration de session.

Le contenu du script spécifié, Add-Profile.ps1, est également affiché. Le script contient une commande unique qui utilise l'appel de source de type « dot sourcing » pour exécuter le profil CurrentUserAllHosts de l'utilisateur dans la portée actuelle de la session.

Pour plus d'informations sur les profils, consultez about_Profiles. Pour plus d'informations sur l'appel de source de type « dot sourcing », consultez about_Scopes.






Voir aussi




Table des matières