Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Rövid leírás
A PowerShell konfigurációs fájljai, a beállításjegyzék konfigurációjának lecserélése.
Hosszú leírás
A powershell.config.json fájl a PowerShell konfigurációs beállításait tartalmazza. A PowerShell indításkor betölti ezt a konfigurációt. A beállítások futásidőben is módosíthatók. Ezeket a beállításokat korábban a PowerShell-hez készült Windows-beállításjegyzékben tárolták, de most már egy fájlban találhatók, amely lehetővé teszi a konfigurációt macOS és Linux rendszeren.
A beállítások összegzése
A powershell.config.json fájl a következő kulcsokat tartalmazhatja:
DisableImplicitWinCompatWindowsPowerShellCompatibilityModuleDenyListWindowsPowerShellCompatibilityNoClobberModuleListExperimentalFeaturesLogChannelsLogIdentityLogKeywordsLogLevelMicrosoft.PowerShell:ExecutionPolicyPSModulePathPowerShellPoliciesExecutionPolicyConsoleSessionConfigurationModuleLoggingProtectedEventLoggingScriptBlockLoggingScriptExecutionTranscriptionUpdatableHelp
Nem minden kulcs vonatkozik minden platformra. A PowerShellPolicies kulcs olyan alkulcsokat tartalmaz, amelyek tükrözik az Ablak csoportházirend által kezelt beállításokat. Ezek az alkulcsok a JSON-fájl gyökérszintjén definiált összes platformra is érvényesek.
Figyelmeztetés
A rendszer figyelmen kívül hagyja a konfigurációs fájl nem felismert kulcsait vagy érvénytelen értékeit. Ha a powershell.config.json fájl érvénytelen JSON-t tartalmaz, a PowerShell nem tud interaktív munkamenetet indítani. Ha ez történik, ki kell javítania a konfigurációs fájlt.
Konfigurációs hatókör
A konfigurációs beállítások az összes felhasználónál vagy az egyes felhasználói szinten definiálhatók.
AllUsers (megosztott) konfiguráció
A powershell.config.json könyvtárban található $PSHOME fájl határozza meg az adott PowerShell-telepítésből futó összes PowerShell-munkamenet konfigurációját.
Jegyzet
A $PSHOME hely ugyanazzal a könyvtárral van definiálva, mint a végrehajtó System.Management.Automation.dll szerelvény. Ez a üzemeltetett PowerShell SDK-példányokra is vonatkozik.
CurrentUser -konfigurációk (felhasználónként)
A PowerShellt felhasználónként is konfigurálhatja, ha a fájlt a felhasználói hatókörű konfigurációs könyvtárba helyezi. A felhasználói konfigurációs címtár több platformon is megtalálható a Split-Path $PROFILE.CurrentUserCurrentHostparanccsal.
Hatókör elsőbbsége
Windows rendszeren a Windows csoportházirend által kezelt beállítások elsőbbséget élveznek a konfigurációs fájl beállításaival szemben. A csoportházirend nem létezik nem Windows-platformokon.
A csoportházirend után a AllUsers szinten megadott beállítások elsőbbséget élveznek az CurrentUser szinten megadott beállításokkal szemben.
Windows-specifikus beállítások
Az alábbi beállítások csak Windows-platformokra vonatkoznak.
DisableImplicitWinCompatWindowsPowerShellCompatibilityModuleDenyListWindowsPowerShellCompatibilityNoClobberModuleListExecutionPolicyPowerShellPolicies
DisableImplicitWinCompat
Ha trueértékre van állítva, ez a beállítás letiltja a Windows PowerShell kompatibilitási funkcióját. A Windows PowerShell kompatibilitás lehetővé teszi, hogy a PowerShell 7 kompatibilis módban töltse be a Windows PowerShell 5.1-modulokat.
További információ: about_Windows_PowerShell_Compatibility.
WindowsPowerShellCompatibilityModuleDenyList
Ez a beállítás olyan modulnevek tömbje, amelyeket ki szeretne zárni a Windows PowerShell kompatibilitási funkciójában való részvételből.
További információ: about_Windows_PowerShell_Compatibility.
WindowsPowerShellCompatibilityNoClobberModuleList
Ez a beállítás olyan modulnevekből álló tömb, amelyet nem szabad a modul Windows PowerShell 5.1-es verziójának betöltésekor eltűnni.
További információ: about_Windows_PowerShell_Compatibility.
ExecutionPolicy
Fontos
Ez a konfiguráció csak Windows-platformokon érvényes.
Konfigurálja a PowerShell-munkamenetek végrehajtási szabályzatát, meghatározva, hogy mely szkriptek futtathatók. A PowerShell alapértelmezés szerint a meglévő végrehajtási szabályzatot használja.
Az AllUsers konfigurációk esetében ez beállítja a LocalMachine végrehajtási szabályzatot. CurrentUser konfigurációk esetében ez állítja be a CurrentUser végrehajtási szabályzatot.
Az alábbi példa a PowerShell végrehajtási szabályzatát RemoteSignedértékre állítja.
{
"Microsoft.PowerShell:ExecutionPolicy": "RemoteSigned"
}
További információ: about_Execution_Policies.
PowerShellPolicies
A Windows számos olyan beállítással rendelkezik, amelyek csoportházirenddel kezelhetők. Ezek a beállítások általában a Windows beállításjegyzékében vannak tárolva. Ezek a beállítások a powershell.config.json fájlban is definiálhatók.
A PowerShellPolicies egy JSON-objektum, amely kulcs-érték párokat tartalmaz a különböző szabályzatbeállításokhoz. Ezek a házirend-beállítások a JSON-fájl gyökérszintjén is listázhatók, az PowerShellPolicies objektumon kívül. Ez a beállítás a következő alkulcsokat tartalmazhatja:
ConsoleSessionConfigurationModuleLoggingProtectedEventLoggingScriptBlockLoggingScriptExecutionTranscriptionUpdatableHelp
A ScriptExecution beállítással állíthatja be a PowerShell végrehajtási szabályzatát.
Ez elsőbbséget élvez a fent ismertetett ExecutionPolicy beállítással szemben.
Példa:
{
"PowerShellPolicies": {
"ScriptExecution": {
"ExecutionPolicy": "RemoteSigned"
}
}
}
A többi házirend-beállítás leírását a Gyakori konfigurációs beállítások szakaszban találja.
Windows rendszeren a PowerShell megkeresi a beállításjegyzék beállításait. A beállításjegyzékben található beállítások elsőbbséget élveznek. A következő PowerShell beolvassa a JSON-konfigurációt. Az PowerShellPoliciesalatt található és a beállításjegyzékben nem definiált beállítások elsőbbséget élveznek a JSON-konfiguráció gyökérszintjén található beállításokkal szemben.
További információ: about_Group_Policy_Settings.
Nem Windows-platformok beállításai
Az alábbi beállítások csak Linux és macOS platformokra vonatkoznak.
Az alábbi kulcsokkal konfigurálható a PowerShell naplózása Linux és macOS rendszeren.
LogChannelsLogIdentityLogKeywordsLogLevel
A Nem Windows rendszerű rendszerek PowerShell-naplózásának teljes leírását a about_Logging_Non-Windowscímű témakörben talál.
Gyakori konfigurációs beállítások
Az alábbi beállítások minden támogatott platformon elérhetők.
ConsoleSessionConfigurationExperimentalFeaturesModuleLoggingProtectedEventLoggingPSModulePathScriptBlockLoggingScriptExecutionTranscriptionUpdatableHelp
ConsoleSessionConfiguration
Ez a beállítás határozza meg az összes PowerShell-munkamenethez használandó munkamenet-konfigurációt. Ez lehet bármely, a helyi gépen regisztrált végpont, beleértve az alapértelmezett PowerShell-remoting végpontokat, vagy egy egyéni végpontot, amely adott felhasználói szerepkör-képességekkel rendelkezik.
Ez a kulcs két alkulcsot tartalmaz:
EnableConsoleSessionConfiguration– a munkamenet-konfigurációk engedélyezéséhez állítsatrueértékre. Alapértelmezés szerint ez az értékfalse.ConsoleSessionConfigurationName– Annak a konfigurációs végpontnak a nevét adja meg, amelyben a PowerShell fut. Alapértelmezés szerint nincs definiálva munkamenet.
{
"ConsoleSessionConfiguration": {
"EnableConsoleSessionConfiguration": false,
"ConsoleSessionConfigurationName" : []
}
}
További információ: about_Session_Configurations.
ExperimentalFeatures
A PowerShellben engedélyezendő kísérleti funkciók nevei. Az alapértelmezett érték egy üres tömb.
Az alábbi példa lehetővé teszi a PSCommandNotFoundSuggestion és PSSubsystemPluginModel kísérleti funkciókat a PowerShell indításakor.
Példa:
{
"ExperimentalFeatures": [
"PSCommandNotFoundSuggestion",
"PSSubsystemPluginModel"
]
}
További információ a kísérleti funkciókról: A kísérleti funkciók használata.
ModuleLogging
Ez a beállítás szabályozza a PowerShell-modulok naplózásának viselkedését. A beállítás két alkulcsot tartalmaz:
-
EnableModuleLogging– a modulnaplózás engedélyezéséhez állítsatrueértékre. Ha engedélyezve van, a megadott modulok tagjainak folyamatvégrehajtási eseményei a PowerShell-naplófájlokban lesznek rögzítve. -
ModuleNames– Megadja a naplózni kívánt modulok nevét.
Példa:
{
"ModuleLogging": {
"EnableModuleLogging": true,
"ModuleNames" : [
"PSReadLine",
"PowerShellGet"
]
}
}
ProtectedEventLogging
Ezzel a beállítással konfigurálhatja a védett eseménynaplózást. A beállítás két alkulcsot tartalmaz:
-
EnableProtectedEventLogging– Ha engedélyezi ezt a házirend-beállítást, az azt támogató összetevők a megadott tanúsítványt használják a naplóadatok titkosításához, mielőtt a naplóba íranák. Az adatok titkosítása a titkosítási üzenet szintaxisa (CMS) szabvány használatával történik. Ha hozzáfér a tanúsítvány titkos kulcsához, aUnprotect-CmsMessagehasználatával visszafejtheti ezeket a titkosított üzeneteket. -
EncryptionCertificate– A titkosításhoz használandó tanúsítványok nevének listáját tartalmazza.
Példa:
{
"ProtectedEventLogging": {
"EnableProtectedEventLogging": false,
"EncryptionCertificate": [
"Joe"
]
}
}
PSModulePath
Felülbírálja a PowerShell-munkamenet PSModulePath beállításait. Ha a konfiguráció az aktuális felhasználóhoz tartozik, állítsa be a CurrentUser modul elérési útját. Ha a konfiguráció az összes felhasználóhoz tartozik, állítsa be a AllUsers modul elérési útját.
Figyelmeztetés
Az AllUsers vagy CurrentUser modul elérési útjának konfigurálása nem változtatja meg a PowerShellGet-parancsmagok , például a Install-Modulehatókörrel rendelkező telepítési helyét. Ezek a parancsmagok mindig az alapértelmezett modulútvonalakat használják.
Ha nincs beállítva érték, a PowerShell az alapértelmezett értéket használja a megfelelő modulútvonal-beállításhoz. Az alapértelmezett beállításokkal kapcsolatos további információkért lásd: about_PSModulePath.
Ez a beállítás lehetővé teszi a környezeti változók használatát úgy, hogy beágyazza őket % karakterek közé, például "%HOME%\Documents\PowerShell\Modules", ugyanúgy, ahogyan a Windows Command Shell engedélyezi. Ez a szintaxis Linux és macOS rendszereken is érvényes. Példákat alább talál.
Ez a példa egy Windows-környezet PSModulePath konfigurációját mutatja be:
{
"PSModulePath": "C:\\Program Files\\PowerShell\\6\\Modules"
}
Ez a példa egy macOS- vagy Linux-környezet PSModulePath konfigurációját mutatja be:
{
"PSModulePath": "/opt/powershell/6/Modules"
}
Ez a példa egy környezeti változó beágyazását mutatja be egy PSModulePath konfigurációba. Vegye figyelembe, hogy a HOME környezeti változó és a / könyvtárelválasztó használatával ez a szintaxis Windows, macOS és Linux rendszeren is működik.
{
"PSModulePath": "%HOME%/Documents/PowerShell/Modules"
}
Ez a példa egy olyan környezeti változót használ, amely csak macOS és Linux rendszeren működik:
{
"PSModulePath": "%XDG_CONFIG_HOME%/powershell/Modules"
}
Jegyzet
A PowerShell-változók nem ágyazhatók be PSModulePath konfigurációkba.
PSModulePath linuxos és macOS rendszerű konfigurációk megkülönböztetik a kis- és nagybetűket. A PSModulePath konfigurációnak érvényes címtárelválasztókat kell használnia a platformhoz. MacOS és Linux rendszeren ez azt jelenti, /. Windows rendszeren / és \ is működik.
ScriptBlockLogging
Ez a beállítás az összes PowerShell-szkriptbemenet naplózását szabályozza. Ez a beállítás két alkulcsot tartalmaz:
-
EnableScriptBlockLogging– Ha engedélyezi ezt a házirend-beállítást, a PowerShell naplózza a parancsok, szkriptblokkok, függvények és szkriptek feldolgozását, akár interaktívan, akár automatizálással. -
EnableScriptBlockInvocationLogging- lehetővé teszi a szkriptblokkok indításának és leállításának naplózását.
Példa:
"ScriptBlockLogging": {
"EnableScriptBlockInvocationLogging": true,
"EnableScriptBlockLogging": false
}
Transzkripció
Ezzel a házirend-beállítással szöveges átiratokban rögzítheti a PowerShell-parancsok bemenetét és kimenetét. Ha engedélyezi ezt a házirend-beállítást, a PowerShell engedélyezi az átírást az összes PowerShell-munkamenethez.
Ez a beállítás szabályozza az átírás működését a PowerShellben. Ez a beállítás három alkulcsot tartalmaz:
-
EnableTranscripting– Ha ez a beállítás engedélyezve van, a PowerShell átírási naplófájlokat hoz létre a konfigurált helyen. -
EnableInvocationHeader– A PowerShell alapértelmezés szerint tartalmaz egy fejlécet az átírási naplófájl tetején. Ezzel a beállítással letilthatja a fejlécet. -
OutputDirectory– Ez a beállítás lehetővé teszi az átírási naplófájlok központi helyen történő gyűjtését az alapértelmezett hely helyett.
Példa:
{
"Transcription": {
"EnableTranscripting": true,
"EnableInvocationHeader": true,
"OutputDirectory": "C:\\tmp"
}
}
További információ: Start-Átirat.
UpdatableHelp
Ezzel a házirend-beállítással beállíthatja a SourcePath paraméter alapértelmezett értékét a Update-Help parancsmagon. Ezt az alapértelmezett értéket felül lehet bírálni egy másik érték megadásával a SourcePath paraméterrel.
Példa:
{
"UpdatableHelp": {
"DefaultSourcePath": "F:\\temp"
}
}