Partilhar via


New-PSSessionConfigurationFile

Cria um arquivo que define uma configuração de sessão.

Sintaxe

Default (Predefinição)

New-PSSessionConfigurationFile
    [-Path] <String>
    [-SchemaVersion <Version>]
    [-Guid <Guid>]
    [-Author <String>]
    [-CompanyName <String>]
    [-Copyright <String>]
    [-Description <String>]
    [-PowerShellVersion <Version>]
    [-SessionType <SessionType>]
    [-ModulesToImport <Object[]>]
    [-AssembliesToLoad <String[]>]
    [-VisibleAliases <String[]>]
    [-VisibleCmdlets <String[]>]
    [-VisibleFunctions <String[]>]
    [-VisibleProviders <String[]>]
    [-AliasDefinitions <Hashtable[]>]
    [-FunctionDefinitions <Hashtable[]>]
    [-VariableDefinitions <Object>]
    [-EnvironmentVariables <Object>]
    [-TypesToProcess <String[]>]
    [-FormatsToProcess <String[]>]
    [-LanguageMode <PSLanguageMode>]
    [-ExecutionPolicy <ExecutionPolicy>]
    [-ScriptsToProcess <String[]>]
    [<CommonParameters>]

Description

O cmdlet New-PSSessionConfigurationFile cria um arquivo de definições que definem uma configuração de sessão e o ambiente de sessões que são criadas usando a configuração de sessão. Para usar o arquivo em uma configuração de sessão, use o parâmetro Path dos cmdlets Register-PSSessionConfiguration ou Set-PSSessionConfiguration.

O arquivo de configuração de sessão que New-PSSessionConfigurationFile cria é um arquivo de texto legível por humanos que contém uma tabela de hash das propriedades e valores de configuração da sessão. O arquivo tem uma extensão de nome de arquivo .pssc.

Todos os parâmetros de New-PSSessionConfigurationFile são opcionais, exceto o parâmetro Path. Se você omitir um parâmetro, a chave correspondente no arquivo de configuração da sessão será comentada, exceto onde anotado na descrição do parâmetro.

Uma configuração de sessão, também conhecida como ponto de extremidade, é uma coleção de configurações no computador local que definem o ambiente para sessões do PowerShell (PSSessions) que se conectam ao computador. Todos os PSSessions usar uma configuração de sessão. Para especificar uma configuração de sessão específica, use o parâmetro ConfigurationName dos cmdlets que criam uma sessão, como o cmdlet New-PSSession.

Um arquivo de configuração de sessão facilita a definição de uma configuração de sessão sem scripts complexos ou assemblies de código. As configurações no arquivo são usadas com o script de inicialização opcional e quaisquer assemblies na configuração da sessão.

Para obter mais informações sobre configurações de sessão e arquivos de configuração de sessão, consulte about_Session_Configurations e about_Session_Configuration_Files.

Este cmdlet foi introduzido no PowerShell 3.0.

Exemplos

Exemplo 1: Criando e usando uma sessão NoLanguage

Este exemplo mostra como criar e os efeitos do uso de uma sessão sem idioma.

As etapas incluem:

  1. Crie um novo arquivo de configuração.
  2. Registre a configuração.
  3. Crie uma nova sessão que use a configuração.
  4. Execute comandos nessa nova sessão.

Para executar os comandos neste exemplo, inicie o PowerShell usando a opção Executar como administrador. Essa opção é necessária para executar o cmdlet Register-PSSessionConfiguration.

New-PSSessionConfigurationFile -Path .\NoLanguage.pssc -LanguageMode NoLanguage
Register-PSSessionConfiguration -Path .\NoLanguage.pssc -Name NoLanguage -Force
$NoLanguage = New-PSSession -ComputerName Srv01 -ConfigurationName NoLanguage
Invoke-Command -Session $NoLanguage -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

Neste exemplo, o Invoke-Command falha porque o LanguageMode está definido como NoLanguage.

Exemplo 2: Criando e usando uma sessão RestrictedLanguage

Este exemplo mostra como criar e os efeitos do uso de uma sessão sem idioma.

