Partager via


New-PSSessionConfigurationFile

Crée un fichier qui définit une configuration de session.

Syntaxe

Default (Par défaut)

New-PSSessionConfigurationFile
    [-Path] <String>
    [-SchemaVersion <Version>]
    [-Guid <Guid>]
    [-Author <String>]
    [-Description <String>]
    [-CompanyName <String>]
    [-Copyright <String>]
    [-SessionType <SessionType>]
    [-TranscriptDirectory <String>]
    [-RunAsVirtualAccount]
    [-RunAsVirtualAccountGroups <String[]>]
    [-MountUserDrive]
    [-UserDriveMaximumSize <Int64>]
    [-GroupManagedServiceAccount <String>]
    [-ScriptsToProcess <String[]>]
    [-RoleDefinitions <IDictionary>]
    [-RequiredGroups <IDictionary>]
    [-LanguageMode <PSLanguageMode>]
    [-ExecutionPolicy <ExecutionPolicy>]
    [-PowerShellVersion <Version>]
    [-ModulesToImport <Object[]>]
    [-VisibleAliases <String[]>]
    [-VisibleCmdlets <Object[]>]
    [-VisibleFunctions <Object[]>]
    [-VisibleExternalCommands <String[]>]
    [-VisibleProviders <String[]>]
    [-AliasDefinitions <IDictionary[]>]
    [-FunctionDefinitions <IDictionary[]>]
    [-VariableDefinitions <Object>]
    [-EnvironmentVariables <IDictionary>]
    [-TypesToProcess <String[]>]
    [-FormatsToProcess <String[]>]
    [-AssembliesToLoad <String[]>]
    [-Full]
    [<CommonParameters>]

Description

L’applet New-PSSessionConfigurationFile de commande crée un fichier de paramètres qui définissent une configuration de session et l’environnement des sessions créées à l’aide de la configuration de session. Pour utiliser le fichier dans une configuration de session, utilisez le paramètre Path des applets de Register-PSSessionConfiguration commande ou Set-PSSessionConfiguration .

Le fichier de configuration de session créé New-PSSessionConfigurationFile est un fichier texte lisible par l’homme qui contient une table de hachage des propriétés et des valeurs de configuration de session. Le fichier a une extension de nom de .pssc fichier.

Tous les paramètres de New-PSSessionConfigurationFile sont facultatifs, à l’exception du paramètre Path . Si vous omettez un paramètre, la clé correspondante dans le fichier de configuration de session fait l’objet d’un commentaire, sauf indication contraire dans la description du paramètre.

Une configuration de session, également appelée point de terminaison, est un ensemble de paramètres sur l’ordinateur local qui définissent l’environnement des sessions PowerShell (PSSessions) qui se connectent à l’ordinateur. Toutes les PSSessions utilisent une configuration de session. Pour spécifier une configuration de session particulière, utilisez le paramètre ConfigurationName des applets de commande qui créent une session, telles que l’applet de New-PSSession commande.

Un fichier de configuration de session permet de définir facilement une configuration de session sans scripts complexes ni assemblages de code. Les paramètres du fichier sont utilisés avec le script de démarrage facultatif et tous les assemblys de la configuration de session.

Pour plus d’informations sur les configurations de session et les fichiers de configuration de session, consultez about_Session_Configurations et about_Session_Configuration_Files.

Cette applet de commande a été introduite dans PowerShell 3.0.

Exemples

Exemple 1 : Création et utilisation d’une session NoLanguage

Cet exemple montre comment créer et les effets de l’utilisation d’une session sans langue.

Les étapes sont les suivantes :

  1. Créez un nouveau fichier de configuration.
  2. Enregistrez la configuration.
  3. Créez une session qui utilise la configuration.
  4. Exécutez des commandes dans cette nouvelle session.

Pour exécuter les commandes de cet exemple, démarrez PowerShell à l’aide de l’option Exécuter en tant qu’administrateur. Cette option est requise pour exécuter l’applet Register-PSSessionConfiguration de commande.

