Add-VMNetworkAdapterExtendedAcl

Add-VMNetworkAdapterExtendedAcl

Creates an extended ACL for a virtual network adapter.

语法

Parameter Set: VMName
Add-VMNetworkAdapterExtendedAcl [-VMName] <String[]> [-Action] <VMNetworkAdapterExtendedAclAction> {Allow | Deny} [-Direction] <VMNetworkAdapterExtendedAclDirection> {Inbound | Outbound} [[-LocalIPAddress] <String> ] [[-RemoteIPAddress] <String> ] [[-LocalPort] <String> ] [[-RemotePort] <String> ] [[-Protocol] <String> ] [-Weight] <Int32]> [-CimSession <Microsoft.Management.Infrastructure.CimSession[]> ] [-ComputerName <String[]> ] [-Credential <System.Management.Automation.PSCredential[]> ] [-IdleSessionTimeout <Int32]> ] [-IsolationID <Int32]> ] [-Passthru] [-Stateful <Boolean]> ] [-VMNetworkAdapterName <String> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: ManagementOS
Add-VMNetworkAdapterExtendedAcl [-Action] <VMNetworkAdapterExtendedAclAction> {Allow | Deny} [-Direction] <VMNetworkAdapterExtendedAclDirection> {Inbound | Outbound} [[-LocalIPAddress] <String> ] [[-RemoteIPAddress] <String> ] [[-LocalPort] <String> ] [[-RemotePort] <String> ] [[-Protocol] <String> ] [-Weight] <Int32]> -ManagementOS [-CimSession <Microsoft.Management.Infrastructure.CimSession[]> ] [-ComputerName <String[]> ] [-Credential <System.Management.Automation.PSCredential[]> ] [-IdleSessionTimeout <Int32]> ] [-IsolationID <Int32]> ] [-Passthru] [-Stateful <Boolean]> ] [-VMNetworkAdapterName <String> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: ResourceObject
Add-VMNetworkAdapterExtendedAcl [-VMNetworkAdapter] <VMNetworkAdapterBase[]> [-Action] <VMNetworkAdapterExtendedAclAction> {Allow | Deny} [-Direction] <VMNetworkAdapterExtendedAclDirection> {Inbound | Outbound} [[-LocalIPAddress] <String> ] [[-RemoteIPAddress] <String> ] [[-LocalPort] <String> ] [[-RemotePort] <String> ] [[-Protocol] <String> ] [-Weight] <Int32]> [-IdleSessionTimeout <Int32]> ] [-IsolationID <Int32]> ] [-Passthru] [-Stateful <Boolean]> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: VMObject
Add-VMNetworkAdapterExtendedAcl [-VM] <VirtualMachine[]> [-Action] <VMNetworkAdapterExtendedAclAction> {Allow | Deny} [-Direction] <VMNetworkAdapterExtendedAclDirection> {Inbound | Outbound} [[-LocalIPAddress] <String> ] [[-RemoteIPAddress] <String> ] [[-LocalPort] <String> ] [[-RemotePort] <String> ] [[-Protocol] <String> ] [-Weight] <Int32]> [-IdleSessionTimeout <Int32]> ] [-IsolationID <Int32]> ] [-Passthru] [-Stateful <Boolean]> ] [-VMNetworkAdapterName <String> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

详细说明

The Add-VMNetworkAdapterExtendedAcl cmdlet creates an extended access control list (ACL) for a virtual network adapter. The ACL allows or denies access to a virtual machine network adapter for network packets based on source IP address, destination IP address, protocol, source port, and destination port.

参数

-Action<VMNetworkAdapterExtendedAclAction>

Specifies the action for the ACL. 此参数的可接受值是:

-- Allow
-- Deny

别名

none

是否必需?

true

在哪里?

2

默认值

None

是否接受管道输入?

false

是否接受通配符?

false

-CimSession<Microsoft.Management.Infrastructure.CimSession[]>

在远程会话中或远程计算机上运行该 cmdlet。输入计算机名或会话对象,如 New-cimsessionGet-cimsession cmdlet 的输出。默认为本地计算机上的当前会话。

别名

none

是否必需?

false

在哪里?

named

默认值

none

是否接受管道输入?

false

是否接受通配符?

false

-ComputerName<String[]>

Specifies an array of Hyper-V hosts. The cmdlet adds the ACL to the network adapters on the Hyper-V hosts that you specify.

别名

none

是否必需?

false

在哪里?

named

默认值

none

是否接受管道输入?

false

是否接受通配符?

false

-Credential<System.Management.Automation.PSCredential[]>

Specifies one or more user accounts that have permission to perform this action. The default is the current user.

别名

none

是否必需?

false

在哪里?

named

默认值

none

是否接受管道输入?

false

是否接受通配符?

false

-Direction<VMNetworkAdapterExtendedAclDirection>

Specifies the direction of network traffic, from the perspective of the virtual machine, to which the ACL applies. The cmdlet adds an ACL that has the value that you specify. 此参数的可接受值是:

-- Inbound
-- Outbound

If you run the Get-VMNetworkAdapterExtendedAcl cmdlet, the entry that you create appears in both the inbound ACL and the outbound ACL.

别名

none

是否必需?

true

在哪里?

3

默认值

none

是否接受管道输入?

false

是否接受通配符?

false

-IdleSessionTimeout<Int32]>

