この PowerShell スクリプトは、Microsoft Entra Internet Access 転送ポリシーにカスタム バイパス規則をプログラムで追加する方法を示しています。 このスクリプトは、"カスタム バイパス" 転送ポリシーを検索し、指定されたドメインをバイパスするサンプル ルールを追加します。
このサンプルには、 Microsoft Graph Beta PowerShell モジュール 2.10 以降が必要です。
重要な考慮事項
- 管理者特権の PowerShell セッションから管理者として PowerShell スクリプトを実行します。
- Microsoft.Graph.Beta モジュールをインストールしてください。
Install-Module Microsoft.Graph.Beta -AllowClobber -Force -
Connect-MgGraphに使用するアカウントには、次のアクセス許可が必要です。- Policy.Read.All
- ネットワークアクセス.読み書き.すべて
サンプル スクリプト
# bypassscript.ps1 adds sample endpoints to the custom bypass policy in the internet access forwarding profile
#
# Version 1.0
#
# This script requires following
# - PowerShell 5.1 (x64) or beyond
# - Module: Microsoft.Graph.Beta
#
# Before you begin:
# - Make sure you are running PowerShell as an Administrator
# - Make sure you run: Install-Module Microsoft.Graph.Beta -AllowClobber -Force
# - Make sure the account used for Connect-MgGraph has the following permissions:
# - Policy.Read.All
# - NetworkAccess.ReadWrite.All
#
if (-not (Get-Module -ListAvailable -Name Microsoft.Graph.Beta.Identity.SignIns)) {
Write-Host "Module Microsoft.Graph.Beta.Identity.SignIns is not installed. Please install it using: Install-Module Microsoft.Graph.Beta -AllowClobber"
exit
}
Import-Module Microsoft.Graph.Beta.Identity.SignIns
Connect-MgGraph -Scopes "Policy.Read.All,NetworkAccess.ReadWrite.All"
# Find out custom bypass forwarding policy id
$custombypass = $null
$forwardingpolicies = Invoke-MgGraphRequest -Method GET -Uri "https://graph.microsoft.com/beta/networkaccess/forwardingpolicies"
foreach ($policy in $forwardingpolicies.value) {
if ($policy.name -eq "Custom Bypass"){
$custombypass = $policy.id
}
}
if ($custombypass -eq $null) {
Write-Host "Could not find the IA custom bypass forwarding policy. Exiting."
exit
}
# First, Bypass the Intune endpoints
$samplerule = [PSCustomObject]@{
name = "Sample FQDN bypass rule"
action = "bypass"
destinations = @()
ruleType = "fqdn"
ports = @("80", "443")
protocol = "tcp"
'@odata.type' = "#microsoft.graph.networkaccess.internetAccessForwardingRule"
}
$sampledomains = @(
"bing.com",
"*.bing.com"
)
foreach ($sampledomain in $sampledomains) {
$fqdn = [PSCustomObject]@{
'@odata.type' = "#microsoft.graph.networkaccess.fqdn"
value = $sampledomain
}
$samplerule.destinations += $fqdn
}
$body = $samplerule | ConvertTo-Json
Invoke-MgGraphRequest -Method POST -Uri "https://graph.microsoft.com/beta/networkaccess/forwardingPolicies('$($custombypass)')/policyRules" -Body $body -ContentType "application/json"
# Next, Bypass the sample IP-based endpoints
$sampleipbypassrule = [PSCustomObject]@{
name = "Sample IP bypass rule"
action = "bypass"
destinations = @()
ruleType = "ipSubnet"
ports = @("80", "443")
protocol = "tcp"
'@odata.type' = "#microsoft.graph.networkaccess.internetAccessForwardingRule"
}
$sampleipbypassdomains = @(
"1.2.3.4/32"
)
foreach ($sampleipbypassdomain in $sampleipbypassdomains) {
$ip = [PSCustomObject]@{
'@odata.type' = "#microsoft.graph.networkaccess.ipSubnet"
value = $sampleipbypassdomain
}
$sampleipbypassrule.destinations += $ip
}
$body = $sampleipbypassrule | ConvertTo-Json
Invoke-MgGraphRequest -Method POST -Uri "https://graph.microsoft.com/beta/networkaccess/forwardingPolicies('$($custombypass)')/policyRules" -Body $body -ContentType "application/json"