about_Session_Configuration_Files
Rövid leírás
A munkamenet-konfigurációban (más néven végpontként) használt munkamenetkonfigurációs fájlokat ismerteti a munkamenet-konfigurációt használó munkamenetek környezetének meghatározásához.
Hosszú leírás
Ezek az információk csak a Windows rendszeren futó PowerShellre vonatkoznak.
A "munkamenet-konfigurációs fájl" egy .pssc fájlnévkiterjesztéssel rendelkező szövegfájl, amely a munkamenet konfigurációs tulajdonságainak és értékeinek kivonattáblázatát tartalmazza. A munkamenet-konfiguráció tulajdonságainak beállításához használhat munkamenet-konfigurációs fájlt. Ezzel meghatározza az adott munkamenet-konfigurációt használó PowerShell-munkamenetek környezetét.
A munkamenet-konfigurációs fájlok megkönnyítik az egyéni munkamenet-konfigurációk létrehozását összetett C#-szerelvények vagy szkriptek használata nélkül.
A "munkamenet-konfiguráció" vagy a "végpont" olyan helyi számítógépbeállítások gyűjteménye, amelyek meghatározzák, hogy mely felhasználók hozhatnak létre munkameneteket a számítógépen; mely parancsokat futtathatják a felhasználók ezekben a munkamenetekben; és hogy a munkamenetnek kiemelt virtuális fiókként kell-e futnia. A munkamenet-konfigurációkkal kapcsolatos további tudnivalókért tekintse meg az about_Session_Configuration_Files című témakört.
A munkamenet-konfigurációk a Windows PowerShell 2.0-ban, a munkamenet-konfigurációs fájlok pedig a Windows PowerShell 3.0-ban lettek bevezetve. A munkamenet-konfigurációs fájlnak a Windows PowerShell 3.0-s használatával kell szerepelnie. A Windows PowerShell 2.0 (és újabb) felhasználóira azonban hatással vannak a munkamenet-konfiguráció beállításai.
Egyéni munkamenetek létrehozása
A PowerShell-munkamenetek számos funkcióját testre szabhatja egy munkamenet-konfiguráció munkamenettulajdonságainak megadásával. A munkameneteket testre szabhatja egy egyéni futtatóteret meghatározó C#-program megírásával, vagy egy munkamenetkonfigurációs fájllal definiálhatja a munkamenet-konfigurációval létrehozott munkamenetek tulajdonságait. Általában egyszerűbb a munkamenet-konfigurációs fájl használata, mint egy C#-program írása.
Munkamenetkonfigurációs fájl használatával olyan elemeket hozhat létre, mint a teljes körűen működő munkamenetek a megbízható felhasználók számára; zárolt munkamenetek, amelyek minimális hozzáférést biztosítanak; meghatározottakra tervezett munkamenetek, amelyek csak az adott feladatokhoz szükséges modulokat tartalmazzák; és olyan munkamenetek, amelyekben a nem jogosult felhasználók csak kiemelt fiókként futtathatnak bizonyos parancsokat.
Emellett azt is kezelheti, hogy a munkamenet felhasználói használhatják-e a PowerShell nyelvi elemeit, például a szkriptblokkokat, vagy csak parancsokat futtathatnak. Kezelheti a PowerShell-felhasználók munkamenetben futtatható verzióját; a munkamenetbe importált modulok kezelése; és kezelheti a munkamenet-felhasználók által futtatható parancsmagokat, függvényeket és aliasokat. A RoleDefinitions mező használatakor a csoporttagság alapján különböző képességeket adhat a felhasználóknak a munkamenetben.
A Szerepkördefiníciókkal és az érték meghatározásával kapcsolatos további információkért tekintse meg a New-PSRoleCapabilityFile parancsmag súgótémakörét.
Munkamenet-konfigurációs fájl létrehozása
A munkamenet-konfigurációs fájl létrehozásának legegyszerűbb módja a New-PSSessionConfigurationFile parancsmag használata. Ez a parancsmag létrehoz egy fájlt, amely a megfelelő szintaxist és formátumot használja, és amely automatikusan ellenőrzi a konfigurációs fájltulajdonságok számos értékét.
A munkamenet-konfigurációs fájlban beállítható tulajdonságok részletes leírását a New-PSSessionConfigurationFile parancsmag súgótémakörében találja.
Az alábbi parancs létrehoz egy munkamenet-konfigurációs fájlt, amely az alapértelmezett értékeket használja. Az eredményként kapott konfigurációs fájl csak az alapértelmezett értékeket használja, mert az Elérési út paraméteren kívül (amely megadja a fájl elérési útját) nem tartalmazza a következő paramétereket:
New-PSSessionConfigurationFile -Path .\Defaults.pssc
Az új konfigurációs fájl alapértelmezett szövegszerkesztőben való megtekintéséhez használja a következő parancsot:
Invoke-Item -Path .\Defaults.pssc
Ha olyan munkamenet-konfigurációt szeretne létrehozni, amelyben a felhasználó parancsokat futtathat, de nem használhatja a PowerShell-nyelv más elemeit, írja be a következőt:
New-PSSessionConfigurationFile -LanguageMode NoLanguage
-Path .\NoLanguage.pssc
Az előző parancsban a LanguageMode paraméter NoLanguage értékre állítása megakadályozza, hogy a felhasználók olyan műveleteket hajtsanak végre, mint például szkriptek írása vagy futtatása, vagy változók használata.
Ha olyan munkamenet-konfigurációt szeretne létrehozni, amelyben a felhasználók csak Get parancsmagokat használhatnak, írja be a következőt:
New-PSSessionConfigurationFile -VisibleCmdlets Get-*
-Path .\GetSessions.pssc
Az előző példában a VisibleCmdlets paraméter Get-* értékre állítása korlátozza a felhasználókat a "Get-" sztringértékkel kezdődő neveket tartalmazó parancsmagokra.
Ha a felhasználó hitelesítő adatai helyett egy kiemelt virtuális fiókban futó munkamenet-konfigurációt szeretne létrehozni, írja be a következőt:
New-PSSessionConfigurationFile -RunAsVirtualAccount
-Path .\VirtualAccount.pssc
Ha olyan munkamenet-konfigurációt szeretne létrehozni, amelyben a felhasználó számára látható parancsok egy szerepkör-képességfájlban vannak megadva, írja be a következőt:
New-PSSessionConfigurationFile -RoleDefinitions
@{ 'CONTOSO\User' = @{ RoleCapabilities = 'Maintenance' }}
-Path .\Maintenance.pssc
Munkamenet-konfigurációs fájl használata
Munkamenetkonfigurációs fájlokat is felvehet munkamenetkonfiguráció létrehozásakor, vagy hozzáadhat egy fájlt a munkamenet-konfigurációhoz egy későbbi időpontban.
Ha munkamenetkonfiguráció létrehozásakor be szeretne vonni egy munkamenet-konfigurációs fájlt, használja a Register-PSSessionConfiguration parancsmag Elérési út paraméterét.
A következő parancs például a NoLanguage.pssc fájlt használja, amikor létrehoz egy NoLanguage-munkamenet-konfigurációt.
Register-PSSessionConfiguration -Name NoLanguage
-Path .\NoLanguage.pssc
Új NoLanguage-munkamenet indításakor a felhasználók csak PowerShell-parancsokhoz férhetnek hozzá.
Ha egy munkamenet-konfigurációs fájlt szeretne hozzáadni egy meglévő munkamenet-konfigurációhoz, használja a Set-PSSessionConfiguration parancsmagot és az Elérési út paramétert. Ez hatással van a megadott munkamenet-konfigurációval létrehozott új munkamenetekre. Vegye figyelembe, hogy a Set-PSSessionConfiguration parancsmag magát a munkamenetet módosítja, és nem módosítja a munkamenet konfigurációs fájlját.
A következő parancs például hozzáadja a NoLanguage.pssc fájlt a LockedDown-munkamenet konfigurációhoz.
Set-PSSessionConfiguration -Name LockedDown
-Path .\NoLanguage.pssc
Amikor a felhasználók a LockedDown-munkamenet konfigurációját használják egy munkamenet létrehozásához, parancsmagokat futtathatnak, de nem hozhatnak létre vagy használhatnak változókat, nem rendelhetnek hozzájuk értékeket, és nem használhatnak más PowerShell-nyelvi elemeket.
Az alábbi parancs a New-PSSession parancsmaggal hoz létre egy munkamenetet az Srv01 számítógépen, amely a LockedDown-munkamenet konfigurációját használja, és a $s változóban menti a munkamenetre mutató objektumhivatkozást. A munkamenet-konfiguráció ACL -je (hozzáférés-vezérlési listája) határozza meg, hogy ki használhatja a munkamenet létrehozásához.
$s = New-PSSession -ComputerName Srv01
-ConfigurationName LockedDown
Mivel a NoLanguage-korlátozások hozzá lettek adva a LockedDown-munkamenet konfigurációjához, a LockedDown-munkamenetek felhasználói csak PowerShell-parancsokat és parancsmagokat futtathatnak. Az alábbi két parancs például az Invoke-Command parancsmaggal futtat parancsokat a $s változóban hivatkozott munkamenetben. Az első parancs, amely a Get-UICulture parancsmagot futtatja, és nem használ változókat, sikeres lesz. A második parancs, amely a $PSUICulture változó értékét kapja, meghiúsul.
Invoke-Command -Session $s {Get-UICulture}
en-US
Invoke-Command -Session $s {$PSUICulture}
The syntax is not supported by this runspace. This might be
because it is in no-language mode.
+ CategoryInfo : ParserError: ($PSUICulture:String) [],
ParseException
+ FullyQualifiedErrorId : ScriptsNotAllowed
Munkamenet-konfigurációs fájl szerkesztése
A munkamenet-konfiguráció összes beállítása a RunAsVirtualAccount és a RunAsVirtualAccountGroups kivételével módosítható a munkamenet-konfiguráció által használt munkamenet-konfigurációs fájl szerkesztésével. Ehhez először a munkamenet-konfigurációs fájl aktív másolatát kell lefoglalnia.
Amikor munkamenet-konfigurációs fájlt használ egy munkamenet-konfigurációban, a PowerShell létrehozza a munkamenet-konfigurációs fájl aktív másolatát, és a helyi számítógépen található $pshome\SessionConfig könyvtárban tárolja.
A munkamenet-konfigurációs fájl aktív másolatának helye a munkamenet-konfigurációs objektum ConfigFilePath tulajdonságában van tárolva.
Az alábbi parancs lekéri a NoLanguage-munkamenet konfigurációjának munkamenetkonfigurációs fájljának helyét.
(Get-PSSessionConfiguration -Name NoLanguage).ConfigFilePath
A parancs a következőhöz hasonló fájlelérési utat ad vissza:
C:\WINDOWS\System32\WindowsPowerShell\v1.0\SessionConfig\
NoLanguage_0c115179-ff2a-4f66-a5eb-e56e5692ba22.pssc
A .pssc fájlt bármely szövegszerkesztőben szerkesztheti. A fájl mentése után a munkamenet-konfigurációt használó új munkamenetek fogják használni.
Ha módosítania kell a RunAsVirtualAccount vagy a RunAsVirtualAccountGroups beállításait, meg kell szüntetnie a munkamenet-konfiguráció regisztrációját, és újra kell regisztrálnia a szerkesztett értékeket tartalmazó munkamenet-konfigurációs fájlt.
Munkamenet-konfigurációs fájl tesztelése
A Test-PSSessionConfigurationFile parancsmaggal manuálisan szerkesztett munkamenet-konfigurációs fájlokat tesztelhet. Ez fontos: ha a fájl szintaxisa és értékei érvénytelenek, a felhasználók nem fogják tudni használni a munkamenet-konfigurációt munkamenet létrehozásához.
Az alábbi parancs például a NoLanguage-munkamenet konfigurációjának aktív munkamenet-konfigurációs fájlját teszteli.
Test-PSSessionConfigurationFile -Path C:\WINDOWS\System32\
WindowsPowerShell\v1.0\SessionConfig\
NoLanguage_0c115179-ff2a-4f66-a5eb-e56e5692ba22.pssc
Ha a konfigurációs fájl szintaxisa és értékei érvényesek, a Test-PSSessionConfigurationFile true értéket ad vissza. Ha a szintaxis és az értékek érvénytelenek, akkor a parancsmag hamis értéket ad vissza.
A Test-PSSessionConfigurationFile használatával bármilyen munkamenet-konfigurációs fájlt tesztelhet, beleértve a New-PSSessionConfiguration parancsmag által létrehozott fájlokat is. További információt a Test-PSSessionConfigurationFile parancsmag súgótémakörében talál.
Munkamenet-konfigurációs fájl eltávolítása
Munkamenetkonfigurációs fájl nem távolítható el a munkamenet-konfigurációból. A fájlt azonban lecserélheti egy új fájlra, amely az alapértelmezett beállításokat használja. Ez gyakorlatilag megszakítja az eredeti konfigurációs fájl által használt beállításokat.
Munkamenet-konfigurációs fájl cseréjéhez hozzon létre egy új munkamenet-konfigurációs fájlt, amely az alapértelmezett beállításokat használja, majd a Set-PSSessionConfiguration parancsmaggal cserélje le az egyéni munkamenet-konfigurációs fájlt az új fájlra.
A következő parancsok például létrehoznak egy alapértelmezett munkamenet-konfigurációs fájlt, majd lecserélik az aktív munkamenet-konfigurációs fájlt a NoLanguage-munkamenet konfigurációjában.
New-PSSessionConfigurationFile -Path .\Default.pssc
Set-PSSessionConfiguration -Name NoLanguage
-Path .\Default.pssc
Ha ezek a parancsok befejeződnek, a NoLanguage-munkamenet konfigurációja teljes nyelvi támogatást (az alapértelmezett beállítást) biztosít az adott munkamenet-konfigurációval létrehozott összes munkamenethez.
Munkamenet-konfiguráció tulajdonságainak megtekintése A munkamenet-konfigurációkat munkamenet-konfigurációs fájlokkal ábrázoló munkamenetkonfigurációs objektumok további tulajdonságokkal rendelkeznek, amelyek megkönnyítik a munkamenet-konfiguráció felderítését és elemzését. (Vegye figyelembe, hogy az alább látható típusnév tartalmaz egy formázott nézetdefiníciót.) A tulajdonságok megtekintéséhez futtassa a Get-PSSessionConfiguration parancsmagot, és piping a visszaadott adatokat a Get-Member parancsmagba:
Get-PSSessionConfiguration NoLanguage | Get-Member
TypeName: Microsoft.PowerShell.Commands.PSSessionConfigurationCommands
#PSSessionConfiguration
Name MemberType Definition
---- ---------- ----------
Equals Method bool Equals(System.O...
GetHashCode Method int GetHashCode()
GetType Method type GetType()
ToString Method string ToString()
Architecture NoteProperty System.String Archit...
Author NoteProperty System.String Author...
AutoRestart NoteProperty System.String AutoRe...
Capability NoteProperty System.Object[] Capa...
CompanyName NoteProperty System.String Compan...
configfilepath NoteProperty System.String config...
Copyright NoteProperty System.String Copyri...
Enabled NoteProperty System.String Enable...
ExactMatch NoteProperty System.String ExactM...
ExecutionPolicy NoteProperty System.String Execut...
Filename NoteProperty System.String Filena...
GUID NoteProperty System.String GUID=0...
ProcessIdleTimeoutSec NoteProperty System.String Proces...
IdleTimeoutms NoteProperty System.String IdleTi...
lang NoteProperty System.String lang=e...
LanguageMode NoteProperty System.String Langua...
MaxConcurrentCommandsPerShell NoteProperty System.String MaxCon...
MaxConcurrentUsers NoteProperty System.String MaxCon...
MaxIdleTimeoutms NoteProperty System.String MaxIdl...
MaxMemoryPerShellMB NoteProperty System.String MaxMem...
MaxProcessesPerShell NoteProperty System.String MaxPro...
MaxShells NoteProperty System.String MaxShells
MaxShellsPerUser NoteProperty System.String MaxShe...
Name NoteProperty System.String Name=N...
PSVersion NoteProperty System.String PSVersion
ResourceUri NoteProperty System.String Resour...
RunAsPassword NoteProperty System.String RunAsP...
RunAsUser NoteProperty System.String RunAsUser
SchemaVersion NoteProperty System.String Schema...
SDKVersion NoteProperty System.String SDKVer...
OutputBufferingMode NoteProperty System.String Output...
SessionType NoteProperty System.String Sessio...
UseSharedProcess NoteProperty System.String UseSha...
SupportsOptions NoteProperty System.String Suppor...
xmlns NoteProperty System.String xmlns=...
XmlRenderingType NoteProperty System.String XmlRen...
Permission ScriptProperty System.Object Permis...
Ezek a tulajdonságok megkönnyítik adott munkamenet-konfigurációk keresését. A ExecutionPolicy tulajdonsággal például megkereshet egy munkamenet-konfigurációt, amely támogatja a RemoteSigned végrehajtási szabályzattal rendelkező munkameneteket. Vegye figyelembe, hogy mivel a ExecutionPolicy tulajdonság csak munkamenetkonfigurációs fájlokat használó munkameneteken létezik, előfordulhat, hogy a parancs nem minden jogosult munkamenet-konfigurációt ad vissza.
Get-PSSessionConfiguration |
where {$_.ExecutionPolicy -eq "RemoteSigned"}
Az alábbi parancs lekéri azokat a munkamenet-konfigurációkat, amelyekben a RunAsUser az Exchange-rendszergazda.
Get-PSSessionConfiguration |
where {$_.RunAsUser -eq "Exchange01\Admin01"}
A konfigurációhoz társított szerepkör-definíciókkal kapcsolatos információk megtekintéséhez használja a Get-PSSessionCapability parancsmagot. Ez a parancsmag lehetővé teszi, hogy meghatározza az adott végpontok adott felhasználói számára elérhető parancsokat és környezetet.
Jegyzetek
A munkamenet-konfigurációk az úgynevezett "üres" munkamenettípust is támogatják. Az Üres munkamenettípus lehetővé teszi egyéni munkamenetek létrehozását a kijelölt parancsokkal. Ha nem ad hozzá modulokat, függvényeket vagy szkripteket egy üres munkamenethez, a munkamenet kifejezésekre korlátozódik, és nem feltétlenül praktikus. A SessionType tulajdonság azt jelzi, hogy üres munkamenettel dolgozik-e.
Lásd még
- about_Session_Configurations
- New-PSRoleCapabilityFile
- New-PSSession
- Get-PSSessionCapability
- Disable-PSSessionConfiguration
- Enable-PSSessionConfiguration
- Get-PSSessionConfiguration
- Register-PSSessionConfiguration
- Set-PSSessionConfiguration
- A PSSessionConfiguration regisztrációjának törlése
- New-PSSessionConfigurationFile
- Test-PSSessionConfigurationFile
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: