Import-PSSession
Hiermee importeert u opdrachten uit een andere sessie in de huidige sessie.
Syntaxis
Import-PSSession
[-Prefix <String>]
[-DisableNameChecking]
[[-CommandName] <String[]>]
[-AllowClobber]
[-ArgumentList <Object[]>]
[-CommandType <CommandTypes>]
[-Module <String[]>]
[-FullyQualifiedModule <ModuleSpecification[]>]
[[-FormatTypeName] <String[]>]
[-Certificate <X509Certificate2>]
[-Session] <PSSession>
[<CommonParameters>]
Description
De Import-PSSession cmdlet importeert opdrachten, zoals cmdlets, functies en aliassen, van een PSSession op een lokale of externe computer in de huidige sessie. U kunt elke opdracht importeren die de Get-Command cmdlet kan vinden in de PSSession.
Gebruik een opdracht Import-PSSession om opdrachten te importeren uit een aangepaste shell, zoals een Microsoft Exchange Server-shell, of vanuit een sessie met Windows PowerShell-modules en -modules of andere elementen die zich niet in de huidige sessie bevinden.
Als u opdrachten wilt importeren, gebruikt u eerst de cmdlet New-PSSession om een PSSession te maken. Gebruik vervolgens de cmdlet Import-PSSession om de opdrachten te importeren. Standaard importeert Import-PSSession alle opdrachten, met uitzondering van opdrachten met dezelfde namen als opdrachten in de huidige sessie. Als u alle opdrachten wilt importeren, gebruikt u de parameter AllowClobber.
U kunt geïmporteerde opdrachten gebruiken, net zoals u elke opdracht in de sessie zou gebruiken. Wanneer u een geïmporteerde opdracht gebruikt, wordt het geïmporteerde deel van de opdracht impliciet uitgevoerd in de sessie waaruit deze is geïmporteerd. De externe bewerkingen worden echter volledig verwerkt door Windows PowerShell. U hoeft zich er niet eens van bewust te zijn, behalve dat u de verbinding met de andere sessie (PSSession) open moet houden. Als u deze sluit, zijn de geïmporteerde opdrachten niet meer beschikbaar.
Omdat geïmporteerde opdrachten langer kunnen duren dan lokale opdrachten, voegt Import-PSSession een AsJob parameter toe aan elke geïmporteerde opdracht. Met deze parameter kunt u de opdracht uitvoeren als een Windows PowerShell-achtergrondtaak. Zie about_Jobs voor meer informatie.
Wanneer u Import-PSSession-gebruikt, worden de geïmporteerde opdrachten door Windows PowerShell toegevoegd aan een tijdelijke module die alleen in uw sessie bestaat en een object retourneert dat de module vertegenwoordigt. Als u een permanente module wilt maken die u in toekomstige sessies kunt gebruiken, gebruikt u de cmdlet Export-PSSession.
De cmdlet Import-PSSession maakt gebruik van de impliciete externe functie van Windows PowerShell. Wanneer u opdrachten in de huidige sessie importeert, worden ze impliciet uitgevoerd in de oorspronkelijke sessie of in een vergelijkbare sessie op de oorspronkelijke computer.
Vanaf Windows PowerShell 3.0 kunt u de cmdlet Import-Module gebruiken om modules uit een externe sessie in de huidige sessie te importeren. Deze functie maakt gebruik van impliciete externe communicatie. Het is gelijk aan het gebruik van Import-PSSession om geselecteerde modules uit een externe sessie in de huidige sessie te importeren.
Voorbeelden
Voorbeeld 1: Alle opdrachten uit een PSSession importeren
PS C:\> $S = New-PSSession -ComputerName Server01
PS C:\> Import-PSSession -Session $S
Met deze opdracht worden alle opdrachten uit een PSSession op de Server01-computer geïmporteerd in de huidige sessie, met uitzondering van opdrachten met dezelfde namen als opdrachten in de huidige sessie.
Omdat met deze opdracht niet de parameter CommandName wordt gebruikt, worden ook alle opmaakgegevens geïmporteerd die nodig zijn voor de geïmporteerde opdrachten.
Voorbeeld 2: Opdrachten importeren die eindigen op een specifieke tekenreeks
PS C:\> $S = New-PSSession https://ps.testlabs.com/powershell
PS C:\> Import-PSSession -Session $S -CommandName *-test -FormatTypeName *
PS C:\> New-Test -Name Test1
PS C:\> Get-Test test1 | Run-Test
Met deze opdrachten worden de opdrachten geïmporteerd met namen die eindigen op '-test' vanuit een PSSession in de lokale sessie, waarna ze laten zien hoe u een geïmporteerde cmdlet gebruikt.
De eerste opdracht maakt gebruik van de New-PSSession cmdlet om een PSSession te maken. Hiermee wordt de PSSession opgeslagen in de variabele $S.
De tweede opdracht maakt gebruik van de Import-PSSession cmdlet voor het importeren van opdrachten uit de PSSession in $S in de huidige sessie. Hierbij wordt de parameter CommandName gebruikt om opdrachten op te geven met het zelfstandig naamwoord Testen en de parameter FormatTypeName om de opmaakgegevens voor de testopdrachten te importeren.
De derde en vierde opdrachten gebruiken de geïmporteerde opdrachten in de huidige sessie. Omdat geïmporteerde opdrachten daadwerkelijk worden toegevoegd aan de huidige sessie, gebruikt u de lokale syntaxis om ze uit te voeren. U hoeft de Invoke-Command cmdlet niet te gebruiken om een geïmporteerde opdracht uit te voeren.
Voorbeeld 3: Cmdlets importeren uit een PSSession
PS C:\> $S1 = New-PSSession -ComputerName s1
PS C:\> $S2 = New-PSSession -ComputerName s2
PS C:\> Import-PSSession -Session s1 -Type cmdlet -Name New-Test, Get-Test -FormatTypeName *
PS C:\> Import-PSSession -Session s2 -Type Cmdlet -Name Set-Test -FormatTypeName *
PS C:\> New-Test Test1 | Set-Test -RunType Full
In dit voorbeeld ziet u dat u geïmporteerde cmdlets kunt gebruiken, net zoals u lokale cmdlets zou gebruiken.
Met deze opdrachten importeert u de cmdlets New-Test en Get-Test van een PSSession op de Server01-computer en de Set-Test-cmdlet van een PSSession op de Server02-computer.
Hoewel de cmdlets uit verschillende PSSessions zijn geïmporteerd, kunt u zonder fouten een object van de ene cmdlet naar de andere doorsluizen.
Voorbeeld 4: Een geïmporteerde opdracht uitvoeren als achtergrondtaak
PS C:\> $S = New-PSSession -ComputerName Server01
PS C:\> Import-PSSession -Session $S -CommandName *-test* -FormatTypeName *
PS C:\> $batch = New-Test -Name Batch -AsJob
PS C:\> Receive-Job $batch
In dit voorbeeld ziet u hoe u een geïmporteerde opdracht uitvoert als achtergrondtaak.
Omdat geïmporteerde opdrachten langer kunnen duren dan lokale opdrachten, voegt Import-PSSession een AsJob parameter toe aan elke geïmporteerde opdracht. Met de parameter AsJob kunt u de opdracht uitvoeren als achtergrondtaak.
Met de eerste opdracht maakt u een PSSession op de Server01-computer en slaat u het PSSession-object op in de $S variabele.
De tweede opdracht maakt gebruik van Import-PSSession om de test-cmdlets te importeren uit de PSSession in $S in de huidige sessie.
De derde opdracht maakt gebruik van de AsJob parameter van de geïmporteerde New-Test cmdlet om een New-Test opdracht uit te voeren als achtergrondtaak. Met de opdracht wordt het taakobject opgeslagen dat New-Test retourneert in de $batch variabele.
De vierde opdracht maakt gebruik van de Receive-Job cmdlet om de resultaten van de taak op te halen in de $batch variabele.
Voorbeeld 5: Cmdlets en functies importeren uit een Windows PowerShell-module
PS C:\> $S = New-PSSession -ComputerName Server01
PS C:\> Invoke-Command -Session $S {Import-Module TestManagement}
PS C:\> Import-PSSession -Session $S -Module TestManagement
In dit voorbeeld ziet u hoe u de cmdlets en functies importeert vanuit een Windows PowerShell-module op een externe computer in de huidige sessie.
De eerste opdracht maakt een PSSession op de Server01-computer en slaat deze op in de $S variabele.
De tweede opdracht gebruikt de cmdlet Invoke-Command om een Import-Module opdracht uit te voeren in de PSSession in $S.
Normaal gesproken wordt de module toegevoegd aan alle sessies door een opdracht Import-Module in een Windows PowerShell-profiel, maar profielen worden niet uitgevoerd in PSSessions.
De derde opdracht maakt gebruik van de module parameter van Import-PSSession om de cmdlets en functies in de module in de huidige sessie te importeren.
Voorbeeld 6: Een module maken in een tijdelijk bestand
PS C:\> Import-PSSession $S -CommandName Get-Date, SearchHelp -FormatTypeName * -AllowClobber
Name : tmp_79468106-4e1d-4d90-af97-1154f9317239_tcw1zunz.ttf
Path : C:\Users\User01\AppData\Local\Temp\tmp_79468106-4e1d-4d90-af97-1154f9317239_tcw1zunz.ttf\tmp_79468106-4e1d-4d90-af97-1154f9317239_
tcw1zunz.ttf.psm1
Description : Implicit remoting for http://server01.corp.fabrikam.com/wsman
Guid : 79468106-4e1d-4d90-af97-1154f9317239
Version : 1.0
ModuleBase : C:\Users\User01\AppData\Local\Temp\tmp_79468106-4e1d-4d90-af97-1154f9317239_tcw1zunz.ttf
ModuleType : Script
PrivateData : {ImplicitRemoting}
AccessMode : ReadWrite
ExportedAliases : {}
ExportedCmdlets : {}
ExportedFunctions : {[Get-Date, Get-Date], [SearchHelp, SearchHelp]}
ExportedVariables : {}
NestedModules : {}
In dit voorbeeld ziet u dat Import-PSSession een module maakt in een tijdelijk bestand op schijf. Ook ziet u dat alle opdrachten worden geconverteerd naar functies voordat ze in de huidige sessie worden geïmporteerd.
De opdracht gebruikt de cmdlet Import-PSSession om een Get-Date-cmdlet en een SearchHelp-functie te importeren in de huidige sessie.
De cmdlet Import-PSSession retourneert een PSModuleInfo--object dat de tijdelijke module vertegenwoordigt. De waarde van de eigenschap Path laat zien dat Import-PSSession-bestand een scriptmodulebestand (.psm1) op een tijdelijke locatie heeft gemaakt. De eigenschap ExportedFunctions laat zien dat de cmdlet Get-Date en de functie SearchHelp beide als functies zijn geïmporteerd.
Voorbeeld 7: Voer een opdracht uit die is verborgen door een geïmporteerde opdracht
PS C:\> Import-PSSession $S -CommandName Get-Date -FormatTypeName * -AllowClobber
PS C:\> Get-Command Get-Date -All
CommandType Name Definition
----------- ---- ----------
Function Get-Date ...
Cmdlet Get-Date Get-Date [[-Date] <DateTime>] [-Year <Int32>] [-Month <Int32>]
PS C:\> Get-Date
09074
PS C:\> (Get-Command -Type Cmdlet -Name Get-Date).PSSnapin.Name
Microsoft.PowerShell.Utility
PS C:\> Microsoft.PowerShell.Utility\Get-Date
Sunday, March 15, 2009 2:08:26 PM
In dit voorbeeld ziet u hoe u een opdracht uitvoert die is verborgen door een geïmporteerde opdracht.
Met de eerste opdracht importeert u een Get-Date cmdlet uit de PSSession in de $S variabele. Omdat de huidige sessie een cmdlet Get-Date bevat, is de parameter AllowClobber vereist in de opdracht.
De tweede opdracht gebruikt de parameter Alle van de Get-Command-cmdlet om alle get-date opdrachten in de huidige sessie op te halen. In de uitvoer ziet u dat de sessie de oorspronkelijke cmdlet Get-Date en een Get-Date-functie bevat. Met de functie Get-Date wordt de geïmporteerde cmdlet Get-Date uitgevoerd in de PSSession in $S.
Met de derde opdracht wordt een opdracht Get-Date uitgevoerd. Omdat functies voorrang hebben op cmdlets, voert Windows PowerShell de geïmporteerde Get-Date-functie uit, die een Juliaanse datum retourneert.
De vierde en vijfde opdracht laten zien hoe u een gekwalificeerde naam gebruikt om een opdracht uit te voeren die is verborgen door een geïmporteerde opdracht.
De vierde opdracht haalt de naam op van de Windows PowerShell-module die de oorspronkelijke Get-Date cmdlet aan de huidige sessie heeft toegevoegd.
De vijfde opdracht maakt gebruik van de module-in-qualified name van de cmdlet Get-Date om een get-date opdracht uit te voeren.
Zie about_Command_Precedence voor meer informatie over prioriteit van opdrachten en verborgen opdrachten.
Voorbeeld 8: Opdrachten importeren met een specifieke tekenreeks in hun namen
PS C:\> Import-PSSession -Session $S -CommandName *Item* -AllowClobber
Met deze opdracht worden opdrachten geïmporteerd waarvan de namen Item uit de PSSession in $S bevatten. Omdat de opdracht de parameter CommandName bevat, maar niet de parameter FormatTypeData, wordt alleen de opdracht geïmporteerd.
Gebruik deze opdracht wanneer u Import-PSSession gebruikt om een opdracht uit te voeren op een externe computer en u al de opmaakgegevens voor de opdracht in de huidige sessie hebt.
Voorbeeld 9: Gebruik de moduleparameter om te ontdekken welke opdrachten zijn geïmporteerd in de sessie
PS C:\> $M = Import-PSSession -Session $S -CommandName *bits* -FormatTypeName *bits*
PS C:\> Get-Command -Module $M
CommandType Name
----------- ----
Function Add-BitsFile
Function Complete-BitsTransfer
Function Get-BitsTransfer
Function Remove-BitsTransfer
Function Resume-BitsTransfer
Function Set-BitsTransfer
Function Start-BitsTransfer
Function Suspend-BitsTransfer
Deze opdracht laat zien hoe u de module parameter van Get-Command kunt gebruiken om erachter te komen welke opdrachten zijn geïmporteerd in de sessie door een import-PSSession opdracht.
De eerste opdracht maakt gebruik van de Import-PSSession cmdlet om opdrachten te importeren waarvan de namen 'bits' uit de PSSession in de $S variabele bevatten. De opdracht Import-PSSession retourneert een tijdelijke module en de opdracht slaat de module op in de $m variabele.
De tweede opdracht gebruikt de Get-Command cmdlet om de opdrachten op te halen die door de module in de $M variabele worden geëxporteerd.
De parameter module gebruikt een tekenreekswaarde, die is ontworpen voor de modulenaam. Wanneer u echter een moduleobject verzendt, gebruikt Windows PowerShell de methode ToString op het moduleobject, waarmee de modulenaam wordt geretourneerd.
De opdracht Get-Command is het equivalent van Get-Command $M.Name
".
Parameters
-AllowClobber
Geeft aan dat met deze cmdlet de opgegeven opdrachten worden geïmporteerd, zelfs als ze dezelfde namen hebben als opdrachten in de huidige sessie.
Als u een opdracht importeert met dezelfde naam als een opdracht in de huidige sessie, verbergt of vervangt de geïmporteerde opdracht de oorspronkelijke opdrachten. Zie about_Command_Precedence voor meer informatie.
Standaard importeert Import-PSSession- geen opdrachten met dezelfde naam als opdrachten in de huidige sessie.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-ArgumentList
Hiermee geeft u een matrix met opdrachten op die het resultaat zijn van het gebruik van de opgegeven argumenten (parameterwaarden).
Als u bijvoorbeeld de variant van de opdracht Get-Item wilt importeren in het certificaatstation (Certificaat:) in de PSSession in $S, typt u Import-PSSession -Session $S -Command Get-Item -ArgumentList cert:
.
Type: | Object[] |
Aliassen: | Args |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Certificate
Hiermee geeft u het clientcertificaat op dat wordt gebruikt voor het ondertekenen van de indelingsbestanden (*. Format.ps1xml) of scriptmodulebestanden (.psm1) in de tijdelijke module die Import-PSSession maakt.
Voer een variabele in die een certificaat of een opdracht of expressie bevat die het certificaat ophaalt.
Als u een certificaat wilt vinden, gebruikt u de Get-PfxCertificate-cmdlet of gebruikt u de Get-ChildItem-cmdlet in het certificaatstation (certificaat:). Als het certificaat niet geldig is of onvoldoende autoriteit heeft, mislukt de opdracht.
Type: | X509Certificate2 |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-CommandName
Hiermee geeft u opdrachten met de opgegeven namen of naampatronen. Jokertekens zijn toegestaan. Gebruik CommandName of de alias Name.
Standaard importeert Import-PSSession alle opdrachten uit de sessie importeert, met uitzondering van opdrachten met dezelfde namen als opdrachten in de huidige sessie. Hierdoor voorkomt u dat geïmporteerde opdrachten in de sessie worden verborgen of vervangen. Als u alle opdrachten wilt importeren, zelfs opdrachten die andere opdrachten verbergen of vervangen, gebruikt u de parameter AllowClobber.
Als u de parameter CommandName gebruikt, worden de opmaakbestanden voor de opdrachten niet geïmporteerd, tenzij u de parameter FormatTypeName gebruikt. Als u ook de parameter FormatTypeName gebruikt, worden er geen opdrachten geïmporteerd, tenzij u de parameter CommandName gebruikt.
Type: | String[] |
Aliassen: | Name |
Position: | 2 |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-CommandType
Hiermee geeft u het type opdrachtobjecten. De standaardwaarde is Cmdlet. Gebruik CommandType of de alias Type. De acceptabele waarden voor deze parameter zijn:
- Alias. De Windows PowerShell-aliassen in de externe sessie.
- Alle. De cmdlets en functies in de externe sessie.
- Toepassing. Alle andere bestanden dan Windows-PowerShell bestanden in de paden die worden vermeld in de omgevingsvariabele Pad ($env:path) in de externe sessie, inclusief .txt, .exeen .dll bestanden.
- Cmdlet. De cmdlets in de externe sessie. "Cmdlet" is de standaardwaarde.
- ExternalScript. De .ps1 bestanden in de paden die worden vermeld in de omgevingsvariabele Pad ($env:path) in de externe sessie.
- Filter en functie. De Windows PowerShell-functies in de externe sessie.
- Script. Het script blokkeert in de externe sessie.
Type: | CommandTypes |
Aliassen: | Type |
Geaccepteerde waarden: | Alias, Function, Filter, Cmdlet, ExternalScript, Application, Script, Workflow, Configuration, All |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-DisableNameChecking
Geeft aan dat deze cmdlet het bericht onderdrukt dat u waarschuwt wanneer u een cmdlet of functie importeert waarvan de naam een niet-goedgekeurd werkwoord of een verboden teken bevat.
Wanneer een module die u importeert, cmdlets of functies met niet-goedgekeurde werkwoorden in hun naam importeert, wordt in Windows PowerShell standaard het volgende waarschuwingsbericht weergegeven:
"WAARSCHUWING: sommige geïmporteerde opdrachtnamen bevatten niet-goedgekeurde werkwoorden, waardoor ze mogelijk minder detecteerbaar zijn. Gebruik de uitgebreide parameter voor meer details of typ Get-Verb om de lijst met goedgekeurde werkwoorden weer te geven.
Dit bericht is slechts een waarschuwing. De volledige module wordt nog steeds geïmporteerd, inclusief de niet-conforme opdrachten. Hoewel het bericht wordt weergegeven aan modulegebruikers, moet het naamgevingsprobleem worden opgelost door de auteur van de module.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-FormatTypeName
Hiermee geeft u opmaakinstructies voor de opgegeven Microsoft .NET Framework-typen. Voer de typenamen in. Jokertekens zijn toegestaan.
De waarde van deze parameter moet de naam zijn van een type dat wordt geretourneerd door een Get-FormatData opdracht in de sessie waaruit de opdrachten worden geïmporteerd. Als u alle opmaakgegevens in de externe sessie wilt ophalen, typt u *.
Als de opdracht niet de parameter CommandName of FormatTypeName parameter bevat, Import-PSSession opmaakinstructies importeert voor alle .NET Framework-typen die worden geretourneerd door een opdracht Get-FormatData in de externe sessie.
Als u de parameter FormatTypeName gebruikt, worden er geen opdrachten geïmporteerd, tenzij u de parameter CommandName gebruikt.
Als u ook de parameter CommandName gebruikt, worden de opmaakbestanden voor de opdrachten niet geïmporteerd, tenzij u de parameter FormatTypeName gebruikt.
Type: | String[] |
Position: | 3 |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-FullyQualifiedModule
Hiermee geeft u modules met namen op die zijn opgegeven in de vorm van ModuleSpecification objecten (beschreven in de sectie Opmerkingen van ModuleSpecification Constructor (Hashtable) in de MSDN-bibliotheek). De parameter FullyQualifiedModule accepteert bijvoorbeeld een modulenaam die is opgegeven in de indeling @{ModuleName = "modulenaam"; ModuleVersion = "version_number"} of @{ModuleName = "modulenaam"; ModuleVersion = "version_number"; Guid = "GUID"}. ModuleName en ModuleVersion zijn vereist, maar Guid- is optioneel.
U kunt de parameter FullyQualifiedModule niet opgeven in dezelfde opdracht als een parameter Module; de twee parameters sluiten elkaar wederzijds uit.
Type: | ModuleSpecification[] |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Module
Hiermee geeft u en matrix van opdrachten in de Windows PowerShell-modules en -modules. Voer de module- en modulenamen in. Jokertekens zijn niet toegestaan.
Import-PSSession- kunnen geen providers importeren uit een module.
Zie about_PSSnapins en about_Modulesvoor meer informatie.
Type: | String[] |
Aliassen: | PSSnapin |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Prefix
Hiermee geeft u een voorvoegsel voor de zelfstandige naamwoorden in de namen van geïmporteerde opdrachten.
Gebruik deze parameter om naamconflicten te voorkomen die kunnen optreden wanneer verschillende opdrachten in de sessie dezelfde naam hebben.
Als u bijvoorbeeld het voorvoegsel Remote opgeeft en vervolgens een Get-Date cmdlet importeert, staat de cmdlet bekend in de sessie als Get-RemoteDateen wordt deze niet verward met de oorspronkelijke Get-Date cmdlet.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Session
Hiermee geeft u de PSSession waaruit de cmdlets worden geïmporteerd. Voer een variabele in die een sessieobject of een opdracht bevat waarmee een sessieobject wordt opgehaald, zoals een New-PSSession of Get-PSSession opdracht. U kunt slechts één sessie opgeven. Deze parameter is vereist.
Type: | PSSession |
Position: | 0 |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
Invoerwaarden
None
U kunt geen objecten doorsluisen naar deze cmdlet.
Uitvoerwaarden
Import-PSSession- retourneert hetzelfde moduleobject dat New-Module en Get-Module cmdlets retourneert. De geïmporteerde module is echter tijdelijk en bestaat alleen in de huidige sessie. Als u een permanente module op schijf wilt maken, gebruikt u de cmdlet Export-PSSession.
Notities
- Import-PSSession- is afhankelijk van de externe infrastructuur van Windows PowerShell. Als u deze cmdlet wilt gebruiken, moet de computer worden geconfigureerd voor WS-Management externe communicatie. Zie about_Remote en about_Remote_Requirements voor meer informatie.
- Import-PSSession importeert geen variabelen of Windows PowerShell-providers.
- Wanneer u opdrachten importeert met dezelfde namen als opdrachten in de huidige sessie, kunnen de geïmporteerde opdrachten aliassen, functies en cmdlets in de sessie verbergen en kunnen ze functies en variabelen in de sessie vervangen. Als u naamconflicten wilt voorkomen, gebruikt u de parameter voorvoegsel. Zie about_Command_Precedence voor meer informatie.
- Import-PSSession alle opdrachten converteert naar functies voordat deze worden geïmporteerd. Als gevolg hiervan gedragen geïmporteerde opdrachten zich iets anders dan wanneer ze hun oorspronkelijke opdrachttype behouden. Als u bijvoorbeeld een cmdlet importeert uit een PSSession en vervolgens een cmdlet met dezelfde naam importeert uit een module of module, wordt de cmdlet die uit de PSSession wordt geïmporteerd, altijd standaard uitgevoerd omdat functies voorrang hebben op cmdlets. Als u daarentegen een alias importeert in een sessie met een alias met dezelfde naam, wordt de oorspronkelijke alias altijd gebruikt, omdat aliassen voorrang hebben op functies. Zie about_Command_Precedence voor meer informatie.
- Import-PSSession de Write-Progress cmdlet gebruikt om de voortgang van de opdracht weer te geven. Mogelijk ziet u de voortgangsbalk terwijl de opdracht wordt uitgevoerd.
- Als u de opdrachten wilt vinden die u wilt importeren, gebruikt Import-PSSession de Invoke-Command-cmdlet gebruikt om een Get-Command opdracht uit te voeren in de PSSession. Voor het ophalen van opmaakgegevens voor de opdrachten wordt de Get-FormatData-cmdlet gebruikt. Mogelijk ziet u foutberichten van deze cmdlets wanneer u een opdracht Import-PSSession uitvoert. Bovendien kunnen Import-PSSession- geen opdrachten importeren uit een PSSession die geen cmdlets Get-Command, Get-FormatData, Select-Object en Get-Help bevat.
- Geïmporteerde opdrachten hebben dezelfde beperkingen als andere externe opdrachten, waaronder het niet kunnen starten van een programma met een gebruikersinterface, zoals Kladblok.
- Omdat Windows PowerShell-profielen niet worden uitgevoerd in PSSessions, zijn de opdrachten die een profiel toevoegt aan een sessie niet beschikbaar voor Import-PSSession-. Als u opdrachten uit een profiel wilt importeren, gebruikt u een Invoke-Command opdracht om het profiel handmatig uit te voeren in de PSSession voordat u opdrachten importeert.
- De tijdelijke module die Import-PSSession maakt, kan een opmaakbestand bevatten, zelfs als de opdracht geen opmaakgegevens importeert. Als de opdracht geen opmaakgegevens importeert, bevatten alle gemaakte opmaakbestanden geen opmaakgegevens.
- Als u Import-PSSession-wilt gebruiken, kan het uitvoeringsbeleid in de huidige sessie niet worden beperkt of AllSigned, omdat de tijdelijke module die Import-PSSession maakt, niet-ondertekende scriptbestanden bevat die niet zijn toegestaan door dit beleid. Als u Import-PSSession- wilt gebruiken zonder het uitvoeringsbeleid voor de lokale computer te wijzigen, gebruikt u de parameter Bereik van Set-ExecutionPolicy om een minder beperkend uitvoeringsbeleid voor één proces in te stellen.
- In Windows PowerShell 2.0 bevatten Help-onderwerpen voor opdrachten die zijn geïmporteerd uit een andere sessie niet het voorvoegsel dat u toewijst met behulp van de parameter voorvoegsel. Als u hulp wilt krijgen voor een geïmporteerde opdracht in Windows PowerShell 2.0, gebruikt u de oorspronkelijke opdrachtnaam (niet-voorvoegsel).