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