Freigeben über


Das PowerShellTab-Objekt

Das PowerShellTab--Objekt stellt eine Windows PowerShell-Laufzeitumgebung dar.

Methodik

Invoke( Skript )

Unterstützt in Windows PowerShell ISE 2.0 und höher.

Führt das angegebene Skript auf der PowerShell-Registerkarte aus.

Anmerkung

Diese Methode funktioniert nur auf anderen PowerShell-Registerkarten, nicht auf der PowerShell-Registerkarte, von der sie ausgeführt wird. Es gibt kein Objekt oder einen Wert zurück. Wenn der Code eine Variable ändert, bleiben diese Änderungen auf der Registerkarte erhalten, für die der Befehl aufgerufen wurde.

Script – System.Management.Automation.ScriptBlock oder String Der auszuführende Skriptblock.

# Manually create a second PowerShell tab before running this script.
# Return to the first PowerShell tab and type the following command
$psISE.PowerShellTabs[1].Invoke({dir})

InvokeSynchronous( Script, [useNewScope], millisecondsTimeout )

Wird in Windows PowerShell ISE 3.0 und höher unterstützt und in früheren Versionen nicht vorhanden.

Führt das angegebene Skript auf der PowerShell-Registerkarte aus.

Anmerkung

Diese Methode funktioniert nur auf anderen PowerShell-Registerkarten, nicht auf der PowerShell-Registerkarte, von der sie ausgeführt wird. Der Skriptblock wird ausgeführt, und jeder Wert, der vom Skript zurückgegeben wird, wird an die Ausführungsumgebung zurückgegeben, aus der Sie den Befehl aufgerufen haben. Wenn die Ausführung des Befehls länger dauert als die MillesecondsTimeout Werts angegeben wird, schlägt der Befehl mit einer Ausnahme fehl: "Der Vorgang ist timeout."

Script – System.Management.Automation.ScriptBlock oder String Der auszuführende Skriptblock.

[useNewScope] – Optionaler boolescher Wert, der standardmäßig auf $true Wenn auf $truefestgelegt ist, wird ein neuer Bereich erstellt, in dem der Befehl ausgeführt werden soll. Die Laufzeitumgebung der PowerShell-Registerkarte, die durch den Befehl angegeben wird, wird nicht geändert.

[millisecondsTimeout] - Optionale ganze Zahl, die standardmäßig auf 500festgelegt ist. Wenn der Befehl nicht innerhalb des angegebenen Zeitraums abgeschlossen ist, generiert der Befehl eine TimeoutException- mit der Meldung "Der Vorgang ist timeout".

# Create a new PowerShell tab and then switch back to the first
$psISE.PowerShellTabs.Add()
$psISE.PowerShellTabs.SetSelectedPowerShellTab($psISE.PowerShellTabs[0])

# Invoke a simple command on the other tab, in its own scope
$psISE.PowerShellTabs[1].InvokeSynchronous('$x=1', $false)
# You can switch to the other tab and type '$x' to see that the value is saved there.

# This example sets a value in the other tab (in a different scope)
# and returns it through the pipeline to this tab to store in $a
$a = $psISE.PowerShellTabs[1].InvokeSynchronous('$z=3;$z')
$a

# This example runs a command that takes longer than the allowed timeout value
# and measures how long it runs so that you can see the impact
Measure-Command {$psISE.PowerShellTabs[1].InvokeSynchronous('sleep 10', $false, 5000)}

Eigenschaften

AddOnsMenu

Unterstützt in Windows PowerShell ISE 2.0 und höher.

Die schreibgeschützte Eigenschaft, die das Add-Ons-Menü für die PowerShell-Registerkarte abruft.

# Clear the Add-ons menu if one exists.
$psISE.CurrentPowerShellTab.AddOnsMenu.SubMenus.Clear()
# Create an AddOns menu with an accessor.
# Note the use of "_"  as opposed to the "&" for mapping to the fast key letter for the menu item.
$menuAdded = $psISE.CurrentPowerShellTab.AddOnsMenu.SubMenus.Add('_Process', {Get-Process}, 'Alt+P')
# Add a nested menu.
$parentAdded = $psISE.CurrentPowerShellTab.AddOnsMenu.SubMenus.Add('Parent', $null, $null)
$parentAdded.SubMenus.Add('_Dir', {dir}, 'Alt+D')
# Show the Add-ons menu on the current PowerShell tab.
$psISE.CurrentPowerShellTab.AddOnsMenu

CanInvoke

Unterstützt in Windows PowerShell ISE 2.0 und höher.

Die schreibgeschützte boolesche Eigenschaft, die einen $true Wert zurückgibt, wenn ein Skript mit der Invoke( Script ) -Methode aufgerufen werden kann.

