New-PSSessionConfigurationFile
Erstellt eine Datei, die eine Sitzungskonfiguration definiert.
Syntax
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 New-PSSessionConfigurationFile
Cmdlet 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 Path-Parameter des Register-PSSessionConfiguration
Cmdlets oder Set-PSSessionConfiguration
.
Die Sitzungskonfigurationsdatei, die erstellt wird, New-PSSessionConfigurationFile
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, es sei denn, er wurde in der Parameterbeschreibung angegeben.
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 verwenden eine Sitzungskonfiguration . Verwenden Sie zum Angeben einer bestimmten Sitzungskonfiguration den ConfigurationName-Parameter von Cmdlets, die eine Sitzung erstellen, z. B. das New-PSSession
Cmdlet.
Eine session configuration file erleichtert die Definition 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 erstellen und die Auswirkungen einer sprachfreien Sitzung haben.
Dazu müssen folgende Schritte ausgeführt werden:
- Create eine neue Konfigurationsdatei.
- Registrieren Sie die Konfiguration.
- Create eine neue Sitzung, die die Konfiguration verwendet.
- Führen Sie Befehle in dieser neuen Sitzung aus.
Um die Befehle in diesem Beispiel auszuführen, starten Sie PowerShell mit der Option Als Administrator ausführen. Diese Option ist erforderlich, um das Register-PSSessionConfiguration
Cmdlet 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 tritt ein Fehler auf Invoke-Command
, da der LanguageMode auf NoLanguage festgelegt ist.
Beispiel 2: Erstellen und Verwenden einer RestrictedLanguage-Sitzung
In diesem Beispiel wird gezeigt, wie sie erstellen und die Auswirkungen einer sprachfreien Sitzung haben.
Dazu müssen folgende Schritte ausgeführt werden:
- Create eine neue Konfigurationsdatei.
- Registrieren Sie die Konfiguration.
- Create eine neue Sitzung, die die Konfiguration verwendet.
- Führen Sie Befehle in dieser neuen Sitzung aus.
Um die Befehle in diesem Beispiel auszuführen, starten Sie PowerShell mit der Option Als Administrator ausführen. Diese Option ist erforderlich, um das Register-PSSessionConfiguration
Cmdlet 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 der LanguageMode auf RestrictedLanguage festgelegt 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. Zuvor hatten diese Sitzungen nur die Kernmodule und ein internes ITTasks-Modul . Der Administrator möchte das MODUL PSScheduledJob 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 New-PSSessionConfigurationFile
Cmdlet zum Erstellen einer Sitzungskonfigurationsdatei, die die erforderlichen Module importiert. Das Set-PSSessionConfiguration
Cmdlet 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 veranschaulicht, wie Sie eine Sitzungskonfiguration durch Bearbeiten der aktiven Sitzungskonfigurationskopie der Konfigurationsdatei ändern können. 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 Select-String
Cmdlet hinzufügen, indem wir die aktive Konfigurationsdatei bearbeiten.
Der folgende Beispielcode führt die folgenden Schritte aus, um diese Änderung vorzunehmen:
- Rufen Sie den Konfigurationsdateipfad für die ITConfig-Sitzung ab.
- Der Benutzer bearbeitet die Konfigurationsdatei mithilfe vonNotepad.exe , um den AliasDefinitions-Wert wie folgt zu ändern:
AliasDefinitions = @(@{Name='slst';Value='Select-String'})
. - 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 zurück $True
, wenn keine Fehler in der Datei erkannt werden.
Beispiel 5: Create einer Beispielkonfigurationsdatei
Dieses Beispiel zeigt einen New-PSSessionConfigurationFile
Befehl, der alle Cmdletparameter verwendet.
Er wurde angegeben, um das richtige Eingabeformat für jeden Parameter zu zeigen.
Die 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 ein New-PSSessionConfigurationFile-Befehl angezeigt, der alle Cmdlet-Parameter verwendet. Er wurde angegeben, um das richtige Eingabeformat für jeden Parameter zu zeigen.
Die 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.
- Wert: 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 None. 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'}
Type: | Hashtable[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AssembliesToLoad
Gibt die Assemblys an, die in die Sitzungen geladen werden sollen und die die Sitzungskonfiguration verwenden.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Author
Gibt den Autor der Sitzungskonfiguration oder der Konfigurationsdatei an. Der Standardwert ist der aktuelle Benutzer. Der Wert dieses Parameters wird in der Sitzungskonfigurationsdatei angezeigt, aber es handelt sich nicht um eine Eigenschaft des Sitzungskonfigurationsobjekts.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CompanyName
Gibt das Unternehmen an, das die Sitzungskonfiguration oder die Konfigurationsdatei erstellt hat. Der Standardwert ist Unknown (Unbekannt). Der Wert dieses Parameters wird in der Sitzungskonfigurationsdatei angezeigt, aber es handelt sich nicht um eine Eigenschaft des Sitzungskonfigurationsobjekts.
Type: | String |
Position: | Named |
Default value: | Unknown |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Copyright
Gibt ein Copyright für die Sitzungskonfigurationsdatei an. Der Wert dieses Parameters wird in der Sitzungskonfigurationsdatei angezeigt, aber es handelt sich nicht um eine Eigenschaft des Sitzungskonfigurationsobjekts.
Wenn Sie diesen Parameter weglassen, New-PSSessionConfigurationFile
generiert eine Copyright-Anweisung mithilfe des Werts des Parameters Author .
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Description
Gibt eine Beschreibung der Sitzungskonfiguration oder der Sitzungskonfigurationsdatei an. Der Wert dieses Parameters wird in der Sitzungskonfigurationsdatei angezeigt, aber es handelt sich nicht um eine Eigenschaft des Sitzungskonfigurationsobjekts.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 Werte der Umgebungsvariablen sind.
Beispiel: EnvironmentVariables=@{TestShare='\\Server01\TestShare'}
Type: | Object |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ExecutionPolicy
Bestimmt die Ausführungsrichtlinie von Sitzungen, die die Sitzungskonfiguration verwenden. Wenn Sie diesen Parameter weglassen, ist der Wert des ExecutionPolicy-Schlüssels in der Sitzungskonfigurationsdatei Eingeschränkt. Informationen zu Ausführungsrichtlinien in PowerShell finden Sie unter about_Execution_Policies.
Type: | ExecutionPolicy |
Accepted values: | Unrestricted, RemoteSigned, AllSigned, Restricted, Default, Bypass, Undefined |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-FunctionDefinitions
Fügt Sitzungen, die die Sitzungskonfiguration verwenden, die angegebenen Funktionen hinzu. 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 None. 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'}
Type: | Hashtable[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Guid
Gibt einen eindeutigen Bezeichner für die Sitzungskonfigurationsdatei an. Wenn Sie diesen Parameter weglassen, New-PSSessionConfigurationFile
generiert eine GUID für die Datei. Um eine neue GUID in PowerShell zu erstellen, geben Sie ein New-Guid
.
Type: | Guid |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Zulässige Werte für diesen Parameter:
- FullLanguage: Alle Sprachelemente sind zulässig.
- ConstrainedLanguage: Befehle, die auszuwertende Skripts enthalten, sind nicht zulässig. Der ConstrainedLanguage-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 verwenden, mit Ausnahme der folgenden zulässigen Variablen:
$PSCulture
, ,$PSUICulture
$True
,$False
und$Null
. Benutzer dürfen nur die grundlegenden Vergleichsoperatoren (-eq
,-gt
,-lt
) verwenden. Zuweisungsanweisungen, Eigenschaftsverweise und Methodenaufrufe sind nicht zulässig.
Der Standardwert des LanguageMode-Parameters hängt vom Wert des SessionType-Parameters ab.
- Empty – NoLanguage
- RestrictedRemoteServer – NoLanguage
- Standard: FullLanguage
Type: | PSLanguageMode |
Accepted values: | FullLanguage, RestrictedLanguage, NoLanguage, ConstrainedLanguage |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ModulesToImport
Gibt die Module und Snap-ins an, die automatisch in Sitzungen importiert werden, die die Sitzungskonfiguration verwenden.
Standardmäßig wird nur das Microsoft.PowerShell.Core-Snap-In in Remotesitzungen importiert, aber wenn die Cmdlets nicht ausgeschlossen werden, können Benutzer die Import-Module
Cmdlets und Add-PSSnapin
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 Die Schlüssel ModuleName, ModuleVersion und GUID enthalten. Nur der ModuleName-Schlüssel ist erforderlich.
Beispielsweise besteht der folgende Wert aus einer Zeichenfolge und einer Hashtabelle. Jede 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 Register-PSSessionConfiguration
Cmdlets hat Vorrang vor dem Wert des ModulesToImport-Schlüssels in der Sitzungskonfigurationsdatei.
Type: | Object[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
Gibt den Pfad und Dateinamen der Sitzungskonfigurationsdatei an. Die Datei muss über eine .pssc
Dateinamenerweiterung verfügen.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PowerShellVersion
Gibt die Version der PowerShell-Engine 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 Register-PSSessionConfiguration
Cmdlets hat Vorrang vor dem Wert des PowerShellVersion-Schlüssels in der Sitzungskonfigurationsdatei.
Type: | Version |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SchemaVersion
Gibt die Version des Sitzungskonfigurationsdateischemas an. Der Standardwert ist „1.0.0.0“.
Type: | Version |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ScriptsToProcess
Fügt den Sitzungen, die die Sitzungskonfiguration verwenden, die angegebenen Skripts hinzu. Geben Sie den Pfad und die Dateinamen der Skripts ein. Der Wert dieses Parameters muss ein vollständiger oder absoluter Pfad von Skriptdateinamen sein.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SessionType
Gibt den Typ der Sitzung an, die mit der Sitzungskonfiguration erstellt wird. Der Standardwert ist Default. Zulässige Werte für diesen Parameter:
- Leer: Der Sitzung werden standardmäßig keine Module hinzugefügt. Verwenden Sie die Parameter dieses Cmdlets, um der Sitzung Module, Funktionen, Skripts und andere Funktionen hinzuzufügen. Mit dieser Option können Sie benutzerdefinierte Sitzungen 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 womöglich nicht verwendet werden.
- Standard: Fügt der Sitzung das Modul Microsoft.PowerShell.Core hinzu. Dieses Modul enthält das
Import-Module
Cmdlet, das Benutzer verwenden können, um andere Module zu importieren, 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-Default
, undSelect-Object
. Verwenden Sie die Parameter dieses Cmdlets, um der Sitzung Module, Funktionen, Skripts und andere Funktionen hinzuzufügen.
Type: | SessionType |
Accepted values: | Empty, RestrictedRemoteServer, Default |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-TypesToProcess
Fügt den Sitzungen, die die Sitzungskonfiguration verwenden, die angegebenen .ps1xml
Typdateien hinzu. Geben Sie die Typdateinamen ein. Der Wert dieses Parameters muss ein vollständiger oder absoluter Pfad zum Eingeben von Dateinamen sein.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-VariableDefinitions
Fügt den Sitzungen, die die Sitzungskonfiguration verwenden, die angegebenen Variablen hinzu. Geben Sie eine Hashtabelle mit den folgenden Schlüsseln ein:
- Name: Name der Variablen. Dieser Schlüssel ist erforderlich.
- Wert : Variablenwert. Dieser Schlüssel ist erforderlich.
- Optionen: Variablenoptionen. Dieser Schlüssel ist optional. Der Standardwert ist None. Die zulässigen Werte für diesen Parameter sind: None, ReadOnly, Constant, Private oder AllScope.
Beispiel: @{Name='WarningPreference';Value='SilentlyContinue';Options='AllScope'}
Type: | Object |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-VisibleAliases
Beschränkt die Aliase in der Sitzung auf jene, die im Wert dieses Parameters angegeben wurden, sowie auf alle Aliase, die Sie im AliasDefinition-Parameter definieren. Platzhalterzeichen werden unterstützt. Standardmäßig sind alle Aliase, die von der PowerShell-Engine definiert werden, und alle Aliase, die module exportieren, in der Sitzung sichtbar.
Beispiel: VisibleAliases='gcm', 'gp'
Wenn ein Visible-Parameter in der Sitzungskonfigurationsdatei enthalten ist, entfernt PowerShell das Cmdlet und seinen Import-Module
ipmo-Alias aus der Sitzung.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-VisibleCmdlets
Beschränkt die Cmdlets in der Sitzung auf jene, die im Wert dieses Parameters angegeben wurden. Wildcardzeichen und qualifizierte Modulnamen werden unterstützt.
Standardmäßig sind alle Cmdlets, die von Modulen in der Sitzung exportiert werden, in der Sitzung sichtbar. Verwenden Sie die SessionType- und ModulesToImport-Parameter, 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 und seinen Import-Module
ipmo-Alias aus der Sitzung.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-VisibleFunctions
Beschränkt die Funktionen in der Sitzung auf jene, die im Wert dieses Parameters angegeben wurden, sowie auf alle Funktionen, die Sie im FunctionDefinition-Parameter definieren. Platzhalterzeichen werden unterstützt.
Standardmäßig sind alle Funktionen, die von Modulen in der Sitzung exportiert werden, in der Sitzung sichtbar. Verwenden Sie die SessionType- und ModulesToImport-Parameter, 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 und seinen Import-Module
ipmo-Alias aus der Sitzung.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-VisibleProviders
Beschränkt die PowerShell-Anbieter in der Sitzung auf die im Wert dieses Parameters angegebenen Anbieter. Platzhalterzeichen werden unterstützt.
Standardmäßig sind alle Anbieter, die von Modulen in der Sitzung exportiert werden, 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 und seinen Import-Module
ipmo
Alias aus der Sitzung.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
Eingaben
None
Sie können keine Objekte an dieses Cmdlet weiterleiten.
Ausgaben
None
Dieses Cmdlet generiert keine Ausgabe.
Hinweise
Parameter wie VisibleCmdlets und VisibleProviders importieren keine Elemente in die Sitzung. Stattdessen treffen sie ihre Auswahl unter den Elementen, die in die Sitzung importiert wurden. Wenn der Wert des VisibleProviders-Parameters beispielsweise der Zertifikatanbieter ist, der ModulesToImport-Parameter jedoch nicht das Modul Microsoft.PowerShell.Security angibt, das den Zertifikatanbieter enthält, ist der Zertifikatanbieter in der Sitzung nicht sichtbar.
New-PSSessionConfigurationFile
erstellt eine Sitzungskonfigurationsdatei mit der Dateinamenerweiterung PSSC im Pfad, den Sie im Path-Parameter angeben. Wenn Sie die Sitzungskonfigurationsdatei zum Erstellen einer Sitzungskonfiguration verwenden, kopiert dasRegister-PSSessionConfiguration
Cmdlet die Konfigurationsdatei und speichert eine aktive Kopie der Datei im Unterverzeichnis SessionConfig des$PSHOME
Verzeichnisses.Die ConfigFilePath-Eigenschaft der Sitzungskonfiguration enthält den vollqualifizierten Pfad der aktiven Sitzungskonfigurationsdatei. Sie können die aktive Konfigurationsdatei im
$PSHOME
Verzeichnis jederzeit mit einem beliebigen Text-Editor ändern. Die Änderungen, die Sie vornehmen, betreffen alle neuen Sitzungen, die diese Sitzungskonfiguration verwenden, aber nicht bereits vorhandene Sitzungen.Verwenden Sie vor der Verwendung einer bearbeiteten Sitzungskonfigurationsdatei das
Test-PSSessionConfigurationFile
Cmdlet, um zu überprüfen, ob die Konfigurationsdateieinträge gültig sind.