New-PSSessionConfigurationFile
Hiermee maakt u een bestand dat een sessieconfiguratie definieert.
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>]
Description
De New-PSSessionConfigurationFile
cmdlet maakt een bestand met instellingen waarmee een sessieconfiguratie en de omgeving van sessies worden gedefinieerd die worden gemaakt met behulp van de sessieconfiguratie.
Als u het bestand wilt gebruiken in een sessieconfiguratie, gebruikt u de parameter Path van de Register-PSSessionConfiguration
cmdlets of Set-PSSessionConfiguration
.
Het sessieconfiguratiebestand dat New-PSSessionConfigurationFile
wordt gemaakt, is een door mensen leesbaar tekstbestand dat een hash-tabel bevat met de eigenschappen en waarden van de sessieconfiguratie. Het bestand heeft een .pssc
bestandsnaamextensie.
Alle parameters van zijn optioneel, met uitzondering van New-PSSessionConfigurationFile
de parameter Path .
Als u een parameter weglaat, wordt de bijbehorende sleutel in het sessieconfiguratiebestand weggelaten, behalve waar vermeld in de beschrijving van de parameter.
Een sessieconfiguratie, ook wel een eindpunt genoemd, is een verzameling instellingen op de lokale computer die de omgeving definiëren voor PowerShell-sessies (PSSessions) die verbinding maken met de computer. Alle PSSessions gebruiken een sessieconfiguratie. Als u een bepaalde sessieconfiguratie wilt opgeven, gebruikt u de parameter ConfigurationName van cmdlets waarmee een sessie wordt gemaakt, zoals de New-PSSession
cmdlet.
Met een sessieconfiguratiebestand kunt u eenvoudig een sessieconfiguratie definiëren zonder complexe scripts of codeassembly's. De instellingen in het bestand worden gebruikt met het optionele opstartscript en eventuele assembly's in de sessieconfiguratie.
Zie about_Session_Configurations enabout_Session_Configuration_Files voor meer informatie over sessieconfiguraties en sessieconfiguratiebestanden.
Deze cmdlet is geïntroduceerd in PowerShell 3.0.
Voorbeelden
Voorbeeld 1: Een NoLanguage-sessie maken en gebruiken
In dit voorbeeld ziet u hoe u een sessie zonder taal maakt en wat de gevolgen zijn van het gebruik van een sessie zonder taal.
Deze stappen omvatten:
- Creatie een nieuw configuratiebestand.
- Registreer de configuratie.
- Creatie een nieuwe sessie die gebruikmaakt van de configuratie.
- Voer opdrachten uit in die nieuwe sessie.
Als u de opdrachten in dit voorbeeld wilt uitvoeren, start u PowerShell met behulp van de optie Als administrator uitvoeren. Deze optie is vereist om de Register-PSSessionConfiguration
cmdlet uit te voeren.
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 dit voorbeeld mislukt de Invoke-Command
omdat de LanguageMode is ingesteld op NoLanguage.
Voorbeeld 2: Een RestrictedLanguage-sessie maken en gebruiken
In dit voorbeeld ziet u hoe u een sessie zonder taal maakt en wat de gevolgen zijn van het gebruik van een sessie zonder taal.
Deze stappen omvatten:
- Creatie een nieuw configuratiebestand.
- Registreer de configuratie.
- Creatie een nieuwe sessie die gebruikmaakt van de configuratie.
- Voer opdrachten uit in die nieuwe sessie.
Als u de opdrachten in dit voorbeeld wilt uitvoeren, start u PowerShell met behulp van de optie Als administrator uitvoeren. Deze optie is vereist om de Register-PSSessionConfiguration
cmdlet uit te voeren.
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 dit voorbeeld slaagt de Invoke-Command
omdat languagemode is ingesteld op RestrictedLanguage.
Voorbeeld 3: Een sessieconfiguratiebestand wijzigen
In dit voorbeeld ziet u hoe u het sessieconfiguratiebestand wijzigt dat wordt gebruikt in een bestaande sessie met de naam 'ITTasks'. Voorheen hadden deze sessies alleen de kernmodules en een interne ITTasks-module . De beheerder wil de module PSScheduledJob toevoegen aan sessies die zijn gemaakt met behulp van de sessieconfiguratie ITTasks.
New-PSSessionConfigurationFile -Path .\New-ITTasks.pssc -ModulesToImport Microsoft*, ITTasks, PSScheduledJob
Set-PSSessionConfiguration -Name ITTasks -Path .\New-ITTasks.pssc
De New-PSSessionConfigurationFile
cmdlet voor het maken van een sessieconfiguratiebestand waarmee de vereiste modules worden geïmporteerd. De Set-PSSessionConfiguration
cmdlet vervangt het huidige configuratiebestand door het nieuwe. Deze nieuwe configuratie is alleen van invloed op nieuwe sessies die na de wijziging zijn gemaakt.
Bestaande ITTasks-sessies worden niet beïnvloed.
Voorbeeld 4: een sessieconfiguratiebestand bewerken
In dit voorbeeld ziet u hoe u een sessieconfiguratie wijzigt door de actieve sessieconfiguratiekopie van het configuratiebestand te bewerken. Als u de sessieconfiguratiekopie van het configuratiebestand wilt wijzigen, moet u toegang tot het bestand hebben met volledig beheer. Hiervoor moet u mogelijk de machtigingen voor het bestand wijzigen.
In dit scenario willen we een nieuwe alias voor de Select-String
cmdlet toevoegen door het actieve configuratiebestand te bewerken.
Met de onderstaande voorbeeldcode worden de volgende stappen uitgevoerd om deze wijziging aan te brengen:
- Haal het pad naar het configuratiebestand op voor de ITConfig-sessie.
- De gebruiker bewerkt het configuratiebestand met behulp vanNotepad.exe om de AliasDefinitions-waarde als volgt te wijzigen:
AliasDefinitions = @(@{Name='slst';Value='Select-String'})
. - Test het bijgewerkte configuratiebestand.
$ITConfig = Get-PSSessionConfiguration -Name ITConfig
notepad.exe $ITConfig.ConfigFilePath
Test-PSSessionConfigurationFile -Path $ITConfig.ConfigFilePath
True
Gebruik de parameter Uitgebreid met Test-PSSessionConfigurationFile
om eventuele fouten weer te geven die zijn gedetecteerd. De cmdlet retourneert $True
als er geen fouten zijn gedetecteerd in het bestand.
Voorbeeld 5: een voorbeeldconfiguratiebestand Creatie
In dit voorbeeld ziet u een New-PSSessionConfigurationFile
opdracht die gebruikmaakt van alle cmdlet-parameters.
Het is opgenomen om de juiste invoerindeling voor elke parameter weer te geven.
Het resulterende SampleFile.pssc wordt weergegeven in de uitvoer.
$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 dit voorbeeld wordt de opdracht New-PSSessionConfigurationFile weergegeven die gebruikmaakt van alle cmdlet-parameters. Het is opgenomen om de juiste invoerindeling voor elke parameter weer te geven.
Het resulterende SampleFile.pssc wordt weergegeven in de uitvoer.
Parameters
-AliasDefinitions
Voegt de opgegeven aliassen toe aan sessies die gebruikmaken van de sessieconfiguratie. Voer een hash-tabel in met de volgende sleutels:
- Naam: de naam van de alias. Deze sleutel is vereist.
- Value: de opdracht die de alias vertegenwoordigt. Deze sleutel is vereist.
- Beschrijving: een tekenreeks die de alias beschrijft. Deze sleutel is optioneel.
- Opties- Aliasopties. Deze sleutel is optioneel. De standaardwaarde is Geen. De acceptabele waarden voor deze parameter zijn: None, ReadOnly, Constant, Private of AllScope.
Bijvoorbeeld: @{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
Hiermee geeft u de assembly's op die moeten worden geladen in de sessies die gebruikmaken van de sessieconfiguratie.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Author
Hiermee geeft u de auteur van de sessieconfiguratie of het configuratiebestand. Standaard is dit de huidige gebruiker. De waarde van deze parameter is zichtbaar in het sessieconfiguratiebestand, maar is geen eigenschap van het sessieconfiguratieobject.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CompanyName
Hiermee geeft u het bedrijf op dat de sessieconfiguratie of het configuratiebestand heeft gemaakt. De standaardwaarde is Onbekend. De waarde van deze parameter is zichtbaar in het sessieconfiguratiebestand, maar is geen eigenschap van het sessieconfiguratieobject.
Type: | String |
Position: | Named |
Default value: | Unknown |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Copyright
Hiermee geeft u een copyright op het sessieconfiguratiebestand. De waarde van deze parameter is zichtbaar in het sessieconfiguratiebestand, maar is geen eigenschap van het sessieconfiguratieobject.
Als u deze parameter weglaat, New-PSSessionConfigurationFile
wordt een copyright-instructie gegenereerd met behulp van de waarde van de parameter Auteur .
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Description
Hiermee geeft u een beschrijving van de sessieconfiguratie of het sessieconfiguratiebestand. De waarde van deze parameter is zichtbaar in het sessieconfiguratiebestand, maar is geen eigenschap van het sessieconfiguratieobject.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-EnvironmentVariables
Hiermee voegt u omgevingsvariabelen toe aan de sessie. Voer een hashtabel in waarin de sleutels de namen van de omgevingsvariabele zijn en de waarden de waarden van de omgevingsvariabele zijn.
Bijvoorbeeld: EnvironmentVariables=@{TestShare='\\Server01\TestShare'}
Type: | Object |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ExecutionPolicy
Hiermee geeft u het uitvoeringsbeleid op van sessies die gebruikmaken van de sessieconfiguratie. Als u deze parameter weglaat, is de waarde van de ExecutionPolicy-sleutel in het sessieconfiguratiebestand Beperkt. Zie about_Execution_Policies voor informatie over uitvoeringsbeleid in PowerShell.
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
Hiermee geeft u de opmaakbestanden (.ps1xml) op die worden uitgevoerd in sessies die gebruikmaken van de sessieconfiguratie. De waarde van deze parameter moet een volledig of absoluut pad van de opmaakbestanden zijn.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-FunctionDefinitions
Voegt de opgegeven functies toe aan sessies die gebruikmaken van de sessieconfiguratie. Voer een hash-tabel in met de volgende sleutels:
- Naam: de naam van de functie. Deze sleutel is vereist.
- ScriptBlock - Hoofdtekst van de functie. Voer een scriptblok in. Deze sleutel is vereist.
- Opties: functieopties. Deze sleutel is optioneel. De standaardwaarde is Geen. De acceptabele waarden voor deze parameter zijn: None, ReadOnly, Constant, Private of AllScope.
Bijvoorbeeld: @{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
Hiermee geeft u een unieke id voor het sessieconfiguratiebestand. Als u deze parameter weglaat, New-PSSessionConfigurationFile
wordt er een GUID voor het bestand gegenereerd. Als u een nieuwe GUID in PowerShell wilt maken, typt u New-Guid
.
Type: | Guid |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-LanguageMode
Bepaalt welke elementen van de PowerShell-taal zijn toegestaan in sessies die gebruikmaken van deze sessieconfiguratie. U kunt deze parameter gebruiken om de opdrachten te beperken die bepaalde gebruikers op de computer kunnen uitvoeren.
De aanvaardbare waarden voor deze parameter zijn:
- FullLanguage: alle taalelementen zijn toegestaan.
- ConstrainedLanguage : opdrachten die scripts bevatten die moeten worden geëvalueerd, zijn niet toegestaan. De modus ConstrainedLanguage beperkt gebruikerstoegang tot Microsoft .NET Framework typen, objecten of methoden.
- NoLanguage: gebruikers kunnen cmdlets en functies uitvoeren, maar mogen geen taalelementen gebruiken, zoals scriptblokken, variabelen of operators.
- RestrictedLanguage: gebruikers kunnen cmdlets en functies uitvoeren, maar mogen geen scriptblokken of variabelen gebruiken, met uitzondering van de volgende toegestane variabelen:
$PSCulture
,$PSUICulture
,$True
,$False
en$Null
. Gebruikers mogen alleen de basisvergelijkingsoperators (-eq
,-gt
, )-lt
gebruiken. Toewijzingsinstructies, eigenschapsverwijzingen en methode-aanroepen zijn niet toegestaan.
De standaardwaarde van de parameter LanguageMode is afhankelijk van de waarde van de parameter SessionType .
- Empty - NoLanguage
- RestrictedRemoteServer - NoLanguage
- Default - 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
Hiermee geeft u de modules en modules op die automatisch worden geïmporteerd in sessies die gebruikmaken van de sessieconfiguratie.
Standaard wordt alleen de module Microsoft.PowerShell.Core geïmporteerd in externe sessies, maar tenzij de cmdlets worden uitgesloten, kunnen gebruikers de Import-Module
cmdlets en Add-PSSnapin
gebruiken om modules en modules toe te voegen aan de sessie.
Elke module of module in de waarde van deze parameter kan worden vertegenwoordigd door een tekenreeks of als een hashtabel. Een moduletekenreeks bestaat alleen uit de naam van de module of module. Een module-hashtabel kan ModuleName, ModuleVersion en GUID-sleutels bevatten. Alleen de sleutel ModuleName is vereist.
De volgende waarde bestaat bijvoorbeeld uit een tekenreeks en een hashtabel. Elke combinatie van tekenreeksen en hash-tabellen, in elke volgorde, is geldig.
'TroubleshootingPack', @{ModuleName='PSDiagnostics'; ModuleVersion='1.0.0.0';GUID='c61d6278-02a3-4618-ae37-a524d40a7f44'}
De waarde van de parameter ModulesToImport van de Register-PSSessionConfiguration
cmdlet heeft voorrang op de waarde van de sleutel ModulesToImport in het sessieconfiguratiebestand.
Type: | Object[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
Hiermee geeft u het pad en de bestandsnaam van het sessieconfiguratiebestand. Het bestand moet een .pssc
bestandsnaamextensie hebben.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PowerShellVersion
Hiermee geeft u de versie van de PowerShell-engine op in sessies die gebruikmaken van de sessieconfiguratie. De acceptabele waarden voor deze parameter zijn: 2.0 en 3.0. Als u deze parameter weglaat, wordt de PowerShellVersion-sleutel uitgeschakeld en wordt de nieuwste versie van PowerShell uitgevoerd in de sessie.
De waarde van de parameter PSVersion van de Register-PSSessionConfiguration
cmdlet heeft voorrang op de waarde van de PowerShellVersion-sleutel in het sessieconfiguratiebestand.
Type: | Version |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SchemaVersion
Hiermee geeft u de versie van het sessieconfiguratiebestandsschema op. De standaardwaarde is '1.0.0.0'.
Type: | Version |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ScriptsToProcess
Voegt de opgegeven scripts toe aan sessies die gebruikmaken van de sessieconfiguratie. Voer het pad en de bestandsnamen van de scripts in. De waarde van deze parameter moet een volledig of absoluut pad van scriptbestandsnamen zijn.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SessionType
Hiermee geeft u het type sessie op dat wordt gemaakt met behulp van de sessieconfiguratie. De standaardwaarde is Standaard. De aanvaardbare waarden voor deze parameter zijn:
- Leeg: standaard worden er geen modules toegevoegd aan de sessie. Gebruik de parameters van deze cmdlet om modules, functies, scripts en andere functies toe te voegen aan de sessie. Deze optie is ontworpen om aangepaste sessies te maken door geselecteerde opdrachten toe te voegen. Als u geen opdrachten toevoegt aan een lege sessie, is de sessie beperkt tot expressies en is deze mogelijk niet bruikbaar.
- Standaard: voegt de module Microsoft.PowerShell.Core toe aan de sessie. Deze module bevat de
Import-Module
cmdlet die gebruikers kunnen gebruiken om andere modules te importeren, tenzij u deze cmdlet expliciet verbiedt. - RestrictedRemoteServer. Bevat alleen de volgende proxyfuncties:
Exit-PSSession
,Get-Command
,Get-FormatData
,Get-Help
,Measure-Object
,Out-Default
, enSelect-Object
. Gebruik de parameters van deze cmdlet om modules, functies, scripts en andere functies toe te voegen aan de sessie.
Type: | SessionType |
Accepted values: | Empty, RestrictedRemoteServer, Default |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-TypesToProcess
Hiermee voegt u de opgegeven .ps1xml
typebestanden toe aan sessies die gebruikmaken van de sessieconfiguratie. Voer de bestandsnamen van het type in. De waarde van deze parameter moet een volledig of absoluut pad zijn om bestandsnamen te typen.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-VariableDefinitions
Voegt de opgegeven variabelen toe aan sessies die gebruikmaken van de sessieconfiguratie. Voer een hash-tabel in met de volgende sleutels:
- Naam: de naam van de variabele. Deze sleutel is vereist.
- Value - Variabele waarde. Deze sleutel is vereist.
- Opties: variabele opties. Deze sleutel is optioneel. De standaardwaarde is Geen. De acceptabele waarden voor deze parameter zijn: None, ReadOnly, Constant, Private of AllScope.
Bijvoorbeeld: @{Name='WarningPreference';Value='SilentlyContinue';Options='AllScope'}
Type: | Object |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-VisibleAliases
Beperkt de aliassen in de sessie tot de aliassen die zijn opgegeven in de waarde van deze parameter, plus eventuele aliassen die u definieert in de aliasDefinition parameter . Jokertekens worden ondersteund. Standaard zijn alle aliassen die zijn gedefinieerd door de PowerShell-engine en alle aliassen die door modules worden geëxporteerd, zichtbaar in de sessie.
Bijvoorbeeld: VisibleAliases='gcm', 'gp'
Wanneer een Visible-parameter is opgenomen in het sessieconfiguratiebestand, verwijdert PowerShell de cmdlet en de Import-Module
bijbehorende ipmo-alias uit de sessie.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-VisibleCmdlets
Beperkt de cmdlets in de sessie tot de cmdlets die zijn opgegeven in de waarde van deze parameter. Jokertekens en gekwalificeerde namen van modules worden ondersteund.
Standaard zijn alle cmdlets die modules in de sessieexport worden weergegeven in de sessie. Gebruik de parameters SessionType en ModulesToImport om te bepalen welke modules en modules in de sessie worden geïmporteerd. Als er geen modules in ModulesToImport de cmdlet beschikbaar maken, wordt geprobeerd de juiste module automatisch te laden.
Wanneer een Visible-parameter is opgenomen in het sessieconfiguratiebestand, verwijdert PowerShell de cmdlet en de Import-Module
bijbehorende ipmo-alias uit de sessie.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-VisibleFunctions
Beperkt de functies in de sessie tot de functies die zijn opgegeven in de waarde van deze parameter, plus alle functies die u definieert in de parameter FunctionDefinition . Jokertekens worden ondersteund.
Standaard zijn alle functies die deel uitmaken van de sessie-export zichtbaar in de sessie. Gebruik de parameters SessionType en ModulesToImport om te bepalen welke modules en modules in de sessie worden geïmporteerd.
Wanneer een Visible-parameter is opgenomen in het sessieconfiguratiebestand, verwijdert PowerShell de cmdlet en de Import-Module
bijbehorende ipmo-alias uit de sessie.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-VisibleProviders
Beperkt de PowerShell-providers in de sessie tot de providers die zijn opgegeven in de waarde van deze parameter. Jokertekens worden ondersteund.
Standaard zijn alle providers met modules in de sessie-export zichtbaar in de sessie. Gebruik de parameters SessionType en ModulesToImport om te bepalen welke modules in de sessie worden geïmporteerd.
Wanneer een Visible-parameter is opgenomen in het sessieconfiguratiebestand, verwijdert PowerShell de cmdlet en de Import-Module
alias uit ipmo
de sessie.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
Invoerwaarden
None
U kunt geen objecten doorspezen naar deze cmdlet.
Uitvoerwaarden
None
Deze cmdlet genereert geen uitvoer.
Notities
Parameters, zoals VisibleCmdlets en VisibleProviders, importeren geen items in de sessie. In plaats daarvan selecteren ze uit de items die in de sessie zijn geïmporteerd. Als de waarde van de parameter VisibleProviders bijvoorbeeld de certificaatprovider is, maar de parameter ModulesToImport niet de module Microsoft.PowerShell.Security opgeeft die de certificaatprovider bevat, is de certificaatprovider niet zichtbaar in de sessie.
New-PSSessionConfigurationFile
maakt een sessieconfiguratiebestand met de bestandsextensie .pssc in het pad dat u opgeeft in de path-parameter . Wanneer u het sessieconfiguratiebestand gebruikt om een sessieconfiguratie te maken, kopieert deRegister-PSSessionConfiguration
cmdlet het configuratiebestand en slaat een actieve kopie van het bestand op in de submap SessionConfig van de$PSHOME
map.De eigenschap ConfigFilePath van de sessieconfiguratie bevat het volledig gekwalificeerde pad van het configuratiebestand voor actieve sessies. U kunt het actieve configuratiebestand in de
$PSHOME
map op elk gewenst moment wijzigen met behulp van een teksteditor. De wijzigingen die u aanbrengt, zijn van invloed op alle nieuwe sessies die gebruikmaken van de sessieconfiguratie, maar niet op bestaande sessies.Voordat u een bewerkt sessieconfiguratiebestand gebruikt, gebruikt u de
Test-PSSessionConfigurationFile
cmdlet om te controleren of de vermeldingen in het configuratiebestand geldig zijn.