# CanInvoke will be false if the PowerShell
# tab is running a script that takes a while, and you
# check its properties from another PowerShell tab. It is
# always false if checked on the current PowerShell tab.
# Manually create a second PowerShell tab before running this script.
# Return to the first tab and type
$secondTab = $psISE.PowerShellTabs[1]
$secondTab.CanInvoke
$secondTab.Invoke({sleep 20})
$secondTab.CanInvoke

ConsolePane

Wird in Windows PowerShell ISE 3.0 und höher unterstützt und in früheren Versionen nicht vorhanden. In Windows PowerShell ISE 2.0 wurde dies CommandPanebenannt.

Die schreibgeschützte Eigenschaft, die den Konsolenbereich Editor-Objekt abruft.

# Gets the Console Pane editor.
$psISE.CurrentPowerShellTab.ConsolePane

DisplayName

Unterstützt in Windows PowerShell ISE 2.0 und höher.

Die Lese-/Schreibeigenschaft, die den Text abruft oder festlegt, der auf der PowerShell-Registerkarte angezeigt wird. Standardmäßig heißen Registerkarten "PowerShell #", wobei die #eine Zahl darstellt.

$newTab = $psISE.PowerShellTabs.Add()
# Change the DisplayName of the new PowerShell tab.
$newTab.DisplayName = 'Brand New Tab'

ExpandedScript

Unterstützt in Windows PowerShell ISE 2.0 und höher.

Die boolean-Eigenschaft mit Lese-/Schreibzugriff, die bestimmt, ob der Skriptbereich erweitert oder ausgeblendet ist.

# Toggle the expanded script property to see its effect.
$psISE.CurrentPowerShellTab.ExpandedScript = !$psISE.CurrentPowerShellTab.ExpandedScript

Dateien

Unterstützt in Windows PowerShell ISE 2.0 und höher.

Die schreibgeschützte Eigenschaft, die die Auflistung von Skriptdateien abruft,, die auf der PowerShell-Registerkarte geöffnet sind.

$newFile = $psISE.CurrentPowerShellTab.Files.Add()
$newFile.Editor.Text = "a`r`nb"
# Gets the line count
$newFile.Editor.LineCount

Ausgabe

Dieses Feature ist in Windows PowerShell ISE 2.0 vorhanden, wurde jedoch in späteren Versionen des ISE entfernt oder umbenannt. In späteren Versionen von Windows PowerShell ISE können Sie das ConsolePane--Objekt für dieselben Zwecke verwenden.

Die schreibgeschützte Eigenschaft, die den Ausgabebereich des aktuellen -Editorsabruft.

# Clears the text in the Output pane.
$psISE.CurrentPowerShellTab.Output.Clear()

Prompt

Unterstützt in Windows PowerShell ISE 2.0 und höher.

Die schreibgeschützte Eigenschaft, die den aktuellen Eingabeaufforderungstext abruft. Hinweis: Die Eingabeaufforderung Funktion kann vom Profil des Benutzers ™überschrieben werden. Wenn das Ergebnis nicht eine einfache Zeichenfolge ist, gibt diese Eigenschaft nichts zurück.

# Gets the current prompt text.
$psISE.CurrentPowerShellTab.Prompt

ShowCommands

Wird in Windows PowerShell ISE 3.0 und höher unterstützt und in früheren Versionen nicht vorhanden.

Die Eigenschaft mit Lese-/Schreibzugriff, die angibt, ob der Befehlsbereich zurzeit angezeigt wird.

# Gets the current status of the Commands pane and stores it in the $a variable
$a = $psISE.CurrentPowerShellTab.ShowCommands
# if $a is $false, then turn the Commands pane on by changing the value to $true
if (!$a) {$psISE.CurrentPowerShellTab.ShowCommands = $true}

StatusText

Unterstützt in Windows PowerShell ISE 2.0 und höher.

Die schreibgeschützte Eigenschaft, die den PowerShellTab- Statustext abruft.

# Gets the current status text,
$psISE.CurrentPowerShellTab.StatusText

HorizontalAddOnToolsPaneOpened

Wird in Windows PowerShell ISE 3.0 und höher unterstützt und in früheren Versionen nicht vorhanden.

Die schreibgeschützte Eigenschaft, die angibt, ob der horizontale Add-Ons Toolbereich zurzeit geöffnet ist.

# Gets the current state of the horizontal Add-ons tool pane.
$psISE.CurrentPowerShellTab.HorizontalAddOnToolsPaneOpened

VerticalAddOnToolsPaneOpened

Wird in Windows PowerShell ISE 3.0 und höher unterstützt und in früheren Versionen nicht vorhanden.

Die schreibgeschützte Eigenschaft, die angibt, ob der vertikale Add-Ons Toolbereich zurzeit geöffnet ist.

# Turns on the Commands pane
$psISE.CurrentPowerShellTab.ShowCommands = $true
# Gets the current state of the vertical Add-ons tool pane.
$psISE.CurrentPowerShellTab.HorizontalAddOnToolsPaneOpened

Siehe auch