PowerShellTab 物件
PowerShellTab 物件代表 Windows PowerShell 運行時間環境。
方法
Invoke( 文稿 )
Windows PowerShell ISE 2.0 和更新版本支援。
在 PowerShell 索引標籤中執行指定的腳稿。
注意
此方法只能在其他 PowerShell 索引標籤上運作,而不是執行它的來源 PowerShell 索引標籤。 它不會傳回任何物件或值。 如果程式代碼修改任何變數,則這些變更會保存在叫用命令的索引標籤上。
腳本 - System.Management.Automation.ScriptBlock 或 String 要執行的腳本區塊。
# 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 )
Windows PowerShell ISE 3.0 和更新版本中支援,且未出現在舊版中。
在 PowerShell 索引標籤中執行指定的腳稿。
注意
此方法只能在其他 PowerShell 索引標籤上運作,而不是執行它的來源 PowerShell 索引標籤。 腳本區塊會執行,而且從腳本傳回的任何值會傳回至您叫用命令的執行環境。 如果命令執行的時間比 millesecondsTimeout 值指定的時間還長,則命令會失敗,並出現例外狀況:「作業已逾時」。
腳本 - System.Management.Automation.ScriptBlock 或 String 要執行的腳本區塊。
[useNewScope] - 選擇性布爾值,預設值為 $true
If 設定為 $true
,則會在其中建立要執行命令的新範圍。 它不會修改命令所指定之 PowerShell 索引標籤的運行時間環境。
[millisecondsTimeout] - 預設為 500 的選擇性整數。 如果命令未在指定時間內完成,則命令會產生 TimeoutException ,並顯示「作業已逾時」訊息。
# 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)}
屬性
AddOnsMenu
Windows PowerShell ISE 2.0 和更新版本支援。
只讀屬性,可取得 PowerShell 索引標籤的 [附加元件] 選單。
# 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
Windows PowerShell ISE 2.0 和更新版本支援。
只讀的 Boolean 屬性,如果可以使用 Invoke( Script ) 方法叫用腳本,則會傳回$true
值。
# 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
Windows PowerShell ISE 3.0 和更新版本中支援,且未出現在舊版中。 在 Windows PowerShell ISE 2.0 中,這名為 CommandPane。
取得主控台窗格 編輯器 物件的唯讀屬性。
# Gets the Console Pane editor.
$psISE.CurrentPowerShellTab.ConsolePane
DisplayName
Windows PowerShell ISE 2.0 和更新版本支援。
可取得或設定 PowerShell 索引標籤上顯示的文字的讀寫屬性。根據預設,索引標籤會命名為 「PowerShell #」,其中 # 代表數位。
$newTab = $psISE.PowerShellTabs.Add()
# Change the DisplayName of the new PowerShell tab.
$newTab.DisplayName = 'Brand New Tab'
ExpandedScript
Windows PowerShell ISE 2.0 和更新版本支援。
可擦寫的 Boolean 屬性,決定腳本窗格是否已展開或隱藏。
# Toggle the expanded script property to see its effect.
$psISE.CurrentPowerShellTab.ExpandedScript = !$psISE.CurrentPowerShellTab.ExpandedScript
檔案
Windows PowerShell ISE 2.0 和更新版本支援。
只讀屬性,可取得 PowerShell 索引標籤中開啟的腳本檔案 集合。
$newFile = $psISE.CurrentPowerShellTab.Files.Add()
$newFile.Editor.Text = "a`r`nb"
# Gets the line count
$newFile.Editor.LineCount
輸出
這項功能存在於 Windows PowerShell ISE 2.0 中,但在更新版本的 ISE 中已移除或重新命名。 在更新版本的 Windows PowerShell ISE 中,您可以使用 ConsolePane 物件進行相同的用途。
唯讀屬性,可取得目前 編輯器的 [輸出] 窗格。
# Clears the text in the Output pane.
$psISE.CurrentPowerShellTab.output.clear()
提示
Windows PowerShell ISE 2.0 和更新版本支援。
取得目前提示文字的唯讀屬性。 注意: 提示 函式可由使用者配置檔™覆寫。 如果結果不是簡單的字串,則此屬性不會傳回任何內容。
# Gets the current prompt text.
$psISE.CurrentPowerShellTab.Prompt
ShowCommands
Windows PowerShell ISE 3.0 和更新版本中支援,且未出現在舊版中。
讀寫屬性,指出目前是否顯示 [命令] 窗格。
# 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
Windows PowerShell ISE 2.0 和更新版本支援。
取得 PowerShellTab 狀態文字的唯讀屬性。
# Gets the current status text,
$psISE.CurrentPowerShellTab.StatusText
HorizontalAddOnToolsPaneOpened
Windows PowerShell ISE 3.0 和更新版本中支援,且未出現在舊版中。
唯讀屬性,指出水準附加元件工具窗格目前是否開啟。
# Gets the current state of the horizontal Add-ons tool pane.
$psISE.CurrentPowerShellTab.HorizontalAddOnToolsPaneOpened
VerticalAddOnToolsPaneOpened
Windows PowerShell ISE 3.0 和更新版本中支援,且未出現在舊版中。
只讀屬性,指出垂直附加元件工具窗格目前是否開啟。
# Turns on the Commands pane
$psISE.CurrentPowerShellTab.ShowCommands = $true
# Gets the current state of the vertical Add-ons tool pane.
$psISE.CurrentPowerShellTab.HorizontalAddOnToolsPaneOpened