Freigeben über


New-PSSessionConfigurationFile

Erstellt eine Datei, die eine Sitzungskonfiguration definiert.

Syntax

Default (Standard)

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>]

Beschreibung

Das Cmdlet New-PSSessionConfigurationFile erstellt eine Datei mit Einstellungen, die eine Sitzungskonfiguration und die Umgebung von Sitzungen definieren, die mithilfe der Sitzungskonfiguration erstellt werden. Um die Datei in einer Sitzungskonfiguration zu verwenden, verwenden Sie den Parameter Path der cmdlets Register-PSSessionConfiguration oder Set-PSSessionConfiguration.

Die Sitzungskonfigurationsdatei, die New-PSSessionConfigurationFile erstellt, ist eine lesbare Textdatei, die eine Hashtabelle der Sitzungskonfigurationseigenschaften und -werte enthält. Die Datei hat eine .pssc Dateinamenerweiterung.

Alle Parameter von New-PSSessionConfigurationFile sind optional, mit Ausnahme des Path-Parameters. Wenn Sie einen Parameter weglassen, wird der entsprechende Schlüssel in der Sitzungskonfigurationsdatei auskommentiert, mit Ausnahme der Angabe in der Parameterbeschreibung.

Eine Sitzungskonfiguration, auch als Endpunkt bezeichnet, ist eine Sammlung von Einstellungen auf dem lokalen Computer, die die Umgebung für PowerShell-Sitzungen (PSSessions) definieren, die eine Verbindung mit dem Computer herstellen. Alle PSSessions eine Sitzungskonfiguration verwenden. Um eine bestimmte Sitzungskonfiguration anzugeben, verwenden Sie den ConfigurationName Parameter von Cmdlets, die eine Sitzung erstellen, z. B. das Cmdlet New-PSSession.

Eine Sitzungskonfigurationsdatei erleichtert das Definieren einer Sitzungskonfiguration ohne komplexe Skripts oder Codeassemblys. Die Einstellungen in der Datei werden mit dem optionalen Startskript und allen Assemblys in der Sitzungskonfiguration verwendet.

Weitere Informationen zu Sitzungskonfigurationen und Sitzungskonfigurationsdateien finden Sie unter about_Session_Configurations und about_Session_Configuration_Files.

Dieses Cmdlet wurde in PowerShell 3.0 eingeführt.

Beispiele

Beispiel 1: Erstellen und Verwenden einer NoLanguage-Sitzung

In diesem Beispiel wird gezeigt, wie Sie eine No-Language-Sitzung erstellen und die Effekte verwenden.

Die Schritte umfassen:

  1. Erstellen Sie eine neue Konfigurationsdatei.
  2. Registrieren Sie die Konfiguration.
  3. Erstellen Sie eine neue Sitzung, die die Konfiguration verwendet.
  4. Führen Sie Befehle in dieser neuen Sitzung aus.

Um die Befehle in diesem Beispiel auszuführen, starten Sie PowerShell mithilfe der Option "Als Administrator ausführen". Diese Option ist erforderlich, um das cmdlet Register-PSSessionConfiguration auszuführen.

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

In diesem Beispiel schlägt die Invoke-Command fehl, da die LanguageMode- auf NoLanguagefestgelegt ist.

Beispiel 2: Erstellen und Verwenden einer RestrictedLanguage-Sitzung

In diesem Beispiel wird gezeigt, wie Sie eine No-Language-Sitzung erstellen und die Effekte verwenden.

Die Schritte umfassen:

  1. Erstellen Sie eine neue Konfigurationsdatei.
  2. Registrieren Sie die Konfiguration.
  3. Erstellen Sie eine neue Sitzung, die die Konfiguration verwendet.
  4. Führen Sie Befehle in dieser neuen Sitzung aus.

Um die Befehle in diesem Beispiel auszuführen, starten Sie PowerShell mithilfe der Option "Als Administrator ausführen". Diese Option ist erforderlich, um das cmdlet Register-PSSessionConfiguration auszuführen.

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

In diesem Beispiel ist die Invoke-Command erfolgreich, da die LanguageMode- auf RestrictedLanguagefestgelegt ist.

Beispiel 3: Ändern einer Sitzungskonfigurationsdatei

