New-PSSessionConfigurationFile
Létrehoz egy munkamenet-konfigurációt meghatározó fájlt.
Syntax
New-PSSessionConfigurationFile
[-Path] <String>
[-SchemaVersion <Version>]
[-Guid <Guid>]
[-Author <String>]
[-Description <String>]
[-CompanyName <String>]
[-Copyright <String>]
[-SessionType <SessionType>]
[-TranscriptDirectory <String>]
[-RunAsVirtualAccount]
[-RunAsVirtualAccountGroups <String[]>]
[-MountUserDrive]
[-UserDriveMaximumSize <Int64>]
[-GroupManagedServiceAccount <String>]
[-ScriptsToProcess <String[]>]
[-RoleDefinitions <IDictionary>]
[-RequiredGroups <IDictionary>]
[-LanguageMode <PSLanguageMode>]
[-ExecutionPolicy <ExecutionPolicy>]
[-PowerShellVersion <Version>]
[-ModulesToImport <Object[]>]
[-VisibleAliases <String[]>]
[-VisibleCmdlets <Object[]>]
[-VisibleFunctions <Object[]>]
[-VisibleExternalCommands <String[]>]
[-VisibleProviders <String[]>]
[-AliasDefinitions <IDictionary[]>]
[-FunctionDefinitions <IDictionary[]>]
[-VariableDefinitions <Object>]
[-EnvironmentVariables <IDictionary>]
[-TypesToProcess <String[]>]
[-FormatsToProcess <String[]>]
[-AssembliesToLoad <String[]>]
[-Full]
[<CommonParameters>]
Description
A New-PSSessionConfigurationFile
parancsmag létrehoz egy beállításokat tartalmazó fájlt, amely meghatározza a munkamenet-konfigurációt és a munkamenet-konfigurációval létrehozott munkamenetek környezetét.
A fájl munkamenet-konfigurációban való használatához használja a parancsmagok Elérési út paraméterét Register-PSSessionConfiguration
Set-PSSessionConfiguration
.
A létrehozott munkamenet-konfigurációs fájl New-PSSessionConfigurationFile
egy emberi olvasásra alkalmas szövegfájl, amely a munkamenet konfigurációs tulajdonságainak és értékeinek kivonattábláját tartalmazza. A fájl fájlnévkiterjesztéssel .pssc
rendelkezik.
Az elérési út paraméter kivételével az összes paraméter New-PSSessionConfigurationFile
megadása nem kötelező.
Ha kihagy egy paramétert, a rendszer megjegyzést fűz a munkamenet-konfigurációs fájl megfelelő kulcsához, kivéve, ha a paraméter leírása fel van jegyezve.
A munkamenet-konfiguráció( más néven végpont) a helyi számítógépen található beállítások gyűjteménye, amely meghatározza a számítógéphez csatlakozó PowerShell-munkamenetek (PSSessions) környezetét. Minden PSSessions munkamenet-konfigurációt használ. Egy adott munkamenet-konfiguráció megadásához használja a munkamenetet létrehozó parancsmagok ConfigurationName paraméterét, például a New-PSSession
parancsmagot.
A munkamenet-konfigurációs fájlokkal egyszerűen definiálhat munkamenet-konfigurációt összetett szkriptek vagy kódösszesítések nélkül. A fájl beállításai az opcionális indítási szkripttel és a munkamenet-konfigurációban lévő szerelvényekkel együtt használhatók.
A munkamenet-konfigurációkról és a munkamenet-konfigurációs fájlokról további információt about_Session_Configurations és about_Session_Configuration_Files talál.
Ezt a parancsmagot a PowerShell 3.0-ban vezettük be.
Példák
1. példa: NoLanguage-munkamenet létrehozása és használata
Ez a példa bemutatja, hogyan hozhat létre és használhat nyelv nélküli munkameneteket.
A lépések az alábbiak:
- Hozzon létre egy új konfigurációs fájlt.
- Regisztrálja a konfigurációt.
- Hozzon létre egy új munkamenetet, amely a konfigurációt használja.
- Futtassa a parancsokat az új munkamenetben.
A példában szereplő parancsok futtatásához indítsa el a PowerShellt a Futtatás rendszergazdaként lehetőséggel. Ez a beállítás szükséges a Register-PSSessionConfiguration
parancsmag futtatásához.
New-PSSessionConfigurationFile -Path .\NoLanguage.pssc -LanguageMode NoLanguage
Register-PSSessionConfiguration -Path .\NoLanguage.pssc -Name NoLanguage -Force
$NoLanguageSession = New-PSSession -ComputerName Srv01 -ConfigurationName NoLanguage
Invoke-Command -Session $NoLanguageSession -ScriptBlock {
if ((Get-Date) -lt '1January2099') {'Before'} else {'After'}
}
The syntax is not supported by this runspace. This might be because it is in no-language mode.
+ CategoryInfo : ParserError: (if ((Get-Date) ...') {'Before'} :String) [], ParseException
+ FullyQualifiedErrorId : ScriptsNotAllowed
+ PSComputerName : localhost
Ebben a példában a Invoke-Command
hiba meghiúsul, mert a LanguageMode értéke NoLanguage.
2. példa: Korlátozott hozzáférésű munkamenet létrehozása és használata
Ez a példa bemutatja, hogyan hozhat létre és használhat nyelv nélküli munkameneteket.
A lépések az alábbiak:
- Hozzon létre egy új konfigurációs fájlt.
- Regisztrálja a konfigurációt.
- Hozzon létre egy új munkamenetet, amely a konfigurációt használja.
- Futtassa a parancsokat az új munkamenetben.
A példában szereplő parancsok futtatásához indítsa el a PowerShellt a Futtatás rendszergazdaként lehetőséggel. Ez a beállítás szükséges a Register-PSSessionConfiguration
parancsmag futtatásához.
New-PSSessionConfigurationFile -Path .\NoLanguage.pssc -LanguageMode RestrictedLanguage
Register-PSSessionConfiguration -Path .\NoLanguage.pssc -Name RestrictedLanguage -Force
$RestrictedSession = New-PSSession -ComputerName Srv01 -ConfigurationName RestrictedLanguage
Invoke-Command -Session $RestrictedSession -ScriptBlock {
if ((Get-Date) -lt '1January2099') {'Before'} else {'After'}
}
Before
Ebben a példában a Invoke-Command
siker az, hogy a LanguageMode RestrictedLanguage értékre van állítva.
3. példa: Munkamenet-konfigurációs fájl módosítása
Ez a példa bemutatja, hogyan módosíthatja az "ITTasks" nevű meglévő munkamenetben használt munkamenetkonfigurációs fájlt. Korábban ezek a munkamenetek csak az alapvető modulokkal és egy belső ITTasks modullal rendelkeztek . A rendszergazda hozzá szeretné adni a PSScheduledJob modult az ITTasks-munkamenetkonfigurációval létrehozott munkamenetekhez.
New-PSSessionConfigurationFile -Path .\New-ITTasks.pssc -ModulesToImport Microsoft*, ITTasks, PSScheduledJob
Set-PSSessionConfiguration -Name ITTasks -Path .\New-ITTasks.pssc
A New-PSSessionConfigurationFile
szükséges modulokat importáló munkamenet-konfigurációs fájl létrehozásához szükséges parancsmag. A Set-PSSessionConfiguration
parancsmag lecseréli az aktuális konfigurációs fájlt az újra. Ez az új konfiguráció csak a módosítás után létrehozott új munkameneteket érinti.
A meglévő "ITTasks" munkamenetekre nincs hatással.
4. példa: Munkamenet-konfigurációs fájl szerkesztése
Ez a példa bemutatja, hogyan módosíthatja a munkamenet-konfigurációt a konfigurációs fájl aktív munkamenetkonfigurációs másolatának szerkesztésével. A konfigurációs fájl munkamenet-konfigurációs másolatának módosításához teljes hozzáféréssel kell rendelkeznie a fájlhoz. Ehhez szükség lehet a fájl engedélyeinek módosítására.
Ebben a forgatókönyvben egy új aliast szeretnénk hozzáadni a parancsmaghoz az Select-String
aktív konfigurációs fájl szerkesztésével.
Az alábbi példakód a következő lépéseket hajtja végre a módosítás végrehajtásához:
- Kérje le az ITConfig-munkamenet konfigurációs fájljának elérési útját.
- A felhasználó a Notepad.exe használatával szerkessze a konfigurációs fájlt az AliasDefinitions értékének módosításához az alábbiak szerint:
AliasDefinitions = @(@{Name='slst';Value='Select-String'})
. - Tesztelje a frissített konfigurációs fájlt.
$ITConfig = Get-PSSessionConfiguration -Name ITConfig
notepad.exe $ITConfig.ConfigFilePath
Test-PSSessionConfigurationFile -Path $ITConfig.ConfigFilePath
True
A Verbose paraméterrel Test-PSSessionConfigurationFile
megjelenítheti az észlelt hibákat. A parancsmag akkor ad vissza, $True
ha nem észlelhető hiba a fájlban.
5. példa: Mintakonfigurációs fájl létrehozása
Ez a példa egy New-PSSessionConfigurationFile
parancsot mutat be, amely az összes parancsmagparamétert használja.
Ez tartalmazza a megfelelő bemeneti formátumot az egyes paraméterekhez.
Az eredményként kapott SampleFile.pssc megjelenik a kimenetben.
$configSettings = @{
Path = '.\SampleFile.pssc'
SchemaVersion = '1.0.0.0'
Author = 'User01'
Copyright = '(c) Fabrikam Corporation. All rights reserved.'
CompanyName = 'Fabrikam Corporation'
Description = 'This is a sample file.'
ExecutionPolicy = 'AllSigned'
PowerShellVersion = '3.0'
LanguageMode = 'FullLanguage'
SessionType = 'Default'
EnvironmentVariables = @{TESTSHARE='\\Test2\Test'}
ModulesToImport = @{ModuleName='PSScheduledJob'; ModuleVersion='1.0.0.0'; GUID='50cdb55f-5ab7-489f-9e94-4ec21ff51e59'},'PSDiagnostics'
AssembliesToLoad = 'System.Web.Services','FSharp.Compiler.CodeDom.dll'
TypesToProcess = 'Types1.ps1xml','Types2.ps1xml'
FormatsToProcess = 'CustomFormats.ps1xml'
ScriptsToProcess = 'Get-Inputs.ps1'
AliasDefinitions = @{Name='hlp';Value='Get-Help';Description='Gets help.';Options='AllScope'},
@{Name='Update';Value='Update-Help';Description='Updates help';Options='ReadOnly'}
FunctionDefinitions = @{Name='Get-Function';ScriptBlock={Get-Command -CommandType Function};Options='ReadOnly'}
VariableDefinitions = @{Name='WarningPreference';Value='SilentlyContinue'}
VisibleAliases = 'c*','g*','i*','s*'
VisibleCmdlets = 'Get*'
VisibleFunctions = 'Get*'
VisibleProviders = 'FileSystem','Function','Variable'
RunAsVirtualAccount = $true
RunAsVirtualAccountGroups = 'Backup Operators'
}
New-PSSessionConfigurationFile @configSettings
Get-Content SampleFile.pssc
@{
# Version number of the schema used for this document
SchemaVersion = '1.0.0.0'
# ID used to uniquely identify this document
GUID = '1caeff7f-27ca-4360-97cf-37846f594235'
# Author of this document
Author = 'User01'
# Description of the functionality provided by these settings
Description = 'This is a sample file.'
# Company associated with this document
CompanyName = 'Fabrikam Corporation'
# Copyright statement for this document
Copyright = '(c) Fabrikam Corporation. All rights reserved.'
# Session type defaults to apply for this session configuration. Can be 'RestrictedRemoteServer' (recommended), 'Empty', or 'Default'
SessionType = 'Default'
# Directory to place session transcripts for this session configuration
# TranscriptDirectory = 'C:\Transcripts\'
# Whether to run this session configuration as the machine's (virtual) administrator account
RunAsVirtualAccount = $true
# Groups associated with machine's (virtual) administrator account
RunAsVirtualAccountGroups = 'Backup Operators'
# Scripts to run when applied to a session
ScriptsToProcess = 'Get-Inputs.ps1'
# User roles (security groups), and the role capabilities that should be applied to them when applied to a session
# RoleDefinitions = @{ 'CONTOSO\SqlAdmins' = @{ RoleCapabilities = 'SqlAdministration' }; 'CONTOSO\SqlManaged' = @{ RoleCapabilityFiles = 'C:\RoleCapability\SqlManaged.psrc' }; 'CONTOSO\ServerMonitors' = @{ VisibleCmdlets = 'Get-Process' } }
# Language mode to apply when applied to a session. Can be 'NoLanguage' (recommended), 'RestrictedLanguage', 'ConstrainedLanguage', or 'FullLanguage'
LanguageMode = 'FullLanguage'
# Execution policy to apply when applied to a session
ExecutionPolicy = 'AllSigned'
# Version of the PowerShell engine to use when applied to a session
PowerShellVersion = '3.0'
# Modules to import when applied to a session
ModulesToImport = @{
'GUID' = '50cdb55f-5ab7-489f-9e94-4ec21ff51e59'
'ModuleName' = 'PSScheduledJob'
'ModuleVersion' = '1.0.0.0' }, 'PSDiagnostics'
# Aliases to make visible when applied to a session
VisibleAliases = 'c*', 'g*', 'i*', 's*'
# Cmdlets to make visible when applied to a session
VisibleCmdlets = 'Get*'
# Functions to make visible when applied to a session
VisibleFunctions = 'Get*'
# Providers to make visible when applied to a session
VisibleProviders = 'FileSystem', 'Function', 'Variable'
# Aliases to be defined when applied to a session
AliasDefinitions = @{
'Description' = 'Gets help.'
'Name' = 'hlp'
'Options' = 'AllScope'
'Value' = 'Get-Help' }, @{
'Description' = 'Updates help'
'Name' = 'Update'
'Options' = 'ReadOnly'
'Value' = 'Update-Help' }
# Functions to define when applied to a session
FunctionDefinitions = @{
'Name' = 'Get-Function'
'Options' = 'ReadOnly'
'ScriptBlock' = {Get-Command -CommandType Function} }
# Variables to define when applied to a session
VariableDefinitions = @{
'Name' = 'WarningPreference'
'Value' = 'SilentlyContinue' }
# Environment variables to define when applied to a session
EnvironmentVariables = @{
'TESTSHARE' = '\\Test2\Test' }
# Type files (.ps1xml) to load when applied to a session
TypesToProcess = 'Types1.ps1xml', 'Types2.ps1xml'
# Format files (.ps1xml) to load when applied to a session
FormatsToProcess = 'CustomFormats.ps1xml'
# Assemblies to load when applied to a session
AssembliesToLoad = 'System.Web.Services', 'FSharp.Compiler.CodeDom.dll'
}
Paraméterek
-AliasDefinitions
Hozzáadja a megadott aliasokat a munkamenet-konfigurációt használó munkamenetekhez. Adjon meg egy kivonattáblát a következő kulcsokkal:
- Név – Az alias neve. Ez a kulcs szükséges.
- Érték – Az alias által képviselt parancs. Ez a kulcs szükséges.
- Leírás – Az aliast leíró szöveges sztring. Ez a kulcs nem kötelező.
- Beállítások – Aliasbeállítások. Ez a kulcs nem kötelező. Az alapértelmezett érték Nincs. A paraméter elfogadható értékei a következők: None, ReadOnly, Constant, Private vagy AllScope.
Például: @{Name='hlp';Value='Get-Help';Description='Gets help';Options='ReadOnly'}
Típus: | IDictionary[] |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-AssembliesToLoad
Megadja a munkamenet-konfigurációt használó munkamenetekbe betöltendő szerelvényeket.
Típus: | String[] |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-Author
A munkamenet-konfiguráció vagy a konfigurációs fájl szerzőjének megadása. Alapértelmezés szerint az aktuális felhasználó. Ennek a paraméternek az értéke látható a munkamenet-konfigurációs fájlban, de nem a munkamenet-konfigurációs objektum tulajdonsága.
Típus: | String |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-CompanyName
Megadja a munkamenet-konfigurációt vagy a konfigurációs fájlt létrehozó vállalatot. Az alapértelmezett érték Ismeretlen. Ennek a paraméternek az értéke látható a munkamenet-konfigurációs fájlban, de nem a munkamenet-konfigurációs objektum tulajdonsága.
Típus: | String |
Position: | Named |
Alapértelmezett érték: | Unknown |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-Copyright
Megadja a munkamenet konfigurációs fájljának szerzői jogait. Ennek a paraméternek az értéke látható a munkamenet-konfigurációs fájlban, de nem a munkamenet-konfigurációs objektum tulajdonsága.
Ha kihagyja ezt a paramétert, New-PSSessionConfigurationFile
szerzői jogi nyilatkozatot hoz létre a Szerző paraméter értékével.
Típus: | String |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-Description
Megadja a munkamenet-konfiguráció vagy a munkamenet-konfigurációs fájl leírását. Ennek a paraméternek az értéke látható a munkamenet-konfigurációs fájlban, de nem a munkamenet-konfigurációs objektum tulajdonsága.
Típus: | String |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-EnvironmentVariables
Környezeti változókat ad hozzá a munkamenethez. Adjon meg egy kivonattáblát, amelyben a kulcsok a környezeti változók nevei, az értékek pedig a környezeti változó értékei.
Például: EnvironmentVariables=@{TestShare='\\Server01\TestShare'}
Típus: | IDictionary |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-ExecutionPolicy
A munkamenet-konfigurációt használó munkamenetek végrehajtási szabályzatát adja meg. Ha kihagyja ezt a paramétert, a munkamenet-konfigurációs fájl ExecutionPolicy kulcsának értéke korlátozott. A PowerShell végrehajtási szabályzatairól további információt a about_Execution_Policies című témakörben talál.
Típus: | ExecutionPolicy |
Elfogadott értékek: | Unrestricted, RemoteSigned, AllSigned, Restricted, Default, Bypass, Undefined |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-FormatsToProcess
Megadja azokat a formázási fájlokat (.ps1xml), amelyek a munkamenet-konfigurációt használó munkamenetekben futnak. A paraméter értékének a formázási fájlok teljes vagy abszolút elérési útjának kell lennie.
Típus: | String[] |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-Full
Azt jelzi, hogy ez a művelet a munkamenet-konfigurációs fájl összes lehetséges konfigurációs tulajdonságát tartalmazza.
Típus: | SwitchParameter |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-FunctionDefinitions
Hozzáadja a megadott függvényeket a munkamenet-konfigurációt használó munkamenetekhez. Adjon meg egy kivonattáblát a következő kulcsokkal:
- Név – A függvény neve. Ez a kulcs szükséges.
- ScriptBlock – Függvény törzse. Adjon meg egy szkriptblokkot. Ez a kulcs szükséges.
- Beállítások – Függvénybeállítások. Ez a kulcs nem kötelező. Az alapértelmezett érték Nincs. A paraméter elfogadható értékei a következők: None, ReadOnly, Constant, Private vagy AllScope.
Például: @{Name='Get-PowerShellProcess';ScriptBlock={Get-Process PowerShell};Options='AllScope'}
Típus: | IDictionary[] |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-GroupManagedServiceAccount
Ezzel a munkamenet-konfigurációval konfigurálja a munkameneteket a megadott csoport által felügyelt szolgáltatásfiók környezetében való futtatáshoz. A munkamenet-konfigurációt regisztráló gépnek rendelkeznie kell engedéllyel a gMSA jelszavának lekéréséhez a munkamenetek sikeres létrehozásához. Ez a mező nem használható a RunAsVirtualAccount paraméterrel.
Típus: | String |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-Guid
A munkamenet-konfigurációs fájl egyedi azonosítóját adja meg. Ha kihagyja ezt a paramétert, New-PSSessionConfigurationFile
létrehoz egy GUID azonosítót a fájlhoz. Ha új GUID-t szeretne létrehozni a PowerShellben, írja be a következőt New-Guid
: .
Típus: | Guid |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-LanguageMode
Meghatározza, hogy a PowerShell-nyelv mely elemei engedélyezettek az ezt a munkamenet-konfigurációt használó munkamenetekben. Ezzel a paramétersel korlátozhatja azokat a parancsokat, amelyeket bizonyos felhasználók futtathatnak a számítógépen.
A paraméter elfogadható értékei a következők:
- FullLanguage – Minden nyelvi elem engedélyezett.
- ConstrainedLanguage – A kiértékelendő szkripteket tartalmazó parancsok nem engedélyezettek. A Korlátozottan elérhető mód korlátozza a felhasználók hozzáférését a Microsoft .NET-keretrendszer típusaihoz, objektumaihoz vagy metódusaihoz.
- NoLanguage – A felhasználók futtathatnak parancsmagokat és függvényeket, de nem használhatnak nyelvi elemeket, például szkriptblokkokat, változókat vagy operátorokat.
- Korlátozott hozzáférés – A felhasználók parancsmagokat és függvényeket futtathatnak, de nem használhatnak szkriptblokkokat vagy változókat, kivéve a következő engedélyezett változókat:
$PSCulture
,$PSUICulture
,$True
,$False
és$Null
. A felhasználók csak az alapvető összehasonlító operátorokat (-eq
, ,-gt
)-lt
használhatják. Hozzárendelési utasítások, tulajdonsághivatkozások és metódushívások nem engedélyezettek.
A LanguageMode paraméter alapértelmezett értéke a SessionType paraméter értékétől függ.
- Üres – NoLanguage
- RestrictedRemoteServer – NoLanguage
- Alapértelmezett – FullLanguage
Típus: | PSLanguageMode |
Elfogadott értékek: | FullLanguage, RestrictedLanguage, NoLanguage, ConstrainedLanguage |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-ModulesToImport
Megadja azokat a modulokat és beépülő modulokat, amelyeket a rendszer automatikusan importál a munkamenet-konfigurációt használó munkamenetekbe.
Alapértelmezés szerint csak a Microsoft.PowerShell.Core beépülő modult importálja a rendszer távoli munkamenetekbe, de ha a parancsmagok nincsenek kizárva, a felhasználók a parancsmagok és Add-PSSnapin
a Import-Module
parancsmagok használatával adhatnak hozzá modulokat és beépülő modulokat a munkamenethez.
A paraméter értékének minden modulját vagy beépülő modulját sztring vagy kivonattábla jelölheti. A modulsztringek csak a modul vagy a beépülő modul nevéből állnak. A modulkivonattáblák tartalmazhatnak ModuleName, ModuleVersion és GUID kulcsokat. Csak a ModuleName kulcs szükséges.
A következő érték például egy sztringből és egy kivonattáblából áll. A sztringek és kivonattáblák tetszőleges kombinációja bármilyen sorrendben érvényes.
'TroubleshootingPack', @{ModuleName='PSDiagnostics'; ModuleVersion='1.0.0.0';GUID='c61d6278-02a3-4618-ae37-a524d40a7f44'}
A parancsmag ModulesToImport paraméterének Register-PSSessionConfiguration
értéke elsőbbséget élvez a ModulesToImport kulcs értékével szemben a munkamenet-konfigurációs fájlban.
Típus: | Object[] |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-MountUserDrive
Konfigurálja azokat a munkameneteket, amelyek ezt a munkamenet-konfigurációt használják a User:
PSDrive-hoz való elérhetővé cióhoz. A felhasználói meghajtók minden egyes csatlakozó felhasználó számára egyediek, és lehetővé teszik a felhasználók számára, hogy adatokat másoljanak a PowerShell-végpontokra, és akkor is, ha a fájlrendszer-szolgáltató nincs közzétéve. A felhasználói meghajtógyökerek a következő alatt $env:LOCALAPPDATA\Microsoft\Windows\PowerShell\DriveRoots\
jönnek létre: . A végponthoz csatlakozó összes felhasználó esetében létrejön egy mappa a névvel ${env:USERDOMAIN}_${env:USERNAME}
. Munkacsoportokban lévő számítógépek esetén a gazdagép neve az érték $env:USERDOMAIN
.
A felhasználói meghajtó tartalma a felhasználói munkamenetek során megmarad, és nem törlődik automatikusan. Alapértelmezés szerint a felhasználók legfeljebb 50 MB adatot tárolhatnak a felhasználói meghajtón. Ez testre szabható a UserDriveMaximumSize paraméterrel.
Típus: | SwitchParameter |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-Path
Megadja a munkamenet-konfigurációs fájl elérési útját és fájlnevét. A fájlnak fájlnévkiterjesztéssel .pssc
kell rendelkeznie.
Típus: | String |
Position: | 0 |
Alapértelmezett érték: | None |
Kötelező: | True |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-PowerShellVersion
Megadja a PowerShell-motor verzióját a munkamenet-konfigurációt használó munkamenetekben. A paraméter elfogadható értékei a következők: 2.0 és 3.0. Ha kihagyja ezt a paramétert, a PowerShellVersion kulcs megjegyzésként jelenik meg, és a PowerShell legújabb verziója fut a munkamenetben.
A parancsmag PSVersion paraméterének Register-PSSessionConfiguration
értéke elsőbbséget élvez a munkamenet-konfigurációs fájlBan található PowerShellVersion kulcs értékével szemben.
Típus: | Version |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-RequiredGroups
A munkamenet-konfigurációt használó munkamenetekhez csatlakozó felhasználók feltételes hozzáférési szabályait határozza meg.
Adjon meg egy kivonatolót a szabályok listájának összeállításához kivonatolónként csak 1 kulccsal, az "And" vagy az "Or" billentyűvel, és állítsa be az értéket a biztonsági csoportnevek vagy további kivonatolók tömbjébe.
Példa, amely megköveteli, hogy a felhasználók egyetlen csoport tagjai legyenek: @{ And = 'MyRequiredGroup' }
Példa arra, hogy a végpont eléréséhez a felhasználóknak az A csoporthoz, vagy a B és a C csoporthoz kell tartoznia: @{ Or = 'GroupA', @{ And = 'GroupB', 'GroupC' } }
Típus: | IDictionary |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-RoleDefinitions
Megadja a biztonsági csoportok (vagy felhasználók) és a szerepkör-képességek közötti leképezést. A felhasználók hozzáférést kapnak a csoporttagságukra a munkamenet létrehozásakor érvényes összes szerepkör-képességhez.
Adjon meg egy kivonattáblát, amelyben a kulcsok a biztonsági csoport neve, az értékek pedig kivonattáblák, amelyek a biztonsági csoport számára elérhetővé tenni kívánt szerepkör-képességek listáját tartalmazzák.
Például: @{'Contoso\Level 2 Helpdesk Users' = @{ RoleCapabilities = 'Maintenance', 'ADHelpDesk' }}
Típus: | IDictionary |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-RunAsVirtualAccount
Konfigurálja az ezzel a munkamenet-konfigurációval futtatható munkameneteket a számítógép (virtuális) rendszergazdai fiókjaként. Ez a mező nem használható a GroupManagedServiceAccount paraméterrel.
Típus: | SwitchParameter |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-RunAsVirtualAccountGroups
Megadja a virtuális fiókhoz társítandó biztonsági csoportokat, amikor a munkamenet-konfigurációt használó munkamenet virtuális fiókként fut. Ha nincs megadva, a virtuális fiók a tartományvezérlők tartománygazdáihoz és az összes többi számítógép rendszergazdáihoz tartozik.
Típus: | String[] |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-SchemaVersion
Megadja a munkamenet-konfigurációs fájlséma verzióját. Az alapértelmezett érték az "1.0.0.0".
Típus: | Version |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-ScriptsToProcess
Hozzáadja a megadott szkripteket a munkamenet-konfigurációt használó munkamenetekhez. Adja meg a szkriptek elérési útját és fájlneveit. A paraméter értékének a szkriptfájlnevek teljes vagy abszolút elérési útjának kell lennie.
Típus: | String[] |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-SessionType
Megadja a munkamenet-konfigurációval létrehozott munkamenet típusát. Az alapértelmezett érték az Alapértelmezett érték. A paraméter elfogadható értékei a következők:
- Üres – Alapértelmezés szerint nincsenek modulok hozzáadva a munkamenethez. A parancsmag paramétereivel modulokat, függvényeket, szkripteket és egyéb funkciókat adhat hozzá a munkamenethez. Ez a beállítás úgy lett kialakítva, hogy a kiválasztott parancsok hozzáadásával egyéni munkameneteket hozzon létre. Ha nem ad hozzá parancsokat egy üres munkamenethez, a munkamenet csak kifejezésekre korlátozódik, és lehet, hogy nem használható.
- Alapértelmezett – Hozzáadja a Microsoft.PowerShell.Core modult a munkamenethez. Ez a modul tartalmazza azt a parancsmagot, amelyet a
Import-Module
felhasználók más modulok importálására használhatnak, hacsak ön nem tiltja kifejezetten ezt a parancsmagot. - RestrictedRemoteServer. Csak a következő proxyfüggvényeket tartalmazza:
Exit-PSSession
,Get-Command
,Get-FormatData
,Get-Help
,Measure-Object
,Out-Default
ésSelect-Object
. A parancsmag paramétereivel modulokat, függvényeket, szkripteket és egyéb funkciókat adhat hozzá a munkamenethez.
Típus: | SessionType |
Elfogadott értékek: | Empty, RestrictedRemoteServer, Default |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-TranscriptDirectory
Megadja azt a könyvtárat, amely a munkamenet-átiratokat az ezzel a munkamenet-konfigurációval végzett munkamenetekhez helyezi el.
Típus: | String |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-TypesToProcess
Hozzáadja a megadott .ps1xml
típusfájlokat a munkamenet-konfigurációt használó munkamenetekhez. Adja meg a típusfájlneveket. A paraméter értékének teljes vagy abszolút elérési útnak kell lennie a fájlnevek beírásához.
Típus: | String[] |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-UserDriveMaximumSize
Megadja az ezen munkamenet-konfigurációt használó munkamenetekben közzétett felhasználói meghajtók maximális méretét.
Ha nincs megadva, az egyes User:
meghajtógyökerek alapértelmezett mérete 50 MB.
Ezt a paramétert a MountUserDrive-tal kell használni.
Típus: | Int64 |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-VariableDefinitions
Hozzáadja a megadott változókat a munkamenet-konfigurációt használó munkamenetekhez. Adjon meg egy kivonattáblát a következő kulcsokkal:
- Név – A változó neve. Ez a kulcs szükséges.
- Érték – Változó érték. Ez a kulcs szükséges.
Például: @{Name='WarningPreference';Value='SilentlyContinue'}
Típus: | Object |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-VisibleAliases
A munkamenet aliasait a paraméter értékében megadottakra korlátozza, valamint az AliasDefinition paraméterben definiált aliasokat. A helyettesítő karakterek támogatottak. Alapértelmezés szerint a PowerShell-motor által definiált összes alias és a modulok által exportált összes alias látható a munkamenetben.
Például: VisibleAliases='gcm', 'gp'
Ha a munkamenet-konfigurációs fájl tartalmaz egy látható paramétert, a PowerShell eltávolítja a Import-Module
parancsmagot és annak ipmo-aliasát a munkamenetből.
Típus: | String[] |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | True |
-VisibleCmdlets
A munkamenet parancsmagjait a paraméter értékében megadottakra korlátozza. A helyettesítő karakterek és a modul minősített nevei támogatottak.
Alapértelmezés szerint a munkamenet-exportálásban részt vett összes parancsmag látható a munkamenetben. A SessionType és ModulesToImport paraméterekkel meghatározhatja, hogy mely modulok és beépülő modulok legyenek importálva a munkamenetbe. Ha a ModulesToImport egyik modulja sem teszi elérhetővé a parancsmagot, a megfelelő modul megpróbálja automatikusan betölteni.
Ha a munkamenet-konfigurációs fájl tartalmaz egy látható paramétert, a PowerShell eltávolítja a Import-Module
parancsmagot és annak ipmo-aliasát a munkamenetből.
Típus: | Object[] |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | True |
-VisibleExternalCommands
A munkamenetben végrehajtható külső bináris fájlokat, szkripteket és parancsokat a paraméter értékében megadottakra korlátozza. A helyettesítő karakterek támogatottak.
Alapértelmezés szerint a munkamenetben nem láthatók külső parancsok.
Ha a munkamenet-konfigurációs fájl tartalmaz egy látható paramétert, a PowerShell eltávolítja a Import-Module
parancsmagot és annak ipmo-aliasát a munkamenetből.
Típus: | String[] |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | True |
-VisibleFunctions
A munkamenet függvényeit a paraméter értékében megadottakra korlátozza, valamint a FunctionDefinition paraméterben definiált összes függvényt. A helyettesítő karakterek támogatottak.
Alapértelmezés szerint a munkamenet-exportálásban szereplő összes függvény látható a munkamenetben. A SessionType és ModulesToImport paraméterekkel meghatározhatja, hogy mely modulok és beépülő modulok legyenek importálva a munkamenetbe.
Ha a munkamenet-konfigurációs fájl tartalmaz egy látható paramétert, a PowerShell eltávolítja a Import-Module
parancsmagot és annak ipmo-aliasát a munkamenetből.
Típus: | Object[] |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | True |
-VisibleProviders
A munkamenet PowerShell-szolgáltatóinak korlátozása a paraméter értékében megadottakra. A helyettesítő karakterek támogatottak.
Alapértelmezés szerint a munkamenet-exportálásban szereplő összes szolgáltató látható a munkamenetben. A SessionType és ModulesToImport paraméterekkel meghatározhatja, hogy mely modulok legyenek importálva a munkamenetbe.
Ha a munkamenet-konfigurációs fájl tartalmaz egy látható paramétert, a PowerShell eltávolítja a Import-Module
parancsmagot és annak aliasát ipmo
a munkamenetből.
Típus: | String[] |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | True |
Bevitelek
None
Ehhez a parancsmaghoz nem lehet objektumokat csövezni.
Kimenetek
None
Ez a parancsmag nem ad vissza kimenetet.
Jegyzetek
A Windows PowerShell a következő aliasokat New-PSSessionConfigurationFile
tartalmazza:
npssc
A paraméterek, például a VisibleCmdlets és a VisibleProviders nem importálnak elemeket a munkamenetbe. Ehelyett a munkamenetbe importált elemek közül választanak. Ha például a VisibleProviders paraméter értéke a tanúsítványszolgáltató, de a ModulesToImport paraméter nem adja meg a Tanúsítványszolgáltatót tartalmazó Microsoft.PowerShell.Security modult, a tanúsítványszolgáltató nem látható a munkamenetben.
New-PSSessionConfigurationFile
létrehoz egy munkamenet-konfigurációs fájlt, amely .pssc fájlnévkiterjesztéssel rendelkezik az Elérési út paraméterben megadott elérési úton. Amikor a munkamenet-konfigurációs fájl használatával hoz létre munkamenet-konfigurációt, a Register-PSSessionConfiguration
parancsmag átmásolja a konfigurációs fájlt, és menti a fájl aktív másolatát a $PSHOME
könyvtár SessionConfig alkönyvtárába.
A munkamenet-konfiguráció ConfigFilePath tulajdonsága tartalmazza az aktív munkamenet-konfigurációs fájl teljes elérési útját. Az aktív konfigurációs fájlt bármikor módosíthatja a $PSHOME
könyvtárban bármely szövegszerkesztő használatával. A végrehajtott módosítások a munkamenet-konfigurációt használó összes új munkamenetet érintik, a meglévő munkameneteket azonban nem.
A szerkesztett munkamenet-konfigurációs fájl használata előtt a Test-PSSessionConfigurationFile
parancsmaggal ellenőrizze, hogy a konfigurációs fájl bejegyzései érvényesek-e.