> For the complete documentation index, see [llms.txt](https://docs.devolutions.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.devolutions.net/powershell/powershell-commands/new-dsvirtualgatewayaccessrule.md).

# New-DSVirtualGatewayAccessRule

## Synopsis

Create a virtual gatway access rule.

## Syntax

### \_\_AllParameterSets

```
New-DSVirtualGatewayAccessRule [-Access] <GatewayAccessRule> [-Type] <NetworkAccessRuleType>
 [-Value] <string> [<CommonParameters>]
```

## Description

Creates a virtual gateway access rule. Depending on the specified type, a corresponding regular expression is applied to validate the input value.

## Examples

### Example 1

```powershell
PS C:\> $rules = @(
    New-DSVirtualGatewayAccessRule -Access Deny -Type IP -Value '1.2.3.4'
    New-DSVirtualGatewayAccessRule -Access Deny -Type DNS 'a.com'
  )
PS C:\> $gatewayId = Get-DSGateway -Name 'GatewayA' | Select-Object -ExpandProperty ID
PS C:\> New-DSVirtualGateway -LinkedGatewayID $gatewayId -Name 'My virtual gateway' -Description 'A little description' -Rule $rules
```

Create a virtual gateway that denies access from a specific IP address and the domain 'a.com'.

### Example 2

```powershell
PS C:\> $gatewayId = Get-DSGateway -Name 'VirtualGatewayA' | Select-Object -ExpandProperty ID
PS C:\> $newRule = New-DSVirtualGatewayAccessRule -Access Deny -Type IP -Value '1.2.3.4'
PS C:\> Update-DSVirtualGateway -GatewayID $gatewayId -Rule $newRule
```

Replace all existing access rules of the virtual gateway for one that denies the IP address '1.2.3.4'.

## Parameters

### -Access

The effect of the rule.

```yaml
Type: Devolutions.PowerShell.Enums.GatewayAccessRule
DefaultValue: ''
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
  Position: 0
  IsRequired: true
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''
```

### -Type

The type of the rule.

```yaml
Type: Devolutions.RemoteDesktopManager.NetworkAccessRuleType
DefaultValue: ''
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
  Position: 1
  IsRequired: true
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''
```

### -Value

The value of the rule based on the type.

```yaml
Type: System.String
DefaultValue: ''
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
  Position: 2
  IsRequired: true
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''
```

### CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about\_CommonParameters](https://go.microsoft.com/fwlink/?LinkID=113216).

## Outputs

### Devolutions.PowerShell.PSOutputObject.PSGatewayAccessRule

## Notes

For more information, type "Get-Help New-DSVirtualGatewayAccessRule -detailed". For technical information, type "Get-Help New-DSVirtualGatewayAccessRule -full".


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.devolutions.net/powershell/powershell-commands/new-dsvirtualgatewayaccessrule.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
