Import-PSSession
Importiert Befehle aus einer anderen Sitzung in die aktuelle Sitzung.
Syntax
Import-PSSession [-Session] <PSSession> [[-CommandName] <string[]>] [[-FormatTypeName] <string[]>] [-AllowClobber] [-ArgumentList <Object[]>] [-CommandType {<Alias> | <Function> | <Filter> | <Cmdlet> | <ExternalScript> | <Application> | <Script> | <All>}] [-Module <string[]>] [-Prefix <string>] [<CommonParameters>]
Beschreibung
Mit dem Cmdlet "Import-PSSession" werden Befehle (z. B. Cmdlets, Funktionen und Aliase) aus einer PSSession auf einem lokalen oder Remotecomputer in die aktuelle Sitzung importiert. Sie können jeden Befehl importieren, der von Get-Command in der PSSession gefunden wird.
Verwenden Sie den Befehl "Import-PSSession", um Befehle aus einer benutzerdefinierten Shell, z. B. einer Microsoft Exchange Server-Shell, oder aus einer Sitzung, die Windows PowerShell-Module und -Snap-Ins enthält, oder andere Elemente, die nicht in der aktuellen Sitzung enthalten sind, zu importieren.
Um Befehle zu importieren, erstellen Sie zunächst mit dem Cmdlet "New-PSSession" eine PSSession. Importieren Sie anschließend die Befehle mit dem Cmdlet "Import-PSSession". Standardmäßig werden mit Import-PSSession alle Befehle importiert, ausgenommen Befehle, die die gleichen Namen wie Befehle in der aktuellen Sitzung aufweisen. Um alle Befehle zu importieren, verwenden Sie den AllowClobber-Parameter.
Sie können importierte Befehle wie jeden anderen Befehl in der Sitzung verwenden. Wenn Sie einen importierten Befehl verwenden, wird der importierte Teil des Befehls implizit in der Sitzung ausgeführt, aus der er importiert wurde. Die Remotevorgänge werden jedoch vollständig von Windows PowerShell behandelt. Sie müssen sie selten beachten, mit der Ausnahme, dass die Verbindung mit der anderen Sitzung (PSSession) geöffnet bleiben muss. Wenn Sie sie schließen, sind die importierten Befehle nicht mehr verfügbar.
Da die Ausführung von importierten Befehlen länger dauern kann als die Ausführung von lokalen Befehlen, fügt Import-PSSession jedem importierten Befehl einen AsJob-Parameter hinzu. Mit diesem Parameter können Sie den Befehl als Windows PowerShell-Hintergrundauftrag ausführen. Weitere Informationen finden Sie unter "about_Jobs".
Wenn Sie Import-PSSession verwenden, fügt Windows PowerShell die importierten Befehle einem temporären Modul hinzu, das nur in der Sitzung vorhanden ist, und gibt ein Objekt zurück, das das Modul darstellt. Um ein dauerhaftes Modul zu erstellen, das Sie in zukünftigen Sitzungen verwenden können, verwenden Sie das Cmdlet "Export-PSSession".
Das Cmdlet "Import-PSSession" verwendet das implizite Remotingfeature von Windows PowerShell. Wenn Sie Befehle in die aktuelle Sitzung importieren, werden sie entweder in der ursprünglichen Sitzung oder in einer vergleichbaren Sitzung auf dem ursprünglichen Computer implizit ausgeführt.
Parameter
-AllowClobber
Importiert die angegebenen Befehle, auch wenn sie die gleichen Namen wie Befehle in der aktuellen Sitzung aufweisen.
Wenn Sie einen Befehl mit dem gleichen Namen wie ein Befehl in der aktuellen Sitzung importieren, werden die ursprünglichen Befehle vom importierten Befehl ausgeblendet oder ersetzt. Weitere Informationen finden Sie unter "about_Command_Precedence".
Standardmäßig werden mit Import-PSSession keine Befehle importiert, die die gleichen Namen wie Befehle in der aktuellen Sitzung aufweisen.
Erforderlich? |
false |
Position? |
named |
Standardwert |
False |
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
false |
-ArgumentList <Object[]>
Importiert die Variante des Befehls, die aus der Verwendung der angegebenen Argumente (Parameterwerte) resultiert.
Um beispielsweise die Variante des Befehls "Get-Item" in der PSSession in $s auf dem Zertifikatlaufwerk ("Cert:") zu importieren, geben Sie "import-pssession -session $s -command Get-Item -argumentlist cert:" ein.
Erforderlich? |
false |
Position? |
named |
Standardwert |
Alle Befehle in der PSSession, ausgenommen Befehle mit dem gleichen Namen wie Befehle in der aktuellen Sitzung. |
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
false |
-CommandName <string[]>
Importiert nur die Befehle mit den angegebenen Namen oder Namensmustern. Platzhalter sind zulässig. Verwenden Sie CommandName oder den zugehörigen Alias "Name".
Standardmäßig werden mit Import-PSSession alle Befehle aus der Sitzung importiert, ausgenommen Befehle, die die gleichen Namen wie Befehle in der aktuellen Sitzung aufweisen. Hierdurch wird verhindert, dass Befehle in der Sitzung durch importierte Befehle ausgeblendet oder ersetzt werden. Zum Importieren aller Befehle, einschließlich der Befehle, die andere Befehle ausblenden oder ersetzen, verwenden Sie den AllowClobber-Parameter.
Wenn Sie den CommandName-Parameter verwenden, werden die Formatierungsdateien für die Befehle nicht importiert, sofern Sie nicht den FormatTypeName-Parameter verwenden. Wenn Sie den FormatTypeName-Parameter verwenden, werden ebenfalls keine Befehle importiert, sofern Sie nicht den CommandName-Parameter verwenden.
Erforderlich? |
false |
Position? |
3 |
Standardwert |
Alle Befehle in der PSSession, ausgenommen Befehle mit dem gleichen Namen wie Befehle in der aktuellen Sitzung. |
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
true |
-CommandType <CommandTypes>
Importiert nur die angegebenen Typen von Befehlsobjekten. Der Standardwert ist "Cmdlet". Verwenden Sie "CommandType" oder den zugehörigen Alias "Type".
Gültige Werte:
– Alias: Die Windows PowerShell-Aliase in der Remotesitzung.
– All: Die Cmdlets und Funktionen in der Remotesitzung.
– Application: Alle Dateien außer den Windows PowerShell-Dateien in den Pfaden, die in der Path-Umgebungsvariablen ($env:path) in der Remotesitzung aufgeführt sind, einschließlich TXT-, EXE- und DLL-Dateien.
– Cmdlet: Die Cmdlets in der Remotesitzung. Der Standardwert ist "Cmdlet".
– ExternalScript: Die PS1-Dateien in den Pfaden, die in der Path-Umgebungsvariablen ($env:path) in der Remotesitzung aufgeführt sind.
– Filter und Function: Die Windows PowerShell-Funktionen in der Remotesitzung.
– Script: Die Skriptblöcke in der Remotesitzung.
Erforderlich? |
false |
Position? |
named |
Standardwert |
Alle Befehle in der PSSession, ausgenommen Befehle mit dem gleichen Namen wie Befehle in der aktuellen Sitzung. |
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
false |
-FormatTypeName <string[]>
Importiert Formatierungsanweisungen für die angegebenen Microsoft .NET Framework-Typen. Geben Sie die Typnamen ein. Platzhalter sind zulässig.
Der Wert dieses Parameters muss dem Namen eines Typs entsprechen, der von einem Get-FormatData-Befehl in der Sitzung zurückgegeben wird, aus der die Befehle importiert werden. Um alle Formatierungsdaten in der Remotesitzung abzurufen, geben Sie ein Sternchen (*) ein.
Wenn der Befehl weder den CommandName-Parameter noch den FormatTypeName-Parameter einschließt, importiert Import-PSSession
Formatierungsanweisungen zu allen .NET Framework-Typen, die von einem Get-FormatData-Befehl in der Remotesitzung zurückgegeben wurden.
Wenn Sie den FormatTypeName-Parameter verwenden, werden keine Befehle importiert, sofern Sie nicht den CommandName-Parameter verwenden.
Wenn Sie den CommandName-Parameter verwenden, werden ebenfalls keine Formatierungsdateien für die Befehle importiert, sofern Sie nicht den FormatTypeName-Parameter verwenden.
Erforderlich? |
false |
Position? |
4 |
Standardwert |
Typen im System.Management.Automation-Namespace |
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
true |
-Module <string[]>
Importiert nur die Befehle in den angegebenen Windows PowerShell-Snap-Ins und -Modulen. Geben Sie den Snap-In- und Modulnamen ein. Platzhalter sind nicht zulässig.
Weitere Informationen finden Sie unter "about_Pssnapins" und "Import-Module".
Erforderlich? |
false |
Position? |
named |
Standardwert |
Alle Befehle in der PSSession, ausgenommen Befehle mit dem gleichen Namen wie Befehle in der aktuellen Sitzung. |
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
false |
-Prefix <string>
Fügt den Substantiven in den Namen importierter Befehle das angegebene Präfix hinzu.
Mit diesem Parameter können Sie potenzielle Namenskonflikte aufgrund unterschiedlicher Befehle mit identischem Namen in der Sitzung vermeiden.
Wenn Sie beispielsweise das Präfix "Remote" angeben und anschließend das Cmdlet "Get-Date" importieren, wird das Cmdlet in der Sitzung als Get-RemoteDate bezeichnet, und es wird nicht mit dem ursprünglichen Cmdlet "Get-Date" verwechselt.
Erforderlich? |
false |
Position? |
named |
Standardwert |
|
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
false |
-Session <PSSession>
Gibt die PSSession an, aus der die Cmdlets importiert werden. Geben Sie eine Variable, die ein Sitzungsobjekt enthält, oder einen Befehl ein, mit dem ein Sitzungsobjekt abgerufen wird, z. B. den Befehl "New-PSSession" oder "Get-PSSession". Sie können nur eine Sitzung angeben. Dieser Parameter ist erforderlich.
Erforderlich? |
true |
Position? |
1 |
Standardwert |
Keiner |
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
false |
<CommonParameters>
Dieses Cmdlet unterstützt die folgenden allgemeinen Parameter: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer und -OutVariable. Weitere Informationen finden Sie unter about_Commonparameters.
Eingaben und Ausgaben
Der Eingabetyp ist der Typ der Objekte, die über die Pipeline an das Cmdlet übergeben werden können. Der Rückgabetyp ist der Typ der Objekte, die das Cmdlet zurückgibt.
Eingaben |
Keiner Objekte können nicht über die Pipeline an dieses Cmdlet übergeben werden. |
Ausgaben |
System.Management.Automation.PSModuleInfo Import-PSSession gibt das gleiche Modulobjekt zurück wie New-Module und Get-Module. Das importierte Modul ist jedoch temporär und nur in der aktuellen Sitzung vorhanden. Um ein permanentes Modul auf einem Datenträger zu erstellen, verwenden Sie das Cmdlet "Export-PSSession". |
Hinweise
Für Import-PSSession ist die Windows PowerShell-Remoteinfrastruktur erforderlich. Um dieses Cmdlet zu verwenden, muss der Computer für die Remotingtechnologie der WS-Verwaltung konfiguriert sein. Weitere Informationen finden Sie unter "about_remote" und "about_Remote_Requirements".
Sie können Variablen oder Windows PowerShell-Anbieter mithilfe von Import-PSSession importieren.
Beim Importieren von Befehlen, die die gleichen Namen wie Befehle in der aktuellen Sitzung haben, können die importierten Befehle Aliase, Funktionen und Cmdlets in der Sitzung ausblenden sowie Funktionen und Variablen in der Sitzung ersetzen. Weitere Informationen finden Sie unter "about_Command_Precedence".
Import-PSSession konvertiert alle Befehle vor dem Importieren in Funktionen. Folglich verhalten sich importierte Befehle etwas anders, als wenn sie ihren ursprünglichen Befehlstyp beibehalten würden. Wenn Sie ein Cmdlet aus einer PSSession importieren und dann ein Cmdlet mit dem gleichen Namen aus einem Modul oder einem Snap-In importieren, wird das aus der PSSession importierte Cmdlet standardmäßig ausgeführt, da Funktionen Vorrang gegenüber Cmdlets haben. Wenn Sie einen Alias in eine Sitzung importieren, die einen Alias mit dem gleichen Namen enthält, wird der ursprüngliche Alias dagegen immer verwendet, da Aliase Vorrang gegenüber Funktionen haben. Weitere Informationen finden Sie unter "about_Command_Precedence".
Import-PSSession zeigt den Status des Befehls mit dem Cmdlet "Write-Progress" an. Möglicherweise wird während der Ausführung des Befehls die Statusleiste angezeigt.
Um die zu importierenden Befehle zu suchen, führt Import-PSSession den Befehl "Get-Command" in der PSSession mithilfe des Cmdlets "Invoke-Command" aus. Formatierungsdaten für die Befehle werden mit dem Cmdlet "Get-FormatData" abgerufen. Wenn Sie den Befehl "Import-PSSession" ausführen, werden möglicherweise Fehlermeldungen für Invoke-Command, Get-Command und Get-FormatData angezeigt. Mit Import-PSSession können außerdem keine Befehle aus einer PSSession importiert werden, in der die Cmdlets "Get-Command", "Get-FormatData", "Select-Object" und "Get-Help" nicht enthalten sind.
Importierte Befehle weisen die gleichen Einschränkungen wie andere Remotebefehle auf, einschließlich der fehlenden Möglichkeit, ein Programm mit einer Benutzeroberfläche, z. B. Editor, zu starten.
Da in PSSessions keine Windows PowerShell-Profile ausgeführt werden, sind die Befehle, die einer Sitzung von einem Profil hinzufügt werden, für Import-PSSession nicht verfügbar. Um Befehle aus einem Profil zu importieren, führen Sie das Profil mit dem Befehl "Invoke-Command" manuell in der PSSession aus, bevor Sie Befehle importieren.
Das temporäre Modul, mit dem Import-PSSession erstellt wird, könnte eine Formatierungsdatei einschließen, auch wenn mit dem Befehl keine Formatierungsdaten importiert werden. Wenn mit dem Befehl keine Formatierungsdaten importiert werden, enthalten die erstellten Formatierungsdateien keine Formatierungsdaten.
Zur Verwendung von Import-PSSession darf die Ausführungsrichtlinie in der aktuellen Sitzung nicht "Restricted" oder "AllSigned" lauten, weil das Modul, das von Import-PSSession erstellt wird, nicht signierte Skriptdateien enthält, die von diesen Richtlinien verhindert werden. Um Import-PSSession zu verwenden, ohne die Ausführungsrichtlinie für den lokalen Computer zu ändern, verwenden Sie den Scope-Parameter von Set-ExecutionPolicy, um eine weniger restriktive Ausführungsrichtlinie für einen einzelnen Prozess festzulegen.
Beispiel 1
C:\PS>$s = new-pssession -computername Server01
C:\PS> import-pssession -session $s
Beschreibung
-----------
Mit diesem Befehl werden alle Befehle aus einer PSSession auf dem Computer "Server01" in die aktuelle Sitzung importiert, ausgenommen Befehle, die den gleichen Namen wie Befehle in der aktuellen Sitzung aufweisen.
Da dieser Befehl keinen CommandName-Parameter verwendet, importiert er auch alle für die importierten Befehle erforderlichen Formatierungsdaten.
Beispiel 2
C:\PS>$s = new-pssession https://ps.testlabs.com/powershell
C:\PS> import-pssession -session $s -commandname *-test -formatTypeName *
C:\PS> new-test -name test1
C:\PS> get-test test1 | run-test
Beschreibung
-----------
Mit diesen Befehlen werden die Befehle, deren Namen auf "-test" enden, aus einer PSSession in die lokale Sitzung importiert, und dann die Verwendung eines importierten Cmdlets veranschaulicht.
Im ersten Befehl wird mit dem Cmdlet "New-PSSession" eine PSSession erstellt. Die PSSession wird in der Variablen "$s" gespeichert.
Im zweiten Befehl werden mit dem Cmdlet "Import-PSSession" Befehle aus der PSSession in $s in die aktuelle Sitzung importiert. Er verwendet den CommandName-Parameter, um Befehle mit dem Substantiv "Test" anzugeben, und den FormatTypeName-Parameter, um die Formatierungsdaten für die Testbefehle zu importieren.
Im dritten und vierten Befehl werden die importierten Befehle in der aktuellen Sitzung verwendet. Da importierte Befehle eigentlich der aktuellen Sitzung hinzugefügt werden, führen Sie sie mithilfe der lokalen Syntax aus. Sie müssen einen importierten Befehl nicht mit dem Cmdlet "Invoke-Command" ausführen.
Beispiel 3
C:\PS>$s1 = new-pssession -computername s1
C:\PS> $s2 = new-pssession -computername s2
C:\PS> import-pssession -session s1 -type cmdlet -name New-Test, Get-Test -FormatTypeName *
C:\PS> import-pssession -session s2 -type cmdlet -name Set-Test -FormatTypeName *
C:\PS> new-test Test1 | set-test -runtype full
Beschreibung
-----------
In diesem Beispiel wird gezeigt, dass Sie importierte Cmdlets auf die gleiche Weise wie lokale Cmdlets verwenden können.
Mit diesen Befehlen werden die Cmdlets "New-Test" und "Get-Test" aus einer PSSession auf dem Computer "Server01" und das Cmdlet "Set-Test" aus einer PSSession auf dem Computer "Server02" importiert.
Obwohl die Cmdlets aus unterschiedlichen PSSessions importiert wurden, können Sie ein Objekt ohne Fehler über die Pipeline von einem Cmdlet an ein anderes Cmdlet übergeben.
Beispiel 4
C:\PS>$s = new-pssession -computername Server01
C:\PS> import-pssession -session $s -commandname *-test* -formattypename *
C:\PS> $batch = new-test -name Batch -asjob
C:\PS> receive-job $batch
Beschreibung
-----------
In diesem Beispiel wird gezeigt, wie ein importierter Befehl als Hintergrundauftrag ausgeführt wird.
Da die Ausführung von importierten Befehlen länger dauern kann als die Ausführung von lokalen Befehlen, fügt Import-PSSession jedem importierten Befehl einen AsJob-Parameter hinzu. Mit dem AsJob-Parameter können Sie den Befehl als Hintergrundauftrag ausführen.
Im ersten Befehl wird auf dem Computer "Server01" eine PSSession erstellt und das PSSession-Objekt in der Variablen "$s" gespeichert.
Im zweiten Befehl werden die Test-Cmdlets mit Import-PSSession aus der PSSession in $s in die aktuelle Sitzung importiert.
Im dritten Befehl wird der Befehl "New-Test" mithilfe des AsJob-Parameters des importierten Cmdlets "New-Test" als Hintergrundauftrag ausgeführt. Das Auftragsobjekt, das von New-Test zurückgegeben wird, wird vom Befehl in der Variablen "$batch" gespeichert.
Im vierten Befehl werden die Ergebnisse des Auftrags in der Variablen "$batch" mit dem Cmdlet "Receive-Job" abgerufen.
Beispiel 5
C:\PS>$s = new-pssession -comp Server01
C:\PS> invoke-command -session $s {import-module TestManagement}
C:\PS> import-pssession -session $s -module TestManagement
Beschreibung
-----------
In diesem Beispiel wird gezeigt, wie die Cmdlets und Funktionen aus einem Windows PowerShell-Modul auf einem Remotecomputer in die aktuelle Sitzung importiert werden.
Im ersten Befehl wird auf dem Computer "Server01" eine PSSession erstellt und in der Variablen "$s" gespeichert.
Im zweiten Befehl wird der Befehl "Import-Module" in der PSSession in $s mit dem Cmdlet "Invoke-Command" ausgeführt.
Normalerweise wird das Modul mit dem Befehl "Import-Module" in einem Windows PowerShell-Profil allen Sitzungen hinzugefügt, jedoch werden in PSSessions keine Profile ausgeführt.
Im dritten Befehl werden die Cmdlets und Funktionen im Modul mithilfe des Module-Parameters von Import-PSSession in die aktuelle Sitzung importiert.
Beispiel 6
C:\PS>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 : {}
Beschreibung
-----------
Dieses Beispiel zeigt, dass Import-PSSession ein Modul einer temporären Datei auf Datenträger erstellt. Es enthält auch alle Befehle, die vor dem Import in die aktuelle Sitzung in Funktionen konvertiert werden.
Mit dem Befehl wird das Cmdlet "Import-PSSession" verwendet, um ein Cmdlet "Get-Date" und eine SearchHelp-Funktion in die aktuelle Sitzung zu importieren.
Das Cmdlet "Import-PSSession" gibt ein PSModuleInfo-Objekt zurück, das das temporäre Modul darstellt. Der Wert der Path-Eigenschaft zeigt, dass Import-PSSession eine Skriptmoduldatei (.psm1) an einem temporären Speicherort erstellt hat. Die ExportedFunctions-Eigenschaft zeigt, dass das Cmdlet "Get-Date" und die SearchHelp-Funktion beide als Funktionen importiert wurden.
Beispiel 7
C:\PS>import-pssession $s -CommandName Get-Date -formatTypeName * -AllowClobber
C:\PS> get-command get-date
CommandType Name Definition
----------- ---- ----------
Function Get-Date ...
Cmdlet Get-Date Get-Date [[-Date] <DateTime>] [-Year <Int32>] [-Month <Int32>]
C:\PS> Get-Date
09074
C:\PS> (get-command -type cmdlet -name get-date).pssnapin.name
Microsoft.PowerShell.Utility
C:\PS> Microsoft.PowerShell.Utility\get-date
Sunday, March 15, 2009 2:08:26 PM
Beschreibung
-----------
In diesem Beispiel wird gezeigt, wie ein Befehl, der von einem importierten Befehl ausgeblendet wird, ausgeführt wird.
Mit dem ersten Befehl wird das Cmdlet "Get-Date" aus der PSSession in die Variable "$s" importiert. Da die aktuelle Sitzung das Cmdlet "Get-Date" enthält, ist der AllowClobber-Parameter im Befehl erforderlich.
Im zweiten Befehl wird das Cmdlet "Get-Command" verwendet, um die Get-Date-Befehle in der aktuellen Sitzung abzurufen. Die Ausgabe zeigt, dass die Sitzung das ursprüngliche Cmdlet "Get-Date" und eine Get-Date-Funktion enthält. Die Get-Date-Funktion führt das importierte Cmdlet "Get-Date" in der PSSession in $s aus.
Der dritte Befehl führt einen Get-Date-Befehl aus. Da Funktionen Vorrang gegenüber Cmdlets haben, führt Windows PowerShell die importierte Get-Date-Funktion aus, die ein julianisches Datum zurückgibt.
Der vierte und fünfte Befehl zeigt, wie ein qualifizierter Name verwendet wird, um einen Befehl auszuführen, der von einem importierten Befehl ausgeblendet wird.
Mit dem vierten Befehl wird der Name des Windows PowerShell-Snap-Ins abgerufen, mit dem das ursprüngliche Cmdlet "Get-Date" der aktuellen Sitzung hinzugefügt wurde.
Mit dem fünften Befehl wird der Snap-In-qualifizierte Name des Cmdlets "Get-Date" verwendet, um einen Get-Date-Befehl auszuführen.
Weitere Informationen zur Befehlsrangfolge und ausgeblendeten Befehlen finden Sie unter "about_Command_Precedence".
Beispiel 8
C:\PS>import-pssession -session $s -commandName *Item* -AllowClobber
Beschreibung
-----------
Mit diesem Befehl werden Befehle importiert, deren Namen "Item" aus der PSSession in $s einschließen. Da der Befehl den CommandName-Parameter, aber keinen FormatTypeData-Parameter enthält, wird nur der Befehl importiert.
Verwenden Sie diesen Befehl, wenn Sie einen Befehl auf einem Remotecomputer mithilfe von Import-PSSession ausführen und Sie bereits über die Formatierungsdaten für den Befehl in der aktuellen Sitzung verfügen.
Beispiel 9
C:\PS>$m = import-pssession -session $s -CommandName *bits* -formattypename *bits*
C:\PS> 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
Beschreibung
-----------
Dieser Befehl zeigt, wie der Module-Parameter von Get-Command verwendet wird, um herauszufinden, welche Befehle mit einem Import-PSSession-Befehl in die Sitzung importiert wurden.
Mit dem ersten Befehl wird das Cmdlet "Import-PSSession" verwendet, um Befehle zu importieren, deren Namen "bits" aus der PSSession in die Variable "$s" einschließen. Der Befehl "Import-PSSession" gibt ein temporäres Modul zurück, und der Befehl speichert das Modul in der Variablen "$m".
Mit dem zweiten Befehl wird das Cmdlet "Get-Command" verwendet, um die Befehle abzurufen, die vom Modul in der Variablen "$m" exportiert werden.
Der Module-Parameter akzeptiert einen Zeichenfolgenwert, der für den Modulnamen vorgesehen ist. Wenn Sie ein Modulobjekt senden, verwendet Windows PowerShell jedoch die ToString-Methode für das Modulobjekt, das den Modulnamen zurückgibt.
Der Befehl "Get-Command" entspricht "get-command $m.name".
Siehe auch
Konzepte
about_Command_Precedence
New-PSSession
Export-PSSession
about_Jobs
about_PSSessions