New-PSSessionConfigurationFile -Path .\NoLanguage.pssc -LanguageMode NoLanguage
Register-PSSessionConfiguration -Path .\NoLanguage.pssc -Name NoLanguage -Force
$NoLanguageSession = New-PSSession -ComputerName Srv01 -ConfigurationName NoLanguage
Invoke-Command -Session $NoLanguageSession -ScriptBlock {
  if ((Get-Date) -lt '1January2099') {'Before'} else {'After'}
}
The syntax is not supported by this runspace. This might be because it is in no-language mode.
    + CategoryInfo          : ParserError: (if ((Get-Date) ...') {'Before'}  :String) [], ParseException
    + FullyQualifiedErrorId : ScriptsNotAllowed
    + PSComputerName        : localhost

Dans cet exemple, le échoue car Invoke-Command est défini sur NoLanguage.

Exemple 2 : Création et utilisation d’une session RestrictedLanguage

Cet exemple montre comment créer et les effets de l’utilisation d’une session sans langue.

Les étapes sont les suivantes :

  1. Créez un nouveau fichier de configuration.
  2. Enregistrez la configuration.
  3. Créez une session qui utilise la configuration.
  4. Exécutez des commandes dans cette nouvelle session.

Pour exécuter les commandes de cet exemple, démarrez PowerShell à l’aide de l’option Exécuter en tant qu’administrateur. Cette option est requise pour exécuter l’applet Register-PSSessionConfiguration de commande.

New-PSSessionConfigurationFile -Path .\NoLanguage.pssc -LanguageMode RestrictedLanguage
Register-PSSessionConfiguration -Path .\NoLanguage.pssc -Name RestrictedLanguage -Force
$RestrictedSession = New-PSSession -ComputerName Srv01 -ConfigurationName RestrictedLanguage
Invoke-Command -Session $RestrictedSession -ScriptBlock {
  if ((Get-Date) -lt '1January2099') {'Before'} else {'After'}
}
Before

Dans cet exemple, le réussit car Invoke-Command est défini sur RestrictedLanguage.

Exemple 3 : Modification d’un fichier de configuration de session

Cet exemple montre comment modifier le fichier de configuration de session utilisé dans une session existante nommée « ITTasks ». Auparavant, ces sessions ne comportaient que les modules de base et un module interne ITTasks . L’administrateur souhaite ajouter le module PSScheduledJob aux sessions créées à l’aide de la configuration de session ITTasks.

New-PSSessionConfigurationFile -Path .\New-ITTasks.pssc -ModulesToImport Microsoft*, ITTasks, PSScheduledJob
Set-PSSessionConfiguration -Name ITTasks -Path .\New-ITTasks.pssc

Applet New-PSSessionConfigurationFile de commande permettant de créer un fichier de configuration de session qui importe les modules requis. L’applet Set-PSSessionConfiguration de commande remplace le fichier de configuration actuel par le nouveau. Cette nouvelle configuration n’affecte que les nouvelles sessions créées après la modification. Les sessions « ITTasks » existantes ne sont pas affectées.

Exemple 4 : Modifier un fichier de configuration de session

Cet exemple montre comment modifier une configuration de session en modifiant la copie de configuration de session active du fichier de configuration. Pour modifier la copie de configuration de session du fichier de configuration, vous devez disposer d’un accès de contrôle total au fichier. Cela peut vous obliger à modifier les autorisations sur le fichier.

Dans ce scénario, nous souhaitons ajouter un nouvel alias pour l’applet Select-String de commande en modifiant le fichier de configuration actif.

L’exemple de code ci-dessous effectue les étapes suivantes pour effectuer cette modification :

  1. Récupérez le chemin d’accès au fichier de configuration pour la session ITConfig.
  2. L’utilisateur modifie le fichier de configuration à l’aide deNotepad.exe pour modifier la valeur AliasDefinitions comme suit : AliasDefinitions = @(@{Name='slst';Value='Select-String'}).
  3. Testez le fichier de configuration mis à jour.
$ITConfig = Get-PSSessionConfiguration -Name ITConfig
notepad.exe $ITConfig.ConfigFilePath
Test-PSSessionConfigurationFile -Path $ITConfig.ConfigFilePath
True

Utilisez le paramètre Verbose avec Test-PSSessionConfigurationFile pour afficher les erreurs détectées. L’applet de commande est renvoyée $true si aucune erreur n’est détectée dans le fichier.

Exemple 5 : Créer un exemple de fichier de configuration

Cet exemple montre une New-PSSessionConfigurationFile commande qui utilise tous les paramètres de l’applet de commande. Il est inclus pour afficher le format d’entrée correct pour chaque paramètre.

Le fichier SampleFile.pssc résultant s’affiche dans la sortie.

$configSettings = @{
    Path = '.\SampleFile.pssc'
    SchemaVersion = '1.0.0.0'
    Author = 'User01'
    Copyright = '(c) Fabrikam Corporation. All rights reserved.'
    CompanyName = 'Fabrikam Corporation'
    Description = 'This is a sample file.'
    ExecutionPolicy = 'AllSigned'
    PowerShellVersion = '3.0'
    LanguageMode = 'FullLanguage'
    SessionType = 'Default'
    EnvironmentVariables = @{TESTSHARE='\\Test2\Test'}
    ModulesToImport = @{ModuleName='PSScheduledJob'; ModuleVersion='1.0.0.0'; GUID='50cdb55f-5ab7-489f-9e94-4ec21ff51e59'},'PSDiagnostics'
    AssembliesToLoad = 'System.Web.Services','FSharp.Compiler.CodeDom.dll'
    TypesToProcess = 'Types1.ps1xml','Types2.ps1xml'
    FormatsToProcess = 'CustomFormats.ps1xml'
    ScriptsToProcess = 'Get-Inputs.ps1'
    AliasDefinitions = @{Name='hlp';Value='Get-Help';Description='Gets help.';Options='AllScope'},
        @{Name='Update';Value='Update-Help';Description='Updates help';Options='ReadOnly'}
    FunctionDefinitions = @{Name='Get-Function';ScriptBlock={Get-Command -CommandType Function};Options='ReadOnly'}
    VariableDefinitions = @{Name='WarningPreference';Value='SilentlyContinue'}
    VisibleAliases = 'c*','g*','i*','s*'
    VisibleCmdlets = 'Get*'
    VisibleFunctions = 'Get*'
    VisibleProviders = 'FileSystem','Function','Variable'
    RunAsVirtualAccount = $true
    RunAsVirtualAccountGroups = 'Backup Operators'
}
New-PSSessionConfigurationFile @configSettings
Get-Content SampleFile.pssc
@{

# Version number of the schema used for this document
SchemaVersion = '1.0.0.0'

# ID used to uniquely identify this document
GUID = '1caeff7f-27ca-4360-97cf-37846f594235'

# Author of this document
Author = 'User01'

# Description of the functionality provided by these settings
Description = 'This is a sample file.'

# Company associated with this document
CompanyName = 'Fabrikam Corporation'

# Copyright statement for this document
Copyright = '(c) Fabrikam Corporation. All rights reserved.'

# Session type defaults to apply for this session configuration. Can be 'RestrictedRemoteServer' (recommended), 'Empty', or 'Default'
SessionType = 'Default'

# Directory to place session transcripts for this session configuration
# TranscriptDirectory = 'C:\Transcripts\'

# Whether to run this session configuration as the machine's (virtual) administrator account
RunAsVirtualAccount = $true

# Groups associated with machine's (virtual) administrator account
RunAsVirtualAccountGroups = 'Backup Operators'

# Scripts to run when applied to a session
ScriptsToProcess = 'Get-Inputs.ps1'

# User roles (security groups), and the role capabilities that should be applied to them when applied to a session
# RoleDefinitions = @{ 'CONTOSO\SqlAdmins' = @{ RoleCapabilities = 'SqlAdministration' }; 'CONTOSO\SqlManaged' = @{ RoleCapabilityFiles = 'C:\RoleCapability\SqlManaged.psrc' }; 'CONTOSO\ServerMonitors' = @{ VisibleCmdlets = 'Get-Process' } }

# Language mode to apply when applied to a session. Can be 'NoLanguage' (recommended), 'RestrictedLanguage', 'ConstrainedLanguage', or 'FullLanguage'
LanguageMode = 'FullLanguage'

# Execution policy to apply when applied to a session
ExecutionPolicy = 'AllSigned'

# Version of the PowerShell engine to use when applied to a session
PowerShellVersion = '3.0'

# Modules to import when applied to a session
ModulesToImport = @{
    'GUID' = '50cdb55f-5ab7-489f-9e94-4ec21ff51e59'
    'ModuleName' = 'PSScheduledJob'
    'ModuleVersion' = '1.0.0.0' }, 'PSDiagnostics'

# Aliases to make visible when applied to a session
VisibleAliases = 'c*', 'g*', 'i*', 's*'

# Cmdlets to make visible when applied to a session
VisibleCmdlets = 'Get*'

# Functions to make visible when applied to a session
VisibleFunctions = 'Get*'

# Providers to make visible when applied to a session
VisibleProviders = 'FileSystem', 'Function', 'Variable'

# Aliases to be defined when applied to a session
AliasDefinitions = @{
    'Description' = 'Gets help.'
    'Name' = 'hlp'
    'Options' = 'AllScope'
    'Value' = 'Get-Help' }, @{
    'Description' = 'Updates help'
    'Name' = 'Update'
    'Options' = 'ReadOnly'
    'Value' = 'Update-Help' }

# Functions to define when applied to a session
FunctionDefinitions = @{
    'Name' = 'Get-Function'
    'Options' = 'ReadOnly'
    'ScriptBlock' = {Get-Command -CommandType Function} }

# Variables to define when applied to a session
VariableDefinitions = @{
    'Name' = 'WarningPreference'
    'Value' = 'SilentlyContinue' }

# Environment variables to define when applied to a session
EnvironmentVariables = @{
    'TESTSHARE' = '\\Test2\Test' }

# Type files (.ps1xml) to load when applied to a session
TypesToProcess = 'Types1.ps1xml', 'Types2.ps1xml'

# Format files (.ps1xml) to load when applied to a session
FormatsToProcess = 'CustomFormats.ps1xml'

# Assemblies to load when applied to a session
AssembliesToLoad = 'System.Web.Services', 'FSharp.Compiler.CodeDom.dll'

}

Paramètres

-AliasDefinitions

Ajoute les alias spécifiés aux sessions qui utilisent la configuration de session. Entrez une table de hachage avec les clés suivantes :

  • Nom : nom de l’alias. Cette clé est requise.
  • Valeur : commande représentée par l’alias. Cette clé est requise.
  • Description : chaîne de texte qui décrit l’alias. Cette clé est facultative.
  • Options - Options d’alias. Cette clé est facultative. La valeur par défaut est Aucun. Les valeurs acceptables pour ce paramètre sont : None, ReadOnly, Constant, Private ou AllScope.

Par exemple : @{Name='hlp';Value='Get-Help';Description='Gets help';Options='ReadOnly'}

Propriétés du paramètre

Type:

IDictionary[]

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

-AssembliesToLoad

Spécifie les assemblys à charger dans les sessions qui utilisent la configuration de 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

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Author

Spécifie l’auteur de la configuration de session ou du fichier de configuration. La valeur par défaut est l’utilisateur actuel. La valeur de ce paramètre est visible dans le fichier de configuration de session, mais il ne s’agit pas d’une propriété de l’objet de configuration de 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

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-CompanyName

Spécifie la société qui a créé la configuration de session ou le fichier de configuration. La valeur par défaut est Unknown. La valeur de ce paramètre est visible dans le fichier de configuration de session, mais il ne s’agit pas d’une propriété de l’objet de configuration de session.

Propriétés du paramètre

Type:String
Valeur par défaut:Unknown
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

Spécifie un copyright pour le fichier de configuration de session. La valeur de ce paramètre est visible dans le fichier de configuration de session, mais il ne s’agit pas d’une propriété de l’objet de configuration de session.

Si vous omettez ce paramètre, New-PSSessionConfigurationFile génère une déclaration de copyright à l’aide de la valeur du paramètre Author .

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Description

Spécifie une description de la configuration de session ou du fichier de configuration de session. La valeur de ce paramètre est visible dans le fichier de configuration de session, mais il ne s’agit pas d’une propriété de l’objet de configuration de 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

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-EnvironmentVariables

Ajoute des variables d’environnement à la session. Entrez une table de hachage dans laquelle les clés sont les noms des variables d’environnement et les valeurs sont les valeurs des variables d’environnement.

Par exemple : EnvironmentVariables=@{TestShare='\\Server01\TestShare'}

Propriétés du paramètre

Type:IDictionary
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

-ExecutionPolicy

Spécifie la stratégie d’exécution des sessions qui utilisent la configuration de session. Si vous omettez ce paramètre, la valeur de la clé ExecutionPolicy dans le fichier de configuration de session est Restreint. Pour plus d’informations sur les stratégies d’exécution dans PowerShell, consultez about_Execution_Policies.

Propriétés du paramètre

Type:ExecutionPolicy
Valeur par défaut:None
Valeurs acceptées:Unrestricted, RemoteSigned, AllSigned, Restricted, Default, Bypass, Undefined
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

-FormatsToProcess

Spécifie les fichiers de mise en forme (.ps1xml) qui s’exécutent dans des sessions qui utilisent la configuration de session. La valeur de ce paramètre doit être un chemin d’accès complet ou absolu des fichiers de mise en forme.

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

-Full

Indique que cette opération inclut toutes les propriétés de configuration possibles dans le fichier de configuration de session.

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

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-FunctionDefinitions

Ajoute les fonctions spécifiées aux sessions qui utilisent la configuration de session. Entrez une table de hachage avec les clés suivantes :

  • Nom : nom de la fonction. Cette clé est requise.
  • ScriptBlock - Corps de la fonction. Entrez un bloc de script. Cette clé est requise.
  • Options - Options de fonction. Cette clé est facultative. La valeur par défaut est Aucun. Les valeurs acceptables pour ce paramètre sont : None, ReadOnly, Constant, Private ou AllScope.

Par exemple : @{Name='Get-PowerShellProcess';ScriptBlock={Get-Process powershell};Options='AllScope'}

Propriétés du paramètre

Type:

IDictionary[]

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

-GroupManagedServiceAccount

Configure les sessions à l’aide de cette configuration de session pour s’exécuter dans le contexte du compte de service géré de groupe spécifié. L’ordinateur sur lequel cette configuration de session est inscrite doit avoir l’autorisation de demander le mot de passe gMSA pour que les sessions soient créées avec succès. Ce champ ne peut pas être utilisé avec le paramètre RunAsVirtualAccount .

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

-Guid

Spécifie un identificateur unique pour le fichier de configuration de session. Si vous omettez ce paramètre, New-PSSessionConfigurationFile génère un GUID pour le fichier. Pour créer un GUID dans PowerShell, tapez New-Guid.

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

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-LanguageMode

Détermine quels éléments du langage PowerShell sont autorisés dans les sessions qui utilisent cette configuration de session. Vous pouvez utiliser ce paramètre pour restreindre les commandes que certains utilisateurs peuvent exécuter sur l’ordinateur.

Les valeurs acceptables pour ce paramètre sont les suivantes :

  • FullLanguage - Tous les éléments de langue sont autorisés.
  • ConstrainedLanguage : les commandes qui contiennent des scripts à évaluer ne sont pas autorisées. Le mode ConstrainedLanguage restreint l’accès des utilisateurs aux types, objets ou méthodes Microsoft .NET Framework.
  • NoLanguage : les utilisateurs peuvent exécuter des applets de commande et des fonctions, mais ne sont pas autorisés à utiliser des éléments de langage, tels que des blocs de script, des variables ou des opérateurs.
  • RestrictedLanguage : les utilisateurs peuvent exécuter des applets de commande et des fonctions, mais ne sont pas autorisés à utiliser des blocs de script ou des variables, à l’exception des variables autorisées suivantes : $PSCulture, $PSUICulture, $true, $falseet $null. Les utilisateurs ne peuvent utiliser que les opérateurs de comparaison de base (-eq, -gt, -lt). Les instructions d’affectation, les références de propriété et les appels de méthode ne sont pas autorisés.

La valeur par défaut du paramètre LanguageMode dépend de la valeur du paramètre SessionType .

  • Vide - NoLanguage
  • RestrictedRemoteServer - NoLanguage
  • Par défaut - FullLanguage

Propriétés du paramètre

Type:PSLanguageMode
Valeur par défaut:None
Valeurs acceptées:FullLanguage, RestrictedLanguage, NoLanguage, ConstrainedLanguage
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

-ModulesToImport

Spécifie les modules et les composants logiciels enfichables qui sont automatiquement importés dans des sessions qui utilisent la configuration de session.

Par défaut, seul le composant logiciel enfichable Microsoft.PowerShell.Core est importé dans les sessions distantes, mais à moins que les applets de commande ne soient exclues, les utilisateurs peuvent utiliser les applets de commande et Import-Module pour ajouter des Add-PSSnapin modules et des composants logiciels enfichables à la session.

Chaque module ou composant logiciel enfichable dans la valeur de ce paramètre peut être représenté par une chaîne ou sous la forme d’une table de hachage. Une chaîne de module se compose uniquement du nom du module ou du composant logiciel enfichable. Une table de hachage de module peut inclure ModuleName, ModuleVersionet GUID clés. Seule la clé ModuleName est requise.

Par exemple, la valeur suivante se compose d’une chaîne et d’une table de hachage. Toute combinaison de chaînes et de tables de hachage, dans n’importe quel ordre, est valide.

'TroubleshootingPack', @{ModuleName='PSDiagnostics'; ModuleVersion='1.0.0.0';GUID='c61d6278-02a3-4618-ae37-a524d40a7f44'}

La valeur du paramètre ModulesToImport de l’applet Register-PSSessionConfiguration de commande est prioritaire sur la valeur de la clé ModulesToImport dans le fichier de configuration de session.

Propriétés du paramètre

Type:

Object[]

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

-MountUserDrive

Configure les sessions qui utilisent cette configuration de session pour exposer PSDrive User: . Les lecteurs utilisateur sont uniques pour chaque utilisateur connecté et permettent aux utilisateurs de copier des données vers et depuis des points de terminaison PowerShell, même si le fournisseur FileSystem n’est pas exposé. Les racines de lecteur utilisateur sont créées sous $Env:LOCALAPPDATA\Microsoft\Windows\PowerShell\DriveRoots\. Pour chaque utilisateur se connectant au point de terminaison, un dossier est créé avec le nom ${Env:USERDOMAIN}_${Env:USERNAME}. Pour les ordinateurs des groupes de travail, la valeur est $Env:USERDOMAIN le nom d’hôte.

Le contenu du lecteur utilisateur persiste entre les sessions utilisateur et ne sont pas supprimés automatiquement. Par défaut, les utilisateurs peuvent stocker jusqu’à 50 Mo de données dans le lecteur utilisateur. Cela peut être personnalisé avec le paramètre UserDriveMaximumSize .

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

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Path

Spécifie le chemin d’accès et le nom de fichier du fichier de configuration de session. Le fichier doit avoir une extension de nom de .pssc fichier.

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:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-PowerShellVersion

Spécifie la version du moteur PowerShell dans les sessions qui utilisent la configuration de session. Les valeurs acceptables pour ce paramètre sont : 2,0 et 3,0. Si vous omettez ce paramètre, la clé PowerShellVersion est commentée et la version la plus récente de PowerShell s’exécute dans la session.

La valeur du paramètre PSVersion de l’applet Register-PSSessionConfiguration de commande est prioritaire sur la valeur de la clé PowerShellVersion dans le fichier de configuration de session.

Propriétés du paramètre

Type:Version
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

-RequiredGroups

Spécifie les règles d’accès conditionnel pour les utilisateurs qui se connectent à des sessions qui utilisent cette configuration de session.

Entrez une table de hachage pour composer votre liste de règles en utilisant uniquement 1 clé par table de hachage, « And » ou « Or », et définissez la valeur sur un tableau de noms de groupes de sécurité ou des tables de hachage supplémentaires.

Exemple nécessitant la connexion d’utilisateurs pour qu’ils soient membres d’un groupe unique : @{ And = 'MyRequiredGroup' }

Exemple exigeant que les utilisateurs appartiennent au groupe A, ou aux deux groupes B et C, pour accéder au point de terminaison : @{ Or = 'GroupA', @{ And = 'GroupB', 'GroupC' } }

Propriétés du paramètre

Type:IDictionary
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

-RoleDefinitions

Spécifie le mappage entre les groupes de sécurité (ou les utilisateurs) et les fonctionnalités de rôle. Les utilisateurs bénéficieront d’un accès à toutes les fonctionnalités de rôle qui s’appliquent à leur appartenance au groupe au moment de la création de la session.

Entrez une table de hachage dans laquelle les clés sont le nom du groupe de sécurité et les valeurs sont des tables de hachage qui contiennent une liste de fonctionnalités de rôle qui doivent être mises à la disposition du groupe de sécurité.

Par exemple : @{'Contoso\Level 2 Helpdesk Users' = @{ RoleCapabilities = 'Maintenance', 'ADHelpDesk' }}

Propriétés du paramètre

Type:IDictionary
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

-RunAsVirtualAccount

Configure les sessions à l’aide de cette configuration de session pour qu’elles soient exécutées en tant que compte d’administrateur (virtuel) de l’ordinateur. Ce champ ne peut pas être utilisé avec le paramètre GroupManagedServiceAccount .

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

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-RunAsVirtualAccountGroups

Spécifie les groupes de sécurité à associer au compte virtuel lorsqu’une session qui utilise la configuration de session est exécutée en tant que compte virtuel. S’il est omis, le compte virtuel appartient aux administrateurs de domaine sur les contrôleurs de domaine et les administrateurs sur tous les autres ordinateurs.

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

-SchemaVersion

Spécifie la version du schéma du fichier de configuration de session. La valeur par défaut est « 1.0.0.0 ».

Propriétés du paramètre

Type:Version
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

-ScriptsToProcess

Ajoute les scripts spécifiés aux sessions qui utilisent la configuration de session. Entrez le chemin d’accès et les noms de fichiers des scripts. La valeur de ce paramètre doit être un chemin d’accès complet ou absolu des noms de fichiers de script.

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

-SessionType

Spécifie le type de session créé à l’aide de la configuration de session. La valeur par défaut est Default. Les valeurs acceptables pour ce paramètre sont les suivantes :

  • Vide : aucun module n’est ajouté à la session par défaut. Utilisez les paramètres de cette applet de commande pour ajouter des modules, des fonctions, des scripts et d’autres fonctionnalités à la session. Cette option vous permet de créer des sessions personnalisées en ajoutant les commandes sélectionnées. Si vous n’ajoutez pas de commandes à une session vide, celle-ci est limitée aux expressions et risque de ne pas être utilisable.
  • Par défaut : ajoute le module Microsoft.PowerShell.Core à la session. Ce module inclut l’applet de Import-Module commande que les utilisateurs peuvent utiliser pour importer d’autres modules, sauf si vous interdisez explicitement cette applet de commande.
  • RestrictedRemoteServer. Inclut uniquement les fonctions proxy suivantes : Exit-PSSession, , Get-CommandGet-FormatData, Get-HelpMeasure-ObjectOut-Defaultet .Select-Object Utilisez les paramètres de cette applet de commande pour ajouter des modules, des fonctions, des scripts et d’autres fonctionnalités à la session.

Propriétés du paramètre

Type:SessionType
Valeur par défaut:None
Valeurs acceptées:Empty, RestrictedRemoteServer, Default
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

-TranscriptDirectory

Spécifie le répertoire pour placer des transcriptions de session pour les sessions à l’aide de cette configuration de 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

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-TypesToProcess

Ajoute les fichiers de type spécifiés .ps1xml aux sessions qui utilisent la configuration de session. Entrez les noms de fichiers de type. La valeur de ce paramètre doit être un chemin d’accès complet ou absolu pour taper les noms de fichiers.

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

-UserDriveMaximumSize

Spécifie la taille maximale des lecteurs utilisateur exposés dans les sessions qui utilisent cette configuration de session. En cas d’omission, la taille par défaut de chaque User: racine de lecteur est de 50 Mo.

Ce paramètre doit être utilisé avec MountUserDrive.

Propriétés du paramètre

Type:Int64
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

-VariableDefinitions

Ajoute les variables spécifiées aux sessions qui utilisent la configuration de session. Entrez une table de hachage avec les clés suivantes :

  • Nom : nom de la variable. Cette clé est requise.
  • Valeur : valeur variable. Cette clé est requise.

Par exemple : @{Name='WarningPreference';Value='SilentlyContinue'}

Propriétés du paramètre

Type:Object
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

-VisibleAliases

Limite les alias de la session à ceux spécifiés dans la valeur de ce paramètre, ainsi qu’aux alias que vous définissez dans le paramètre AliasDefinition . Les caractères génériques sont pris en charge. Par défaut, tous les alias définis par le moteur PowerShell et tous les alias que les modules exportent sont visibles dans la session.

Par exemple : VisibleAliases='gcm', 'gp'

Lorsqu’un paramètre Visible est inclus dans le fichier de configuration de session, PowerShell supprime l’applet Import-Module de commande et son alias ipmo de la session.

Propriétés du paramètre

Type:

String[]

Valeur par défaut:None
Prend en charge les caractères génériques:True
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

-VisibleCmdlets

Limite les applets de commande de la session à celles spécifiées dans la valeur de ce paramètre. Les caractères génériques et les noms qualifiés de module sont pris en charge.

Par défaut, toutes les applets de commande exportées par les modules de la session sont visibles dans la session. Utilisez les paramètres SessionType et ModulesToImport pour déterminer quels modules et composants logiciels enfichables sont importés dans la session. Si aucun module de ModulesToImport n’expose l’applet de commande, le module approprié tente d’être chargé automatiquement.

Lorsqu’un paramètre Visible est inclus dans le fichier de configuration de session, PowerShell supprime l’applet Import-Module de commande et son alias ipmo de la session.

Propriétés du paramètre

Type:

Object[]

Valeur par défaut:None
Prend en charge les caractères génériques:True
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

-VisibleExternalCommands

Limite les fichiers binaires, scripts et commandes externes qui peuvent être exécutés dans la session à ceux spécifiés dans la valeur de ce paramètre. Les caractères génériques sont pris en charge.

Par défaut, aucune commande externe n’est visible dans la session.

Quand un paramètre Visible est inclus dans le fichier de configuration de session, PowerShell, supprime l’applet Import-Module de commande et son alias ipmo de la session.

Propriétés du paramètre

Type:

String[]

Valeur par défaut:None
Prend en charge les caractères génériques:True
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

-VisibleFunctions

Limite les fonctions de la session à celles spécifiées dans la valeur de ce paramètre, ainsi qu’aux fonctions que vous définissez dans le paramètre FunctionDefinition . Les caractères génériques sont pris en charge.

Par défaut, toutes les fonctions exportées par les modules de la session sont visibles dans la session. Utilisez les paramètres SessionType et ModulesToImport pour déterminer quels modules et composants logiciels enfichables sont importés dans la session.

Lorsqu’un paramètre Visible est inclus dans le fichier de configuration de session, PowerShell supprime l’applet Import-Module de commande et son alias ipmo de la session.

Propriétés du paramètre

Type:

Object[]

Valeur par défaut:None
Prend en charge les caractères génériques:True
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

-VisibleProviders

Limite les fournisseurs PowerShell de la session à ceux spécifiés dans la valeur de ce paramètre. Les caractères génériques sont pris en charge.

Par défaut, tous les fournisseurs que les modules de la session exportent sont visibles dans la session. Utilisez les paramètres SessionType et ModulesToImport pour déterminer quels modules sont importés dans la session.

Quand un paramètre Visible est inclus dans le fichier de configuration de session, PowerShell supprime l’applet de commande Import-Module et son alias de ipmo de la session.

Propriétés du paramètre

Type:

String[]

Valeur par défaut:None
Prend en charge les caractères génériques:True
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

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

None

Vous ne pouvez pas diriger les objets vers cette applet de commande.

Sorties

None

Cette applet de commande ne retourne aucune sortie.

Notes

Windows PowerShell inclut les alias suivants pour New-PSSessionConfigurationFile:

  • npssc

Les paramètres, tels que VisibleCmdlets et VisibleProviders, n’importent pas d’éléments dans la session. Au lieu de cela, ils sélectionnent parmi les éléments importés dans la session. Par exemple, si la valeur du paramètre VisibleProviders est le fournisseur de certificats, mais que le paramètre ModulesToImport ne spécifie pas le module Microsoft.PowerShell.Security qui contient le fournisseur de certificats, le fournisseur de certificats n’est pas visible dans la session.

New-PSSessionConfigurationFile crée un fichier de configuration de session qui a une .pssc extension de nom de fichier dans le chemin d’accès que vous spécifiez dans le paramètre Path . Lorsque vous utilisez le fichier de configuration de session pour créer une configuration de session, l’applet Register-PSSessionConfiguration de commande copie le fichier et enregistre une copie active du fichier dans le sous-répertoire SessionConfig du $PSHOME répertoire.

La propriété ConfigFilePath de la configuration de session contient le chemin d’accès complet du fichier de configuration de session actif. Vous pouvez modifier le fichier de configuration actif dans le répertoire à tout moment à l’aide de n’importe $PSHOME quel éditeur de texte. Les modifications que vous apportez affectent toutes les nouvelles sessions qui utilisent la configuration de session, mais pas les sessions existantes.

Avant d’utiliser un fichier de configuration de session modifié, utilisez l’applet Test-PSSessionConfigurationFile de commande pour vérifier que les entrées du fichier de configuration sont valides.