共用方式為


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 來擷取此物件。