As etapas incluem:

  1. Crie um novo arquivo de configuração.
  2. Registre a configuração.
  3. Crie uma nova sessão que use a configuração.
  4. Execute comandos nessa nova sessão.

Para executar os comandos neste exemplo, inicie o PowerShell usando a opção Executar como administrador. Essa opção é necessária para executar o cmdlet Register-PSSessionConfiguration.

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

Neste exemplo, o Invoke-Command é bem-sucedido porque o LanguageMode está definido como RestrictedLanguage.

Exemplo 3: Alterando um arquivo de configuração de sessão

Este exemplo mostra como alterar o arquivo de configuração de sessão usado em uma sessão existente chamada "ITTasks". Anteriormente, essas sessões tinham apenas os módulos principais e um módulo interno ITTasks módulo. O administrador deseja adicionar o módulo PSScheduledJob às sessões criadas usando a configuração de sessão ITTasks.

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

O cmdlet New-PSSessionConfigurationFile criar um arquivo de configuração de sessão que importe os módulos necessários. O cmdlet Set-PSSessionConfiguration substitui o arquivo de configuração atual pelo novo. Essa nova configuração afeta apenas as novas sessões criadas após a alteração. As sessões "ITTasks" existentes não são afetadas.

Exemplo 4: Editando um arquivo de configuração de sessão

Este exemplo mostra como alterar uma configuração de sessão editando a cópia de configuração de sessão ativa do arquivo de configuração. Para modificar a cópia de configuração de sessão do arquivo de configuração, você deve ter acesso de controle total ao arquivo. Isso pode exigir que você altere as permissões no arquivo.

Nesse cenário, queremos adicionar um novo alias para o cmdlet Select-String editando o arquivo de configuração ativo.

O código de exemplo abaixo executa as seguintes etapas para fazer essa alteração:

  1. Obtenha o caminho do arquivo de configuração para a sessão ITConfig.
  2. O usuário edita o arquivo de configuração usando Notepad.exe para alterar o AliasDefinitions valor da seguinte maneira: AliasDefinitions = @(@{Name='slst';Value='Select-String'}).
  3. Teste o arquivo de configuração atualizado.
$ITConfig = Get-PSSessionConfiguration -Name ITConfig
notepad.exe $ITConfig.ConfigFilePath
Test-PSSessionConfigurationFile -Path $ITConfig.ConfigFilePath
True

Use o parâmetro Verbose com Test-PSSessionConfigurationFile para exibir quaisquer erros detetados. O cmdlet retorna $True se nenhum erro for detetado no arquivo.

Exemplo 5: Criar um arquivo de configuração de exemplo

Este exemplo mostra um comando New-PSSessionConfigurationFile que usa todos os parâmetros do cmdlet. Ele está incluído para mostrar o formato de entrada correto para cada parâmetro.

O SampleFile.pssc resultante é exibido na saída.

