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


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.