Specifies a time-out period, in seconds, for idle sessions.

别名

none

是否必需?

false

在哪里?

named

默认值

none

是否接受管道输入?

false

是否接受通配符?

false

-IsolationID<Int32]>

Specifies an ID of a virtual subnet. The cmdlet adds an ACL that applies to traffic on the isolated network that you specify. The subnet uses virtual local area network (VLAN) or Hyper-V Network Virtualization. For more information about isolation IDs, see the Set-VmNetworkAdapterIsolation cmdlet.

别名

none

是否必需?

false

在哪里?

named

默认值

none

是否接受管道输入?

false

是否接受通配符?

false

-LocalIPAddress<String>

Specifies the local IP address for the ACL. For an inbound packet, the local address is the destination IP address. For an outbound packet, the local address is the source IP address. You can specify a host address or a subnet address, or specify a wildcard, such as 0.0.0.0/0 for all IPv4 addresses, ::/0 for all IPv6 addresses, or ANY for all IPv4 and IPv6 addresses.

别名

none

是否必需?

false

在哪里?

4

默认值

none

是否接受管道输入?

false

是否接受通配符?

false

-LocalPort<String>

Specifies the local port for the ACL. For an inbound TCP or UDP packet, the local port is the destination port. For an outbound packet, the local port is the source port.

别名

none

是否必需?

false

在哪里?

6

默认值

none

是否接受管道输入?

false

是否接受通配符?

false

-ManagementOS

Indicates that the cmdlet operates on the parent or host operating system. If you specify this parameter, this cmdlet creates an ACL that applies to the parent or host operating system.

别名

none

是否必需?

true

在哪里?

named

默认值

none

是否接受管道输入?

false

是否接受通配符?

false

-Passthru

返回一个对象,该对象表示所使用的项。默认情况下,此 cmdlet 不生成任何输出。

别名

none

是否必需?

false

在哪里?

named

默认值

none

是否接受管道输入?

false

是否接受通配符?

false

-Protocol<String>

Specifies the protocol that the ACL applies to. 此参数的可接受值是:

-- TCP
-- UDP
-- ICMP
-- an integer IP protocol ID

别名

none

是否必需?

false

在哪里?

8

默认值

none

是否接受管道输入?

false

是否接受通配符?

false

-RemoteIPAddress<String>

Specifies the local IP address for the ACL. For an inbound packet, the remote address is the source IP address. For an outbound packet, the remote address is the destination IP address. You can specify a host address or a subnet address, or specify a wildcard, such as 0.0.0.0/0 for all IPv4 addresses, ::/0 for all IPv6 addresses, or ANY for all IPv4 and IPv6 addresses.

别名

none

是否必需?

false

在哪里?

5

默认值

none

是否接受管道输入?

false

是否接受通配符?

false

-RemotePort<String>

