Megosztás a következőn keresztül:


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:

  1. Hozzon létre egy új konfigurációs fájlt.
  2. Regisztrálja a konfigurációt.
  3. Hozzon létre egy új munkamenetet, amely a konfigurációt használja.
  4. 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:

  1. Hozzon létre egy új konfigurációs fájlt.
  2. Regisztrálja a konfigurációt.
  3. Hozzon létre egy új munkamenetet, amely a konfigurációt használja.
  4. 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:

  1. Kérje le az ITConfig-munkamenet konfigurációs fájljának elérési útját.
  2. 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'}).
  3. 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

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) -lthaszná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és Select-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-PSSessionConfigurationFiletartalmazza:

  • 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.