$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'
}
New-PSSessionConfigurationFile @configSettings
Get-Content SampleFile.pssc
@{

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

# ID used to uniquely identify this session configuration
GUID = 'f7039ffa-7e54-4382-b358-a393c75c30d3'

# Specifies the execution policy for this session configuration
ExecutionPolicy = 'AllSigned'

# Specifies the language mode for this session configuration
LanguageMode = 'FullLanguage'

# Initial state of this session configuration
SessionType = 'Default'

# Environment variables defined in this session configuration
EnvironmentVariables = @{
    TESTSHARE='\\Test2\Test'
}

# Author of this session configuration
Author = 'User01'

# Company associated with this session configuration
CompanyName = 'Fabrikam Corporation'

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

# Description of the functionality provided by this session configuration
Description = 'This is a sample file.'

# Version of the PowerShell engine used by this session configuration
PowerShellVersion = '3.0'

# Modules that will be imported
ModulesToImport = @{
    ModuleVersion='1.0.0.0'
    ModuleName='PSScheduledJob'
    GUID='50cdb55f-5ab7-489f-9e94-4ec21ff51e59'
}, 'PSDiagnostics'

# Assemblies that will be loaded in this session configuration
AssembliesToLoad = 'System.Web.Services', 'FSharp.Compiler.CodeDom.dll'

# Aliases visible in this session configuration
VisibleAliases = 'c*', 'g*', 'i*', 's*'

# Cmdlets visible in this session configuration
VisibleCmdlets = 'Get*'

# Functions visible in this session configuration
VisibleFunctions = 'Get*'

# Providers visible in this session configuration
VisibleProviders = 'FileSystem', 'Function', 'Variable'

# Aliases defined in this session configuration
AliasDefinitions = @(
@{
    Description='Gets help.'
    Name='hlp'
    Options='AllScope'
    Value='Get-Help'
},
@{
    Description='Updates help'
    Name='Update'
    Options='ReadOnly'
    Value='Update-Help'
}
)

# Functions defined in this session configuration
FunctionDefinitions = @(
@{
    Name='Get-Function'
    Options='ReadOnly'
    ScriptBlock={Get-Command -CommandType Function}
}
)

# Variables defined in this session configuration
VariableDefinitions = @(
@{
    Value='SilentlyContinue'
    Name='WarningPreference'

# Type files (.ps1xml) that will be loaded in this session configuration
TypesToProcess = 'C:\WINDOWS\System32\WindowsPowerShell\v1.0\SessionConfig\Types1.ps1xml', 'C:\WINDOWS\System32\WindowsPowerShell\v1.0\SessionConfig\Types2.ps1xml'

# Format files (.ps1xml) that will be loaded in this session configuration
FormatsToProcess = 'C:\WINDOWS\System32\WindowsPowerShell\v1.0\SessionConfig\CustomFormats.ps1xml'

# Specifies the scripts to execute after the session is configured
ScriptsToProcess = 'C:\WINDOWS\System32\WindowsPowerShell\v1.0\SessionConfig\Get-Inputs.ps1'
}

Este exemplo exibe um comando New-PSSessionConfigurationFile que usa todos os parâmetros do cmdlet. Ele está incluído para mostrar o formato de entrada correto para cada parâmetro.

O SampleFile.pssc resultante é exibido na saída.

Parâmetros

-AliasDefinitions

Adiciona os aliases especificados às sessões que usam a configuração da sessão. Insira uma tabela de hash com as seguintes chaves:

  • Nome - Nome do alias. Esta chave é necessária.
  • Valor - O comando que o alias representa. Esta chave é necessária.
  • Descrição - Uma cadeia de caracteres de texto que descreve o alias. Esta chave é opcional.
  • Opções - Opções de alias. Esta chave é opcional. O valor predefinido é None. Os valores aceitáveis para este parâmetro são: None, ReadOnly, Constant, Private ou AllScope.

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

Propriedades dos parâmetros

Tipo:

Hashtable[]

Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-AssembliesToLoad

Especifica os assemblies a serem carregados nas sessões que usam a configuração de sessão.

Propriedades dos parâmetros

Tipo:

String[]

Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-Author

Especifica o autor da configuração da sessão ou do arquivo de configuração. O padrão é o usuário atual. O valor desse parâmetro é visível no arquivo de configuração da sessão, mas não é uma propriedade do objeto de configuração da sessão.

Propriedades dos parâmetros

Tipo:String
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-CompanyName

Especifica a empresa que criou a configuração da sessão ou o arquivo de configuração. O valor padrão é Unknown. O valor desse parâmetro é visível no arquivo de configuração da sessão, mas não é uma propriedade do objeto de configuração da sessão.

Propriedades dos parâmetros

Tipo:String
Default value:Unknown
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

Especifica um copyright do arquivo de configuração da sessão. O valor desse parâmetro é visível no arquivo de configuração da sessão, mas não é uma propriedade do objeto de configuração da sessão.

Se você omitir esse parâmetro, New-PSSessionConfigurationFile gerará uma declaração de direitos autorais usando o valor do parâmetro Author.

Tipo:String
Default value:None
Suporta carateres universais:False
NãoMostrar:False
(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-Description

Especifica uma descrição da configuração da sessão ou do arquivo de configuração da sessão. O valor desse parâmetro é visível no arquivo de configuração da sessão, mas não é uma propriedade do objeto de configuração da sessão.

Propriedades dos parâmetros

Tipo:String
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-EnvironmentVariables

Adiciona variáveis de ambiente à sessão. Insira uma tabela de hash na qual as chaves são os nomes das variáveis de ambiente e os valores são os valores das variáveis de ambiente.

Por exemplo: EnvironmentVariables=@{TestShare='\\Server01\TestShare'}

Propriedades dos parâmetros

Tipo:Object
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-ExecutionPolicy

Especifica a política de execução de sessões que usam a configuração de sessão. Se você omitir esse parâmetro, o valor da chave de ExecutionPolicy no arquivo de configuração da sessão será Restricted. Para obter informações sobre políticas de execução no PowerShell, consulte about_Execution_Policies.

Propriedades dos parâmetros

Tipo:ExecutionPolicy
Default value:None
Valores aceites:Unrestricted, RemoteSigned, AllSigned, Restricted, Default, Bypass, Undefined
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-FormatsToProcess

Especifica os arquivos de formatação (.ps1xml) que são executados em sessões que usam a configuração da sessão. O valor desse parâmetro deve ser um caminho completo ou absoluto dos arquivos de formatação.

Propriedades dos parâmetros

Tipo:

String[]

Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-FunctionDefinitions

Adiciona as funções especificadas às sessões que usam a configuração da sessão. Insira uma tabela de hash com as seguintes chaves:

  • Nome - Nome da função. Esta chave é necessária.
  • ScriptBlock - Corpo da função. Insira um bloco de script. Esta chave é necessária.
  • Opções - Opções de função. Esta chave é opcional. O valor predefinido é None. Os valores aceitáveis para este parâmetro são: None, ReadOnly, Constant, Private ou AllScope.

Por exemplo: @{Name='Get-PowerShellProcess';ScriptBlock={Get-Process PowerShell};Options='AllScope'}

Propriedades dos parâmetros

Tipo:

Hashtable[]

Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-Guid

Especifica um identificador exclusivo para o arquivo de configuração da sessão. Se você omitir esse parâmetro, New-PSSessionConfigurationFile gerará um GUID para o arquivo. Para criar um novo GUID no PowerShell, digite New-Guid.

Propriedades dos parâmetros

Tipo:Guid
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-LanguageMode

Determina quais elementos da linguagem PowerShell são permitidos em sessões que usam essa configuração de sessão. Você pode usar esse parâmetro para restringir os comandos que usuários específicos podem executar no computador.

Os valores aceitáveis para este parâmetro são:

  • FullLanguage - Todos os elementos linguísticos são permitidos.
  • ConstrainedLanguage - Comandos que contenham scripts a serem avaliados não são permitidos. O modo ConstrainedLanguage restringe o acesso do usuário a tipos, objetos ou métodos do Microsoft .NET Framework.
  • NoLanguage - Os usuários podem executar cmdlets e funções, mas não têm permissão para usar nenhum elemento de linguagem, como blocos de script, variáveis ou operadores.
  • RestrictedLanguage - Os usuários podem executar cmdlets e funções, mas não têm permissão para usar blocos de script ou variáveis, exceto para as seguintes variáveis permitidas: $PSCulture, $PSUICulture, $True, $Falsee $Null. Os utilizadores só podem utilizar os operadores básicos de comparação (-eq, -gt, -lt). Instruções de atribuição, referências de propriedade e chamadas de método não são permitidas.

O valor padrão do parâmetro LanguageMode depende do valor do parâmetro SessionType.

  • Vazio - NoLanguage
  • RestrictedRemoteServer - NoLanguage
  • Padrão - FullLanguage

Propriedades dos parâmetros

Tipo:PSLanguageMode
Default value:None
Valores aceites:FullLanguage, RestrictedLanguage, NoLanguage, ConstrainedLanguage
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-ModulesToImport

Especifica os módulos e snap-ins que são importados automaticamente para sessões que usam a configuração de sessão.

Por padrão, apenas o snap-in Microsoft.PowerShell.Core é importado para sessões remotas, mas, a menos que os cmdlets sejam excluídos, os usuários podem usar os cmdlets Import-Module e Add-PSSnapin para adicionar módulos e snap-ins à sessão.

Cada módulo ou snap-in no valor desse parâmetro pode ser representado por uma cadeia de caracteres ou como uma tabela de hash. Uma cadeia de caracteres de módulo consiste apenas no nome do módulo ou snap-in. Uma tabela de hash de módulo pode incluir ModuleName, ModuleVersione chaves de GUID. Apenas a chave ModuleName é necessária.

Por exemplo, o valor a seguir consiste em uma cadeia de caracteres e uma tabela de hash. Qualquer combinação de cadeias de caracteres e tabelas de hash, em qualquer ordem, é válida.

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

O valor do parâmetro ModulesToImport do cmdlet Register-PSSessionConfiguration tem precedência sobre o valor da chave ModulesToImport no arquivo de configuração da sessão.

Propriedades dos parâmetros

Tipo:

Object[]

Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-Path

Especifica o caminho e o nome do arquivo de configuração da sessão. O arquivo deve ter uma extensão de nome de arquivo .pssc.

Propriedades dos parâmetros

Tipo:String
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-PowerShellVersion

Especifica a versão do mecanismo do PowerShell em sessões que usam a configuração de sessão. Os valores aceitáveis para este parâmetro são: 2.0 e 3.0. Se você omitir esse parâmetro, a chave PowerShellVersion será comentada e a versão mais recente do PowerShell será executada na sessão.

O valor do parâmetro PSVersion do cmdlet Register-PSSessionConfiguration tem precedência sobre o valor da chave PowerShellVersion no arquivo de configuração da sessão.

Propriedades dos parâmetros

Tipo:Version
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-SchemaVersion

Especifica a versão do esquema do arquivo de configuração de sessão. O valor padrão é "1.0.0.0".

Propriedades dos parâmetros

Tipo:Version
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-ScriptsToProcess

Adiciona os scripts especificados a sessões que usam a configuração de sessão. Insira o caminho e os nomes de arquivo dos scripts. O valor desse parâmetro deve ser um caminho completo ou absoluto de nomes de arquivo de script.

Propriedades dos parâmetros

Tipo:

String[]

Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-SessionType

Especifica o tipo de sessão que é criado usando a configuração da sessão. O valor padrão é Default. Os valores aceitáveis para este parâmetro são:

  • Vazio - Nenhum módulo é adicionado à sessão por padrão. Use os parâmetros desse cmdlet para adicionar módulos, funções, scripts e outros recursos à sessão. Esta opção foi projetada para você criar sessões personalizadas adicionando comandos selecionados. Se você não adicionar comandos a uma sessão vazia, a sessão será limitada a expressões e poderá não ser utilizável.
  • Padrão - Adiciona o módulo Microsoft.PowerShell.Core à sessão. Este módulo inclui o cmdlet Import-Module que os usuários podem usar para importar outros módulos, a menos que você proíba explicitamente esse cmdlet.
  • RestrictedRemoteServer. Inclui apenas as seguintes funções de proxy: Exit-PSSession, Get-Command, Get-FormatData, Get-Help, Measure-Object, Out-Defaulte Select-Object. Use os parâmetros desse cmdlet para adicionar módulos, funções, scripts e outros recursos à sessão.

Propriedades dos parâmetros

Tipo:SessionType
Default value:None
Valores aceites:Empty, RestrictedRemoteServer, Default
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-TypesToProcess

Adiciona os arquivos de tipo .ps1xml especificados às sessões que usam a configuração da sessão. Insira os nomes dos arquivos do tipo. O valor desse parâmetro deve ser um caminho completo ou absoluto para digitar nomes de arquivos.

Propriedades dos parâmetros

Tipo:

String[]

Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-VariableDefinitions

Adiciona as variáveis especificadas às sessões que usam a configuração da sessão. Insira uma tabela de hash com as seguintes chaves:

  • Nome - Nome da variável. Esta chave é necessária.
  • Valor - Valor variável. Esta chave é necessária.
  • Opções - Opções variáveis. Esta chave é opcional. O valor predefinido é None. Os valores aceitáveis para este parâmetro são: None, ReadOnly, Constant, Private ou AllScope.

Por exemplo: @{Name='WarningPreference';Value='SilentlyContinue';Options='AllScope'}

Propriedades dos parâmetros

Tipo:Object
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-VisibleAliases

Limita os aliases na sessão aos especificados no valor desse parâmetro, além de quaisquer aliases definidos no parâmetro AliasDefinition. Caracteres curinga são suportados. Por padrão, todos os aliases definidos pelo mecanismo do PowerShell e todos os aliases exportados pelos módulos são visíveis na sessão.

Por exemplo: VisibleAliases='gcm', 'gp'

Quando qualquer parâmetro Visible é incluído no arquivo de configuração da sessão, o PowerShell remove o cmdlet Import-Module e seu alias ipmo da sessão.

Propriedades dos parâmetros

Tipo:

String[]

Default value:None
Suporta carateres universais:True
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-VisibleCmdlets

Limita os cmdlets na sessão aos especificados no valor desse parâmetro. Há suporte para caracteres curinga e nomes qualificados de módulo.

Por padrão, todos os cmdlets que os módulos na exportação de sessão são visíveis na sessão. Use os parâmetros SessionType e ModulesToImport para determinar quais módulos e snap-ins são importados para a sessão. Se nenhum módulo no ModulesToImport expor o cmdlet, o módulo apropriado tentará ser carregado automaticamente.

Quando qualquer parâmetro Visible é incluído no arquivo de configuração da sessão, o PowerShell remove o cmdlet Import-Module e seu alias ipmo da sessão.

Propriedades dos parâmetros

Tipo:

String[]

Default value:None
Suporta carateres universais:True
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-VisibleFunctions

Limita as funções na sessão àquelas especificadas no valor desse parâmetro, além de quaisquer funções definidas no parâmetro FunctionDefinition. Caracteres curinga são suportados.

Por padrão, todas as funções que os módulos na sessão exportam são visíveis na sessão. Use os parâmetros SessionType e ModulesToImport para determinar quais módulos e snap-ins são importados para a sessão.

Quando qualquer parâmetro Visible é incluído no arquivo de configuração da sessão, o PowerShell remove o cmdlet Import-Module e seu alias ipmo da sessão.

Propriedades dos parâmetros

Tipo:

String[]

Default value:None
Suporta carateres universais:True
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-VisibleProviders

Limita os provedores do PowerShell na sessão aos especificados no valor desse parâmetro. Caracteres curinga são suportados.

Por padrão, todos os provedores que os módulos na exportação de sessão são visíveis na sessão. Use os parâmetros SessionType e ModulesToImport para determinar quais módulos são importados para a sessão.

Quando qualquer parâmetro Visible é incluído no arquivo de configuração da sessão, o PowerShell remove o cmdlet Import-Module e seu alias ipmo da sessão.

Propriedades dos parâmetros

Tipo:

String[]

Default value:None
Suporta carateres universais:True
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

CommonParameters

Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.

Entradas

None

Não é possível canalizar nenhum objeto para este cmdlet.

Saídas

None

Este cmdlet não gera nenhuma saída.

Notas

  • Parâmetros, como VisibleCmdlets e VisibleProviders, não importam itens para a sessão. Em vez disso, eles selecionam entre os itens importados para a sessão. Por exemplo, se o valor do parâmetro VisibleProviders for o provedor Certificate, mas o parâmetro ModulesToImport não especificar o módulo Microsoft.PowerShell.Security que contém o provedor Certificate, o provedor Certificate não estará visível na sessão.

  • New-PSSessionConfigurationFile cria um arquivo de configuração de sessão que tem uma extensão de nome de arquivo .pssc no caminho especificado no parâmetro Path. Quando você usa o arquivo de configuração de sessão para criar uma configuração de sessão, o cmdlet Register-PSSessionConfiguration copia o arquivo de configuração e salva uma cópia ativa do arquivo no subdiretório SessionConfig do diretório $PSHOME.

    A propriedade ConfigFilePath da configuração da sessão contém o caminho totalmente qualificado do arquivo de configuração da sessão ativa. Você pode modificar o arquivo de configuração ativo no diretório $PSHOME a qualquer momento usando qualquer editor de texto. As alterações feitas afetam todas as novas sessões que usam a configuração da sessão, mas não as sessões existentes.

    Antes de usar um arquivo de configuração de sessão editado, use o cmdlet Test-PSSessionConfigurationFile para verificar se as entradas do arquivo de configuração são válidas.