Specifies the remote port for the ACL. For an inbound TCP or UDP packet, the remote port is the source port. For an outbound packet, the remote port is the destination port.

别名

none

是否必需?

false

在哪里?

7

默认值

none

是否接受管道输入?

false

是否接受通配符?

false

-Stateful<Boolean]>

Indicates whether the ACL applies to packets in both directions of the same session. If you specify a value of $True, the ACL applies to a return packet even though that packet has the opposite direction with respect to the ACL.

别名

none

是否必需?

false

在哪里?

named

默认值

none

是否接受管道输入?

false

是否接受通配符?

false

-VM<VirtualMachine[]>

Specifies an array of virtual machine objects. The cmdlet adds an ACL for the virtual machines that you specify. To obtain a virtual machine object, use the Get-VM cmdlet.

别名

none

是否必需?

true

在哪里?

1

默认值

none

是否接受管道输入?

True (ByValue)

是否接受通配符?

false

-VMName<String[]>

Specifies an array of names of virtual machines. The cmdlet adds an ACL for the virtual machines that you specify.

别名

none

是否必需?

true

在哪里?

1

默认值

none

是否接受管道输入?

True (ByValue)

是否接受通配符?

false

-VMNetworkAdapter<VMNetworkAdapterBase[]>

Specifies an array VM network adapters as VMNetworkAdapterBase objects. The cmdlet adds an ACL to the adapters that you specify. To obtain a network adapter, use the Get-VMNetworkAdapter cmdlet.

别名

none

是否必需?

true

在哪里?

1

默认值

none

是否接受管道输入?

True (ByValue)

是否接受通配符?

false

-VMNetworkAdapterName<String>

Specifies the name of a virtual network adapter. The cmdlet adds an ACL to the adapter that you specify.

别名

none

是否必需?

false

在哪里?

named

默认值

none

是否接受管道输入?

false

是否接受通配符?

false

-Weight<Int32]>

Specifies the weight of an ACL entry. Larger weight values apply first, and once an ACL entry applies to a packet, other entries are no longer relevant for that packet.

别名

none

是否必需?

true

在哪里?

9

默认值

none

是否接受管道输入?

false

是否接受通配符?

false

-Confirm

在运行 cmdlet 前提示你进行确认。

是否必需?

false

在哪里?

named

默认值

false

是否接受管道输入?

false

是否接受通配符?

false

-WhatIf

显示在 cmdlet 运行时将发生的情况。该 cmdlet 不运行。

是否必需?

false

在哪里?

named

默认值

false

是否接受管道输入?

false

是否接受通配符?

false

<CommonParameters>

此 cmdlet 支持常见的参数:-Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer 和 -OutVariable。有关详细信息,请参阅 TechNet 上的 about_CommonParameters (https://go.microsoft.com/fwlink/p/?LinkID=113216)。

输入

输入类型是可以传送到 cmdlet 的对象的类型。

  • None

输出

输出类型是 cmdlet 发出的对象的类型。

  • Microsoft.HyperV.PowerShell.VMNetworkAdapterExtendedAclSetting

示例

Example 1: Create an ACL for Remote Desktop Protocol

This command creates a stateful inbound ACL that allows a remote device to connect to the virtual machine on port 3389, which is the port for Remote Desktop Protocol.

PS C:\> Add-VMNetworkAdapterExtendedAcl -VMName "TSQA01" -Action Allow -Direction Inbound -LocalPort "3389" -Protocol "TCP" -Weight 10 -Stateful $True

Example 2: Create an ACL to initiate a connection with timeout

This command creates a stateful ACL that allows outbound packets to a remote device by using TCP. If there is no activity for 3600 seconds, the connection times out.

PS C:\> Add-VMNetworkAdapterExtendedAcl -VMName "TSQA03" -Action Allow -Direction Outbound -RemotePort "80" -Protocol "TCP" -Weight 100 -Timeout 3600 -Stateful $True 

相关主题

Get-VMNetworkAdapterExtendedAcl

Remove-VMNetworkAdapterExtendedAcl

Get-VM

Set-VmNetworkAdapterIsolation