Set-SCVirtualCOMPort
修改虛擬機器、虛擬機器範本或硬體設定檔之虛擬 COM 埠的屬性。
Syntax
Set-SCVirtualCOMPort
[-VMMServer <ServerConnection>]
-GuestPort <Byte>
-VMHostCOMPort <Byte>
[-WaitForModem <Boolean>]
-JobGroup <Guid>
[-RunAsynchronously]
[-PROTipID <Guid>]
[-JobVariable <String>]
[<CommonParameters>]
Set-SCVirtualCOMPort
[-VMMServer <ServerConnection>]
-GuestPort <Byte>
-TextFile <String>
-JobGroup <Guid>
[-RunAsynchronously]
[-PROTipID <Guid>]
[-JobVariable <String>]
[<CommonParameters>]
Set-SCVirtualCOMPort
[-VMMServer <ServerConnection>]
-GuestPort <Byte>
[-NoAttach]
-JobGroup <Guid>
[-RunAsynchronously]
[-PROTipID <Guid>]
[-JobVariable <String>]
[<CommonParameters>]
Set-SCVirtualCOMPort
[-VMMServer <ServerConnection>]
-GuestPort <Byte>
-NamedPipe <String>
-JobGroup <Guid>
[-RunAsynchronously]
[-PROTipID <Guid>]
[-JobVariable <String>]
[<CommonParameters>]
Set-SCVirtualCOMPort
[-VirtualCOMPort] <VirtualCOMPort>
-TextFile <String>
[-JobGroup <Guid>]
[-RunAsynchronously]
[-PROTipID <Guid>]
[-JobVariable <String>]
[<CommonParameters>]
Set-SCVirtualCOMPort
[-VirtualCOMPort] <VirtualCOMPort>
[-NoAttach]
[-JobGroup <Guid>]
[-RunAsynchronously]
[-PROTipID <Guid>]
[-JobVariable <String>]
[<CommonParameters>]
Set-SCVirtualCOMPort
[-VirtualCOMPort] <VirtualCOMPort>
-VMHostCOMPort <Byte>
[-WaitForModem <Boolean>]
[-JobGroup <Guid>]
[-RunAsynchronously]
[-PROTipID <Guid>]
[-JobVariable <String>]
[<CommonParameters>]
Set-SCVirtualCOMPort
[-VirtualCOMPort] <VirtualCOMPort>
-NamedPipe <String>
[-JobGroup <Guid>]
[-RunAsynchronously]
[-PROTipID <Guid>]
[-JobVariable <String>]
[<CommonParameters>]
Description
Set-SCVirtualCOMPort Cmdlet 會修改虛擬通訊 (COM) 埠的一或多個屬性。 虛擬 COM 埠是 Virtual Machine Manager (VMM) 環境中使用的虛擬機器、虛擬機器範本或硬體設定檔的一部分。 使用 VirtualCOMPort 參數指定 COM 埠,或指定 GuestPort 參數的虛擬 COM 埠識別碼。 GuestPort的有效值為零 (0) ,以及一個 (1) 。
此 Cmdlet 可以將虛擬 COM 埠連線到實體 COM 埠、文字檔或具名管道。 此 Cmdlet 可以中斷虛擬 COM 埠的連線。 如果您將虛擬機器上的虛擬 COM 埠連接到其主機上的實體 COM 埠,則虛擬機器可以使用實體 COM 埠進行輸入和輸出。 主機類型支援下列虛擬 COM 埠連線類型:
- Hyper-V。 僅連接到具名管道。
- VMware ESX。 連接到實體 COM 埠、文字檔或具名管道。
- Citrix XenServer。 不支援。
WaitForModem參數會指定虛擬機器上的虛擬 COM 埠是否會在虛擬機器啟動時立即連線到主機上的實體 COM 埠。
如果您為 WaitForModem指定$True值,則只有在虛擬機器上執行的程式將數據機命令傳送至實體 COM 埠時,虛擬機器才會嘗試連線到主機上的實體 COM 埠。 如果主機的 COM 通訊埠已經連線,虛擬機器便無法連線至該 COM 通訊埠。 如果虛擬機器成功連線到實體 COM 埠,如果使用 COM 埠的虛擬機器上的程式使用 COM 埠停止,虛擬機器稍後會將實體 COM 埠釋放回主機作業系統。
如果您為 WaitForModem指定$False值,虛擬機器會在虛擬機器啟動時嘗試連線到主機上的實體 COM 埠。 如果主機上的 COM 埠已經擷取,虛擬機器就無法連線到該埠。 這與 $True 值的行為相同。 如果虛擬機器成功連線到實體 COM 埠,則虛擬機器不會將實體 COM 埠釋放回主機作業系統,直到虛擬機器關閉為止。
範例
範例 1:將虛擬 COM 埠連線至具名管道
PS C:\> $VM = Get-SCVirtualMachine -Name "VM02"
PS C:\> $COM1 = Get-SCVirtualCOMPort -VM $VM | where {$_.Name -eq "COM1"}
PS C:\> Set-SCVirtualCOMPort -VirtualCOMPort $COM1 -NamedPipe "\\Contoso\Pipe\PipeName"
第一個命令會取得名為 VM02 的虛擬機器,然後將該物件儲存在 $VM 變數中。
第二個命令會從 VM02 取得名為 COM1 的虛擬 COM 埠,然後將該物件儲存在 $COM 1 變數中。
最後一個命令會將 $COM 1 中的虛擬 COM 埠連線到具名管道 \Contoso\Pipe\PipeName。
範例 2:中斷虛擬 COM 埠的連線
PS C:\> $VM = Get-SCVirtualMachine -Name "VM04"
PS C:\> $COM1 = Get-SCVirtualCOMPort -VM $VM | where {$_.Name -eq "COM1"}
PS C:\> Set-SCVirtualCOMPort -VirtualCOMPort $COM1 -NoAttach
第一個命令會取得名為 VM04 的虛擬機器,然後將該物件儲存在$VM變數中。
第二個命令會取得 VM04 上名為 COM1 的虛擬 COM 埠,然後將該物件儲存在 $COM 1 變數中。
最後一個命令會指定 NoAttach 參數。 這會導致命令中斷 $COM 1 中虛擬 COM 埠的連線。 您可以使用這個命令中斷目前連線至主機上實體 COM 通訊埠、具名管道或文字檔案之虛擬 COM 通訊埠的連線。
參數
-GuestPort
指定虛擬機器上虛擬 COM 埠的識別碼。 有效值為:0 和 1。
Type: | Byte |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-JobGroup
指定一系列命令的識別碼,這些命令會在包含相同作業群組識別碼的執行的最後一個命令之前,以集合的形式執行。
Type: | Guid |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-JobVariable
指定追蹤和儲存作業進度的變數。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NamedPipe
指定虛擬 COM 埠連接的具名管道。 一般用途包括將虛擬機器連線到主機上的偵錯程式。 您也可以在兩部虛擬機器之間建立虛擬 Null 數據機纜線。 以下列格式指定管道:\.\ComputerName\Pipe\PipeName
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NoAttach
指出此 Cmdlet 指定主機、具名管道或檔案上沒有任何實體 COM 埠連接到虛擬 COM 埠。 如果您指定此參數,Cmdlet 會中斷已連線到實體 COM 埠、具名管道或文字檔的虛擬 COM 埠。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PROTipID
指定觸發此動作的效能與資源最佳化 (PRO) 提示識別碼。 這可讓您稽核 PRO 秘訣。
Type: | Guid |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RunAsynchronously
表示作業會以非同步方式執行,讓控制項立即返回命令殼層。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-TextFile
指定虛擬 COM 埠所連線之主機上的文字檔。 虛擬機器會從這個參數指定的文字檔,從虛擬 COM 埠傳送輸出。 文字檔案可以位於主機上任何有效的磁碟機。
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-VirtualCOMPort
指定這個 Cmdlet 修改的虛擬 COM 埠物件。 VMM 支援在虛擬機器、範本或硬體設定檔上設定兩個 COM 通訊埠。
Type: | VirtualCOMPort |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-VMHostCOMPort
指定虛擬機器可以連接虛擬 COM 埠之主機伺服器上的實體 COM 埠物件。
Type: | Byte |
Aliases: | HostPort |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-VMMServer
指定 VMM 伺服器。
Type: | ServerConnection |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-WaitForModem
指出虛擬機器上的虛擬 COM 埠是否會在虛擬機器啟動時立即連線到主機上的實體 COM 埠。
如果您指定值$True,虛擬 COM 埠會等候連線到主機上的實體 COM 埠。 如果您指定值$False,虛擬 COM 埠會在虛擬機器啟動時立即連線到主機上的實體 COM 埠。
Type: | Boolean |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
輸出
VirtualCOMPort
此 Cmdlet 會傳回 VirtualCOMPort 物件。
備註
- 需要 VMM 虛擬 COM 埠物件。 您可以使用 Get-SCVirtualCOMPort Cmdlet 來擷取此物件。