In diesem Beispiel wird gezeigt, wie Sie die Sitzungskonfigurationsdatei ändern, die in einer vorhandenen Sitzung mit dem Namen "ITTasks" verwendet wird. Bisher hatten diese Sitzungen nur die Kernmodule und ein internes ITTasks Modul. Der Administrator möchte das PSScheduledJob Modul zu Sitzungen hinzufügen, die mithilfe der ITTasks-Sitzungskonfiguration erstellt wurden.

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

Das Cmdlet New-PSSessionConfigurationFile zum Erstellen einer Sitzungskonfigurationsdatei, die die erforderlichen Module importiert. Das Cmdlet Set-PSSessionConfiguration ersetzt die aktuelle Konfigurationsdatei durch die neue. Diese neue Konfiguration wirkt sich nur auf neue Sitzungen aus, die nach der Änderung erstellt wurden. Vorhandene "ITTasks"-Sitzungen sind nicht betroffen.

Beispiel 4: Bearbeiten einer Sitzungskonfigurationsdatei

In diesem Beispiel wird gezeigt, wie Sie eine Sitzungskonfiguration ändern, indem Sie die aktive Sitzungskonfigurationskopie der Konfigurationsdatei bearbeiten. Um die Sitzungskonfigurationskopie der Konfigurationsdatei zu ändern, müssen Sie vollzugriff auf die Datei haben. Dies erfordert möglicherweise, dass Sie die Berechtigungen für die Datei ändern.

In diesem Szenario möchten wir einen neuen Alias für das Cmdlet Select-String hinzufügen, indem wir die aktive Konfigurationsdatei bearbeiten.

Der folgende Beispielcode führt die folgenden Schritte aus, um diese Änderung vorzunehmen:

  1. Rufen Sie den Konfigurationsdateipfad für die ITConfig-Sitzung ab.
  2. Der Benutzer bearbeitet die Konfigurationsdatei mithilfe von Notepad.exe, um den wert AliasDefinitions wie folgt zu ändern: AliasDefinitions = @(@{Name='slst';Value='Select-String'}).
  3. Testen Sie die aktualisierte Konfigurationsdatei.
$ITConfig = Get-PSSessionConfiguration -Name ITConfig
notepad.exe $ITConfig.ConfigFilePath
Test-PSSessionConfigurationFile -Path $ITConfig.ConfigFilePath
True

Verwenden Sie den parameter Verbose mit Test-PSSessionConfigurationFile, um alle erkannten Fehler anzuzeigen. Das Cmdlet gibt $True zurück, wenn in der Datei keine Fehler erkannt werden.

Beispiel 5: Erstellen einer Beispielkonfigurationsdatei

Dieses Beispiel zeigt einen New-PSSessionConfigurationFile-Befehl, der alle Cmdlet-Parameter verwendet. Es ist enthalten, um das richtige Eingabeformat für jeden Parameter anzuzeigen.

Das resultierende SampleFile.pssc wird in der Ausgabe angezeigt.

$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'
}

In diesem Beispiel wird der Befehl New-PSSessionConfigurationFile angezeigt, der alle Cmdlet-Parameter verwendet. Es ist enthalten, um das richtige Eingabeformat für jeden Parameter anzuzeigen.

Das resultierende SampleFile.pssc wird in der Ausgabe angezeigt.

Parameter

-AliasDefinitions

Fügt die angegebenen Aliase zu Sitzungen hinzu, die die Sitzungskonfiguration verwenden. Geben Sie eine Hashtabelle mit den folgenden Schlüsseln ein:

  • Name – Name des Alias. Dieser Schlüssel ist erforderlich.
  • Value - Der Befehl, den der Alias darstellt. Dieser Schlüssel ist erforderlich.
  • Beschreibung : Eine Textzeichenfolge, die den Alias beschreibt. Dieser Schlüssel ist optional.
  • Optionen – Aliasoptionen. Dieser Schlüssel ist optional. Der Standardwert ist Keiner. Die zulässigen Werte für diesen Parameter sind: None, ReadOnly, Constant, Private oder AllScope.

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

Parametereigenschaften

Typ:

Hashtable[]

Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-AssembliesToLoad

