Export-PSSession
Exportálja a parancsokat egy másik munkamenetből, és egy PowerShell-modulba menti őket.
Syntax
Default (Alapértelmezett)
Export-PSSession
[-Session] <PSSession>
[-OutputModule] <string>
[[-CommandName] <string[]>]
[[-FormatTypeName] <string[]>]
[-Force]
[-Encoding <string>]
[-AllowClobber]
[-ArgumentList <Object[]>]
[-CommandType <CommandTypes>]
[-Module <string[]>]
[-FullyQualifiedModule <ModuleSpecification[]>]
[-Certificate <X509Certificate2>]
[<CommonParameters>]
Description
A Export-PSSession parancsmag egy helyi vagy távoli számítógépen egy másik PowerShell-munkamenetből (PSSession) lekéri a parancsmagokat, függvényeket, aliasokat és más parancstípusokat, és egy PowerShell-modulba menti őket. A modul parancsainak az aktuális munkamenethez való hozzáadásához használja a Import-Module parancsmagot.
Ellentétben Import-PSSession, amely parancsokat importál egy másik PSSessionból az aktuális munkamenetbe, Export-PSSession egy modulba menti a parancsokat. A parancsok nem lesznek importálva az aktuális munkamenetbe.
Parancsok exportálásához a New-PSSession parancsmaggal hozzon létre egy PSSessiont, amely az exportálni kívánt parancsokkal rendelkezik. Ezután a parancsok exportálásához használja a Export-PSSession parancsmagot.
A parancsnevek ütközésének megakadályozása érdekében a Export-PSSession alapértelmezés szerint az összes parancsot exportálja, kivéve az aktuális munkamenetben lévő parancsokat. Az exportálni kívánt parancsokat a CommandName paraméter használatával adhatja meg.
A Export-PSSession parancsmag a PowerShell implicit remoting funkcióját használja. Amikor parancsokat importál az aktuális munkamenetbe, azok implicit módon futnak az eredeti munkamenetben vagy egy hasonló munkamenetben az eredeti számítógépen.
Példák
1. példa: Parancsok exportálása PSSession-ből
Ez a példa létrehoz egy új PSSession-t a helyi számítógépről a Server01 számítógépre. Az aktuális munkamenetben található parancsok kivételével az összes parancs a helyi számítógépen lévő Server01 nevű modulba lesz exportálva. Az exportálás tartalmazza a parancsok formázási adatait.
$S = New-PSSession -ComputerName Server01
Export-PSSession -Session $S -OutputModule Server01
A New-PSSession parancs PSSession-t hoz létre a Server01 számítógépen. A PSSession a $S változóban van tárolva. A Export-PSSession parancs exportálja a $S változó parancsait és az adatok formázását a Server01 modulba.
2. példa: A Beolvasás és beállítás parancs exportálása
Ez a példa exportálja az összes Get és Set parancsot egy kiszolgálóról.
$S = New-PSSession -ConnectionUri http://exchange.microsoft.com/mailbox -Credential exchangeadmin01@hotmail.com -Authentication Negotiate
Export-PSSession -Session $R -Module exch* -CommandName Get-*, Set-* -FormatTypeName * -OutputModule $pshome\Modules\Exchange -Encoding ASCII
Ezek a parancsok exportálják a Get és Set parancsokat egy távoli számítógépen lévő Microsoft Exchange Server beépülő modulból a helyi számítógép \Modules könyvtárában található $pshomeExchange-modulba.
Ha a modult a $pshome\Modules könyvtárba helyezi, akkor a számítógép minden felhasználója számára elérhetővé válik.
3. példa: Parancsok exportálása távoli számítógépről
Ez a példa egy távoli számítógépen lévő PSSession parancsmagokat exportál, és a helyi számítógépen lévő modulba menti őket. A modul parancsmagjait a rendszer hozzáadja az aktuális munkamenethez, hogy azok használhatók legyenek.
$S = New-PSSession -ComputerName Server01 -Credential Server01\User01
Export-PSSession -Session $S -OutputModule TestCmdlets -Type Cmdlet -CommandName *test* -FormatTypeName *
Remove-PSSession $S
Import-Module TestCmdlets
Get-Help Test*
Test-Files
A New-PSSession parancs létrehoz egy PSSession-t a Server01 számítógépen, és menti a $S változóba. A Export-PSSession parancs exportálja azokat a parancsmagokat, amelyeknek a neve a test from the PSSession in $S a TestCmdlets modulba kezdődik a helyi számítógépen.
A Remove-PSSession parancsmag törli a PSSession-t $S az aktuális munkamenetből. Ez a parancs azt mutatja, hogy a PSSession-nek nem kell aktívnak lennie a munkamenetből importált parancsok használatához. A Import-Module parancsmag hozzáadja a TestCmdlets modul parancsmagjait az aktuális munkamenethez. A parancs bármikor futtatható bármely munkamenetben.
A Get-Help parancsmag segítséget kap azokhoz a parancsmagokhoz, amelyeknek a neve a Test parancsmaggal kezdődik. Miután hozzáadta a modul parancsait az aktuális munkamenethez, a Get-Help és Get-Command parancsmagokkal megismerheti az importált parancsokat. A Test-Files parancsmag exportálva lett a Server01 számítógépről, és hozzáadva a munkamenethez. A Test-Files parancsmag egy távoli munkamenetben fut azon a számítógépen, ahonnan a parancsot importálták. A PowerShell létrehoz egy munkamenetet a TestCmdlets modulban tárolt információkból.
4. példa: Exportálási és clobber-parancsok az aktuális munkamenetben
Ez a példa exportálja a változóban tárolt parancsokat az aktuális munkamenetbe.
Export-PSSession -Session $S -AllowClobber -OutputModule AllCommands
Ez a Export-PSSession parancs exportálja az összes parancsot és az összes formázási adatot az $S változó PSSession eleméből az aktuális munkamenetbe. Az AllowClobber paraméter olyan parancsokat tartalmaz, amelyek neve megegyezik az aktuális munkamenet parancsaival.
5. példa: Parancsok exportálása zárt PSSession-ből
Ez a példa bemutatja, hogyan futtathatja az exportált parancsokat speciális beállításokkal az exportált parancsokat létrehozó PSSession bezárásakor.
Ha egy modul importálásakor az eredeti távoli munkamenet bezárul, a modul minden olyan nyitott távoli munkamenetet használ, amely az eredeti számítógéphez csatlakozik. Ha az eredeti számítógépnek nincs aktuális munkamenete, a modul újra létrehozza a munkamenetet.
Ha egy távoli munkamenetben speciális beállításokkal rendelkező exportált parancsokat szeretne futtatni, a modul importálása előtt létre kell hoznia egy távoli munkamenetet ezekkel a beállításokkal. A New-PSSession parancsmag használata a SessionOption paraméterrel
$Options = New-PSSessionOption -NoMachineProfile
$S = New-PSSession -ComputerName Server01 -SessionOption $Options
Export-PSSession -Session $S -OutputModule Server01
Remove-PSSession $S
New-PSSession -ComputerName Server01 -SessionOption $Options
Import-Module Server01
A New-PSSessionOption parancsmag létrehoz egy PSSessionOption objektumot, és menti az objektumot a $Options változóba. A New-PSSession parancs PSSession-t hoz létre a Server01 számítógépen.
A SessionOption paraméter a $Optionstárolt objektumot használja. A munkamenet a $S változóban van tárolva.
A Export-PSSession parancsmag exportálja a parancsokat a PSSession-ból a $S a Server01 modulba.
A Remove-PSSession parancsmag törli a PSSessiont a $S változóban.
A New-PSSession parancsmag létrehoz egy új PSSessiont, amely a Server01 számítógéphez csatlakozik. A SessionOption paraméter a $Optionstárolt objektumot használja. A Import-Module parancsmag importálja a parancsokat a Server01 modulból. A modul parancsai a Kiszolgáló01 számítógépen futó PSSession-ben futnak.
Paraméterek
-AllowClobber
Exportálja a megadott parancsokat, még akkor is, ha a parancsok neve megegyezik az aktuális munkamenet parancsaival.
Ha az aktuális munkamenetben egy paranccsal megegyező nevű parancsot exportál, az exportált parancs elrejti vagy lecseréli az eredeti parancsokat. További információ: about_Command_Precedence.
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-ArgumentList
Exportálja a parancs azon variánsát, amely a megadott argumentumok (paraméterértékek) használatával származik.
Ha például exportálni szeretné a Get-Item parancs variánsát a tanúsítvány (Cert:) meghajtójában a PSSession in $S, írja be a export-pssession -session $S -command get-item -argumentlist cert:.
Paramétertulajdonságok
| Típus: | Object[] |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
| Aliasok: | Argumentumok |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-Certificate
Megadja a formátumfájlok (*) aláírásához használt ügyféltanúsítványt. Format.ps1xml) vagy szkriptmodul-fájlok (.psm1) a Export-PSSession által létrehozott modulban. Adjon meg egy változót, amely tartalmaz egy tanúsítványt, vagy egy parancsot vagy kifejezést, amely lekéri a tanúsítványt.
Tanúsítvány kereséséhez használja a Get-PfxCertificate parancsmagot, vagy használja a Get-ChildItem parancsmagot a Tanúsítvány (Cert:) meghajtón. Ha a tanúsítvány érvénytelen, vagy nem rendelkezik megfelelő jogosultságtal, a parancs meghiúsul.
Paramétertulajdonságok
| Típus: | X509Certificate2 |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-CommandName
Csak a megadott neveket vagy névmintákat tartalmazó parancsokat exportálja. Helyettesítő karakterek használata engedélyezett. Használja CommandName vagy aliasát, Név.
Alapértelmezés szerint Export-PSSession a PSSession összes parancsát exportálja, kivéve azokat a parancsokat, amelyek neve megegyezik az aktuális munkamenet parancsaival. Ez megakadályozza a parancsok elrejtését vagy lecserélését az aktuális munkamenetben. Az összes parancs exportálásához használja az AllowClobber paramétert, még azokat is, amelyek más parancsokat rejtenek el vagy cserélnek le.
Ha a CommandName paramétert használja, a parancsok formázási fájljai csak akkor lesznek exportálva, ha a FormatTypeName paramétert használja. Hasonlóképpen, ha a FormatTypeName paramétert használja, a rendszer csak akkor exportálja a parancsokat, ha a CommandName paramétert használja.
Paramétertulajdonságok
| Típus: | String[] |
| Alapértelmezett érték: | All commands in the session. |
| Támogatja a helyettesítő karaktereket: | True |
| DontShow: | False |
| Aliasok: | Név |
Paraméterkészletek
(All)
| Position: | 2 |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-CommandType
Csak a megadott parancsobjektum-típusokat exportálja. Használja CommandType vagy aliasát, Típus.
A paraméter elfogadható értékei a következők:
- Álnév. Az aktuális munkamenet összes PowerShell-aliasa.
- Összes. Minden parancstípus. Ez a
Get-Command -Name *egyenértékű. - Alkalmazás. Az Elérési út környezeti változóban (
$env:path) felsorolt elérési utakon található PowerShell-fájlok kivételével minden fájl, beleértve a .txt, .exeés .dll fájlokat. - Parancsmag. Az aktuális munkamenet parancsmagjai. A parancsmag az alapértelmezett.
- Konfigurálás. Egy PowerShell-konfiguráció. További információ: about_Session_Configurations.
- ExternalScript. Az összes .ps1 fájl az elérési úton felsorolt elérési utakon (
$env:path). - Szűrés és függvény. Minden PowerShell-függvény.
- Forgatókönyv. Szkriptblokkok az aktuális munkamenetben.
- Munkafolyamat. PowerShell-munkafolyamat. További információ: about_Workflows.
Paramétertulajdonságok
| Típus: | CommandTypes |
| Alapértelmezett érték: | All commands in the session. |
| Elfogadott értékek: | Alias, All, Application, Cmdlet, Configuration, ExternalScript, Filter, Function, Script, Workflow |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
| Aliasok: | Típus |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-Encoding
Megadja a célfájl kódolási típusát. Az alapértelmezett érték UTF8.
A paraméter elfogadható értékei a következők:
- ASCII ASCII (7 bites) karakterkészletet használ.
- BigEndianUnicode UTF-16-ot használ a big-endian bájtsorrenddel.
- Alapértelmezett A rendszer aktív kódlapjának megfelelő kódolást használja.
- OEM A rendszer aktuális OEM-kódlapjának megfelelő kódolást használja.
- Unicode UTF-16-ot használ a kis-endian bájtsorrenddel.
- UTF7 UTF-7-et használ.
- UTF8 UTF-8-at használ.
- UTF32 UTF-32-t használ a kis végű bájtsorrenddel.
Paramétertulajdonságok
| Típus: | String |
| Alapértelmezett érték: | UTF8 |
| Elfogadott értékek: | ASCII, BigEndianUnicode, Default, OEM, Unicode, UTF7, UTF8, UTF32 |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-Force
Felülír egy vagy több meglévő kimeneti fájlt, még akkor is, ha a fájl írásvédett attribútummal rendelkezik.
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-FormatTypeName
Csak a megadott Microsoft .NET-keretrendszertípusok formázási utasításait exportálja. Adja meg a típusneveket. Alapértelmezés szerint Export-PSSession a System.Management.Automation névtérben nem szereplő .NET-keretrendszertípusok formázási utasításait exportálja.
Ennek a paraméternek az értékének olyan típusnak kell lennie, amelyet egy Get-FormatData parancs a parancsok importálásának munkamenetében ad vissza. A távoli munkamenet összes formázási adatának lekéréséhez írja be a *.
Ha a FormatTypeName paramétert használja, a rendszer csak akkor exportálja a parancsokat, ha a CommandName paramétert használja.
Ha a CommandName paramétert használja, a parancsok formázási fájljai csak akkor lesznek exportálva, ha a FormatTypeName paramétert használja.
Paramétertulajdonságok
| Típus: | String[] |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | 3 |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-FullyQualifiedModule
Olyan modulokat határoz meg, amelyek neve ModuleSpecification objektumok formájában van megadva. Lásd a ModuleSpecification Constructor (kivonattábla) Megjegyzések szakaszát.
A FullyQualifiedModule paraméter például elfogad egy olyan modulnevet, amely az alábbi formátumok valamelyikében van megadva:
@{ModuleName = "modulename"; ModuleVersion = "version_number"}
@{ModuleName = "modulename"; ModuleVersion = "version_number"; Guid = "GUID"}
ModuleName és ModuleVersion szükséges, de Guid megadása nem kötelező. A FullyQualifiedModule paraméter nem adható meg ugyanabban a parancsban, mint egy Modul paraméter; a két paraméter kölcsönösen kizárja egymást.
Paramétertulajdonságok
| Típus: | ModuleSpecification[] |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-Module
Csak a megadott PowerShell-beépülő modulokban és -modulokban lévő parancsokat exportálja. Adja meg a beépülő modul és a modul nevét. Helyettesítő karakterek használata nem engedélyezett.
További információ: Import-Module és about_PSSnapins.
Paramétertulajdonságok
| Típus: | String[] |
| Alapértelmezett érték: | All commands in the session. |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
| Aliasok: | PSSnapin |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-OutputModule
A Export-PSSessionáltal létrehozott modul választható elérési útját és nevét adja meg. Az alapértelmezett elérési út a $home\Documents\WindowsPowerShell\Modules. Ez a paraméter kötelező.
Ha a modul alkönyvtára vagy az Export-PSSession létrehozott fájlok bármelyike már létezik, a parancs meghiúsul. Meglévő fájlok felülírásához használja a Force paramétert.
Paramétertulajdonságok
| Típus: | String |
| Alapértelmezett érték: | $home\Documents\WindowsPowerShell\Modules |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
| Aliasok: | PSPath, ModulNév |
Paraméterkészletek
(All)
| Position: | 1 |
| Kötelező: | True |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-Session
Azt a PSSessiont adja meg, amelyből a parancsokat exportálja. Adjon meg egy változót, amely egy munkamenet-objektumot vagy egy munkamenet-objektumot lekérő parancsot tartalmaz, például egy Get-PSSession parancsot. Ez a paraméter kötelező.
Paramétertulajdonságok
| Típus: | PSSession |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | 0 |
| Kötelező: | True |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
CommonParameters
Ez a parancsmag a következő gyakori paramétereket támogatja: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction és -WarningVariable. További információért lásd about_CommonParameters.
Bevitelek
None
Az objektumokat nem lehet Export-PSSession.
Kimenetek
FileInfo
Export-PSSession Visszaadja az általa létrehozott modult alkotó fájlok listáját.
Jegyzetek
Export-PSSession a PowerShell-remoting infrastruktúrára támaszkodik. A parancsmag használatához a számítógépet újra kell konfigurálni. További információkért lásd: about_Remote_Requirements.
PowerShell-szolgáltató exportálásához nem használhat Export-PSSession.
Az exportált parancsok implicit módon futnak abban a PSSessionban, amelyből exportálták őket. A parancsok távoli futtatásának részleteit teljes mértékben a PowerShell kezeli. Az exportált parancsokat ugyanúgy futtathatja, mint a helyi parancsokat.
Export-ModuleMember rögzíti és menti az exportált modul PSSession-járól szóló információkat. Ha a modul importálásakor bezárul az a PSSession, amelyből a parancsokat exportálták, és nincs aktív PSSessions ugyanarra a számítógépre, a modul parancsai megpróbálják újra létrehozni a PSSessiont. Ha a PSSession ismételt létrehozása sikertelen, az exportált parancsok nem futnak.
A modulban Export-ModuleMember rögzített és mentett munkamenet-információk nem tartalmaznak munkamenet-beállításokat, például azokat, amelyeket a $PSSessionOption beállítási változóban vagy a , New-PSSessionvagy Enter-PSSession parancsmagok Invoke-Command paraméterének használatával adott meg. Ha a modul importálásakor az eredeti PSSession bezárul, a modul egy másik PSSession-t fog használni ugyanahhoz a számítógéphez, ha elérhető. Ha engedélyezni szeretné, hogy az importált parancsok megfelelően konfigurált munkamenetben fussanak, hozzon létre egy PSSessiont a modul importálása előtt használni kívánt beállításokkal.
Az exportálandó parancsok megkereséséhez Export-PSSession a Invoke-Command parancsmaggal futtat egy Get-Command parancsot a PSSessionban. A parancsok formázási adatainak lekéréséhez és mentéséhez a Get-FormatData és Export-FormatData parancsmagokat használja.
Invoke-Command parancs futtatásakor Get-Command, Get-FormatData, Export-FormatDataés Export-PSSession hibaüzenetek jelenhetnek meg. Emellett Export-PSSession nem exportálhat parancsokat olyan munkamenetből, amely nem tartalmazza a Get-Command, Get-FormatData, Select-Objectés Get-Help parancsmagokat.
Export-PSSession a Write-Progress parancsmaggal jeleníti meg a parancs előrehaladását. Előfordulhat, hogy a parancs futtatása közben megjelenik a folyamatjelző sáv.
Az exportált parancsok ugyanazokra a korlátozásokra vonatkoznak, mint a többi távoli parancsra, beleértve azt is, hogy a program nem indítható el felhasználói felületen, például a Jegyzettömbben.
Mivel a PowerShell-profilok nem PSSessions-ban futnak, a profil által a munkamenethez hozzáadott parancsok nem érhetők el Export-PSSession. A parancsok profilból való exportálásához Invoke-Command paranccsal futtassa a profilt manuálisan a PSSessionban a parancsok exportálása előtt.
A Export-PSSession által létrehozott modul formázási fájlokat is tartalmazhat, még akkor is, ha a parancs nem importál formázási adatokat. Ha a parancs nem importál formázási adatokat, a létrehozott formázási fájlok nem tartalmaznak formázási adatokat.