Gibt die Assemblys an, die in die Sitzungen geladen werden sollen, die die Sitzungskonfiguration verwenden.

Parametereigenschaften

Typ:

String[]

Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-Author

Gibt den Autor der Sitzungskonfiguration oder der Konfigurationsdatei an. Die Standardeinstellung ist der aktuelle Benutzer. Der Wert dieses Parameters ist in der Sitzungskonfigurationsdatei sichtbar, ist jedoch keine Eigenschaft des Sitzungskonfigurationsobjekts.

Parametereigenschaften

Typ:String
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-CompanyName

Gibt das Unternehmen an, das die Sitzungskonfiguration oder die Konfigurationsdatei erstellt hat. Der Standardwert ist Unbekannter. Der Wert dieses Parameters ist in der Sitzungskonfigurationsdatei sichtbar, ist jedoch keine Eigenschaft des Sitzungskonfigurationsobjekts.

Parametereigenschaften

Typ:String
Standardwert:Unknown
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

Gibt ein Copyright für die Sitzungskonfigurationsdatei an. Der Wert dieses Parameters ist in der Sitzungskonfigurationsdatei sichtbar, ist jedoch keine Eigenschaft des Sitzungskonfigurationsobjekts.

Wenn Sie diesen Parameter weglassen, generiert New-PSSessionConfigurationFile mithilfe des Werts des parameters Author eine Copyright-Anweisung.

Typ:String
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False
(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-Description

Gibt eine Beschreibung der Sitzungskonfiguration oder der Sitzungskonfigurationsdatei an. Der Wert dieses Parameters ist in der Sitzungskonfigurationsdatei sichtbar, ist jedoch keine Eigenschaft des Sitzungskonfigurationsobjekts.

Parametereigenschaften

Typ:String
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-EnvironmentVariables

Fügt der Sitzung Umgebungsvariablen hinzu. Geben Sie eine Hashtabelle ein, in der die Schlüssel die Namen der Umgebungsvariablen und die Werte die Umgebungsvariablenwerte sind.

Beispiel: EnvironmentVariables=@{TestShare='\\Server01\TestShare'}

Parametereigenschaften

Typ:Object
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-ExecutionPolicy

Gibt die Ausführungsrichtlinie von Sitzungen an, die die Sitzungskonfiguration verwenden. Wenn Sie diesen Parameter weglassen, ist der Wert des ExecutionPolicy- Schlüssels in der Sitzungskonfigurationsdatei Restricted. Informationen zu Ausführungsrichtlinien in PowerShell finden Sie unter about_Execution_Policies.

Parametereigenschaften

Typ:ExecutionPolicy
Standardwert:None
Zulässige Werte:Unrestricted, RemoteSigned, AllSigned, Restricted, Default, Bypass, Undefined
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-FormatsToProcess

Gibt die Formatierungsdateien (PS1xml) an, die in Sitzungen ausgeführt werden, die die Sitzungskonfiguration verwenden. Der Wert dieses Parameters muss ein vollständiger oder absoluter Pfad der Formatierungsdateien sein.

Parametereigenschaften

Typ:

String[]

Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-FunctionDefinitions

Fügt die angegebenen Funktionen zu Sitzungen hinzu, die die Sitzungskonfiguration verwenden. Geben Sie eine Hashtabelle mit den folgenden Schlüsseln ein:

  • Name - Name der Funktion. Dieser Schlüssel ist erforderlich.
  • ScriptBlock – Funktionstext. Geben Sie einen Skriptblock ein. Dieser Schlüssel ist erforderlich.
  • Optionen – Funktionsoptionen. Dieser Schlüssel ist optional. Der Standardwert ist Keiner. Die zulässigen Werte für diesen Parameter sind: None, ReadOnly, Constant, Private oder AllScope.

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

Parametereigenschaften

Typ:

Hashtable[]

Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-Guid

Gibt einen eindeutigen Bezeichner für die Sitzungskonfigurationsdatei an. Wenn Sie diesen Parameter weglassen, generiert New-PSSessionConfigurationFile eine GUID für die Datei. Geben Sie New-Guidein, um eine neue GUID in PowerShell zu erstellen.

Parametereigenschaften

Typ:Guid
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-LanguageMode

Bestimmt, welche Elemente der PowerShell-Sprache in Sitzungen zulässig sind, die diese Sitzungskonfiguration verwenden. Sie können diesen Parameter verwenden, um die Befehle einzuschränken, die bestimmte Benutzer auf dem Computer ausführen können.

Die zulässigen Werte für diesen Parameter sind:

  • FullLanguage – Alle Sprachelemente sind zulässig.
  • EingeschränktesLanguage - Befehle, die zu bewertende Skripts enthalten, sind nicht zulässig. Der EingeschränkteLanguage-Modus schränkt den Benutzerzugriff auf Microsoft .NET Framework-Typen, -Objekte oder -Methoden ein.
  • NoLanguage – Benutzer können Cmdlets und Funktionen ausführen, dürfen jedoch keine Sprachelemente wie Skriptblöcke, Variablen oder Operatoren verwenden.
  • RestrictedLanguage – Benutzer können Cmdlets und Funktionen ausführen, dürfen jedoch keine Skriptblöcke oder Variablen außer den folgenden zulässigen Variablen verwenden: $PSCulture, $PSUICulture, $True, $Falseund $Null. Benutzer dürfen nur die grundlegenden Vergleichsoperatoren verwenden (-eq, -gt, -lt). Zuordnungsanweisungen, Eigenschaftsverweise und Methodenaufrufe sind nicht zulässig.

Der Standardwert des LanguageMode--Parameters hängt vom Wert des SessionType-Parameters ab.

  • Leer - NoLanguage
  • RestrictedRemoteServer - NoLanguage
  • Standard – FullLanguage

Parametereigenschaften

Typ:PSLanguageMode
Standardwert:None
Zulässige Werte:FullLanguage, RestrictedLanguage, NoLanguage, ConstrainedLanguage
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-ModulesToImport

Gibt die Module und Snap-Ins an, die automatisch in Sitzungen importiert werden, die die Sitzungskonfiguration verwenden.

Standardmäßig werden nur die Microsoft.PowerShell.Core Snap-Ins in Remotesitzungen importiert, es sei denn, die Cmdlets sind ausgeschlossen, können Benutzer die Import-Module und Add-PSSnapin Cmdlets verwenden, um der Sitzung Module und Snap-Ins hinzuzufügen.

Jedes Modul oder Snap-In im Wert dieses Parameters kann durch eine Zeichenfolge oder als Hashtabelle dargestellt werden. Eine Modulzeichenfolge besteht nur aus dem Namen des Moduls oder Snap-Ins. Eine Modulhashtabelle kann ModuleName-, ModuleVersion-und GUID- Schlüssel enthalten. Es ist nur der schlüssel ModuleName erforderlich.

Der folgende Wert besteht beispielsweise aus einer Zeichenfolge und einer Hashtabelle. Eine beliebige Kombination aus Zeichenfolgen und Hashtabellen in beliebiger Reihenfolge ist gültig.

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

Der Wert des parameters ModulesToImport des Cmdlets Register-PSSessionConfiguration hat Vorrang vor dem Wert des ModulesToImport- Schlüssels in der Sitzungskonfigurationsdatei.

Parametereigenschaften

Typ:

Object[]

Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-Path

Gibt den Pfad und Dateinamen der Sitzungskonfigurationsdatei an. Die Datei muss über eine .pssc Dateinamenerweiterung verfügen.

Parametereigenschaften

Typ:String
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:0
Obligatorisch:True
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-PowerShellVersion

Gibt die Version des PowerShell-Moduls in Sitzungen an, die die Sitzungskonfiguration verwenden. Die zulässigen Werte für diesen Parameter sind: 2,0 und 3,0. Wenn Sie diesen Parameter weglassen, wird der PowerShellVersion-schlüssel auskommentiert, und die neueste Version von PowerShell wird in der Sitzung ausgeführt.

Der Wert des PSVersion- Parameters des cmdlets Register-PSSessionConfiguration hat Vorrang vor dem Wert des PowerShellVersion- Schlüssels in der Sitzungskonfigurationsdatei.

Parametereigenschaften

Typ:Version
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-SchemaVersion

Gibt die Version des Sitzungskonfigurationsdateischemas an. Der Standardwert ist "1.0.0.0".

Parametereigenschaften

Typ:Version
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-ScriptsToProcess

Fügt die angegebenen Skripts zu Sitzungen hinzu, die die Sitzungskonfiguration verwenden. Geben Sie den Pfad und dateinamen der Skripts ein. Der Wert dieses Parameters muss ein vollständiger oder absoluter Pfad von Skriptdateinamen sein.

Parametereigenschaften

Typ:

String[]

Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-SessionType

Gibt den Sitzungstyp an, der mithilfe der Sitzungskonfiguration erstellt wird. Der Standardwert ist "Default". Die zulässigen Werte für diesen Parameter sind:

  • Leer – Standardmäßig werden keine Module zur Sitzung hinzugefügt. Verwenden Sie die Parameter dieses Cmdlets, um der Sitzung Module, Funktionen, Skripts und andere Features hinzuzufügen. Diese Option wurde für Sie entwickelt, um benutzerdefinierte Sitzungen zu erstellen, indem Sie ausgewählte Befehle hinzufügen. Wenn Sie einer leeren Sitzung keine Befehle hinzufügen, ist die Sitzung auf Ausdrücke beschränkt und kann möglicherweise nicht verwendet werden.
  • Standard : Fügt das Microsoft.PowerShell.Core-Modul der Sitzung hinzu. Dieses Modul enthält das cmdlet Import-Module, das Benutzer zum Importieren anderer Module verwenden können, es sei denn, Sie verbieten dieses Cmdlet explizit.
  • RestrictedRemoteServer. Umfasst nur die folgenden Proxyfunktionen: Exit-PSSession, Get-Command, Get-FormatData, Get-Help, Measure-Object, Out-Defaultund Select-Object. Verwenden Sie die Parameter dieses Cmdlets, um der Sitzung Module, Funktionen, Skripts und andere Features hinzuzufügen.

Parametereigenschaften

Typ:SessionType
Standardwert:None
Zulässige Werte:Empty, RestrictedRemoteServer, Default
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-TypesToProcess

Fügt die angegebenen .ps1xml Typdateien zu Sitzungen hinzu, die die Sitzungskonfiguration verwenden. Geben Sie die Typdateinamen ein. Der Wert dieses Parameters muss ein vollständiger oder absoluter Pfad zum Eingeben von Dateinamen sein.

Parametereigenschaften

Typ:

String[]

Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-VariableDefinitions

Fügt die angegebenen Variablen zu Sitzungen hinzu, die die Sitzungskonfiguration verwenden. Geben Sie eine Hashtabelle mit den folgenden Schlüsseln ein:

  • Name - Name der Variablen. Dieser Schlüssel ist erforderlich.
  • Wert - Variabler Wert. Dieser Schlüssel ist erforderlich.
  • Optionen - Variable Optionen. Dieser Schlüssel ist optional. Der Standardwert ist Keiner. Die zulässigen Werte für diesen Parameter sind: None, ReadOnly, Constant, Private oder AllScope.

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

Parametereigenschaften

Typ:Object
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-VisibleAliases

Beschränkt die Aliase in der Sitzung auf die im Wert dieses Parameters angegebenen Aliase sowie alle Aliase, die Sie im AliasDefinition Parameter definieren. Wildcardzeichen werden unterstützt. Standardmäßig sind alle Aliase, die vom PowerShell-Modul definiert sind, und alle Aliase, die exportiert werden, in der Sitzung sichtbar.

Beispiel: VisibleAliases='gcm', 'gp'

Wenn ein Visible Parameter in der Sitzungskonfigurationsdatei enthalten ist, entfernt PowerShell das cmdlet Import-Module und dessen IPmo-Alias aus der Sitzung.

Parametereigenschaften

Typ:

String[]

Standardwert:None
Unterstützt Platzhalter:True
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-VisibleCmdlets

Beschränkt die Cmdlets in der Sitzung auf diejenigen, die im Wert dieses Parameters angegeben sind. Wildcardzeichen und modulqualifizierte Namen werden unterstützt.

Standardmäßig sind alle Cmdlets, die Module im Sitzungsexport enthalten, in der Sitzung sichtbar. Verwenden Sie die Parameter SessionType und ModulesToImport, um zu bestimmen, welche Module und Snap-Ins in die Sitzung importiert werden. Wenn keine Module in ModulesToImport das Cmdlet verfügbar machen, versucht das entsprechende Modul, automatisch geladen zu werden.

Wenn ein Visible Parameter in der Sitzungskonfigurationsdatei enthalten ist, entfernt PowerShell das cmdlet Import-Module und dessen IPmo-Alias aus der Sitzung.

Parametereigenschaften

Typ:

String[]

Standardwert:None
Unterstützt Platzhalter:True
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-VisibleFunctions

Beschränkt die Funktionen in der Sitzung auf diejenigen, die im Wert dieses Parameters angegeben sind, sowie alle Funktionen, die Sie im parameter FunctionDefinition definieren. Wildcardzeichen werden unterstützt.

Standardmäßig sind alle Funktionen, die Module im Sitzungsexport enthalten, in der Sitzung sichtbar. Verwenden Sie die Parameter SessionType und ModulesToImport, um zu bestimmen, welche Module und Snap-Ins in die Sitzung importiert werden.

Wenn ein Visible Parameter in der Sitzungskonfigurationsdatei enthalten ist, entfernt PowerShell das cmdlet Import-Module und dessen IPmo-Alias aus der Sitzung.

Parametereigenschaften

Typ:

String[]

Standardwert:None
Unterstützt Platzhalter:True
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-VisibleProviders

Beschränkt die PowerShell-Anbieter in der Sitzung auf diejenigen, die im Wert dieses Parameters angegeben sind. Wildcardzeichen werden unterstützt.

Standardmäßig sind alle Anbieter, die Module im Sitzungsexport enthalten, in der Sitzung sichtbar. Verwenden Sie die Parameter SessionType und ModulesToImport, um zu bestimmen, welche Module in die Sitzung importiert werden.

Wenn ein Visible-Parameter in der Sitzungskonfigurationsdatei enthalten ist, entfernt PowerShell das cmdlet Import-Module und dessen ipmo Alias aus der Sitzung.

Parametereigenschaften

Typ:

String[]

Standardwert:None
Unterstützt Platzhalter:True
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

CommonParameters

Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.

Eingaben

None

Sie können keine Objekte über die Pipeline an dieses Cmdlet übergeben.

Ausgaben

None

Dieses Cmdlet generiert keine Ausgabe.

Hinweise

  • Parameter wie VisibleCmdlets und VisibleProvidersimportieren keine Elemente in die Sitzung. Stattdessen wählen sie aus den in die Sitzung importierten Elementen aus. Wenn beispielsweise der Wert des VisibleProviders Parameter der Zertifikatanbieter ist, aber der parameter ModulesToImport parameter nicht das Microsoft.PowerShell.Security Modul mit dem Zertifikatanbieter angibt, ist der Zertifikatanbieter in der Sitzung nicht sichtbar.

  • New-PSSessionConfigurationFile erstellt eine Sitzungskonfigurationsdatei mit der Dateinamenerweiterung PSSC im Pfad, den Sie im parameter Path angeben. Wenn Sie die Sitzungskonfigurationsdatei zum Erstellen einer Sitzungskonfiguration verwenden, kopiert das Register-PSSessionConfiguration-Cmdlet die Konfigurationsdatei und speichert eine aktive Kopie der Datei im Unterverzeichnis SessionConfig Verzeichnis des $PSHOME Verzeichnisses.

    Die ConfigFilePath- Eigenschaft der Sitzungskonfiguration enthält den vollqualifizierten Pfad der aktiven Sitzungskonfigurationsdatei. Sie können die aktive Konfigurationsdatei im verzeichnis $PSHOME jederzeit mithilfe eines beliebigen Text-Editors ändern. Die Änderungen, die Sie vornehmen, wirken sich auf alle neuen Sitzungen aus, die die Sitzungskonfiguration verwenden, jedoch nicht auf vorhandene Sitzungen.

    Bevor Sie eine bearbeitete Sitzungskonfigurationsdatei verwenden, verwenden Sie das Cmdlet Test-PSSessionConfigurationFile, um zu überprüfen, ob die Konfigurationsdateieinträge gültig sind.