---
updatedAt: 2025-08-14T13:34:23.000Z
agentTools:
  siteIndex: https://developer.n-able.com/llms.txt
  projectIndex: https://developer.n-able.com/n-central/llms.txt
---

# Microsoft DNS Server CVE-2020-1350 Workaround

```powershell Automation Policy
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Policy ID="808cb699-1f0c-43d4-beee-99edd7c724e4" Name="CVE-2020-1350 - DNS Fix" Description="Q1ZFLTIwMjAtMTM1MCAtIEROUyBGaXgNCg0KdGhpcyBmaXhlcyBhIGJ1ZyB3aXRoIE1pY3Jvc29mdCBETlM=" Version="2.14.0.2" RemoteCategory="0" ExecutionType="Local" MinimumPSVersionRequired="0.0.0">
  <Object ID="{eef596a0-70d3-4b51-9cde-ea12f34b406c}" Type="{B6FA6D8B-EEAA-47A6-8463-7F9A4F5BBB6E}" Data="&lt;xml /&gt;" />
  <LinkManager xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/PolicyExecutor">
    <hashset xmlns:d2p1="http://schemas.datacontract.org/2004/07/System" />
  </LinkManager>
  <Activity mc:Ignorable="sads sap" x:Class="Policy Builder" xmlns="http://schemas.microsoft.com/netfx/2009/xaml/activities" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mva="clr-namespace:Microsoft.VisualBasic.Activities;assembly=System.Activities" xmlns:p="clr-namespace:PolicyExecutor;assembly=PolicyExecutionEngine" xmlns:sads="http://schemas.microsoft.com/netfx/2010/xaml/activities/debugger" xmlns:sap="http://schemas.microsoft.com/netfx/2009/xaml/activities/presentation" xmlns:scg="clr-namespace:System.Collections.Generic;assembly=mscorlib" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <x:Members>
      <x:Property Name="PolicyGUID" Type="InArgument(x:String)" />
    </x:Members>
    <sap:VirtualizedContainerService.HintSize>1597,2397</sap:VirtualizedContainerService.HintSize>
    <mva:VisualBasic.Settings>Assembly references and imported namespaces serialized as XML namespaces</mva:VisualBasic.Settings>
    <p:PolicySequence DisplayName="Policy Builder" sap:VirtualizedContainerService.HintSize="1597,2397" mva:VisualBasic.Settings="Assembly references and imported namespaces serialized as XML namespaces">
      <p:PolicySequence.Activities>
        <p:GetServices State_ItemProp="{x:Null}" AssemblyName="PolicyExecutionEngine, Version=2.14.0.2, Culture=neutral, PublicKeyToken=null" DisplayName="Get Services" sap:VirtualizedContainerService.HintSize="1561,88" Moniker="1cf5471a-cbdc-466e-95b7-62c40b995dfa" Result="[GetServices_Result]" ResultString="[GetServices_ResultString]" RunAsCurrentLoggedOnUser="False" ScriptExecutionMethod="ExecuteDebug" Services="[GetServices_Services]" State="All" State_DisplayArg="All" State_Item="{x:Null}" TypeName="GetServices" m_bTextLinkChange="False" />
        <p:DoesListContain Collection_ItemProp="{x:Null}" ExpectedValue_Item="{x:Null}" ExpectedValue_ItemProp="{x:Null}" MatchExactValue_ItemProp="{x:Null}" PropertyName_ItemProp="{x:Null}" AssemblyName="PolicyExecutionEngine, Version=2.14.0.2, Culture=neutral, PublicKeyToken=null" Collection="[GetServices_Services]" Collection_DisplayArg="Get Services.Services" Collection_Item="{x:Null}" Conditional="[DoesListContain_Conditional]" DisplayName="Does Collection Contain" ExpectedValue="DNS Server" ExpectedValue_DisplayArg="DNS Server" sap:VirtualizedContainerService.HintSize="1561,196" MatchExactValue="True" MatchExactValue_DisplayArg="" MatchExactValue_Item="{x:Null}" Moniker="8204c84a-28d6-4aff-8feb-dbafcf370d05" PropertyName="DisplayName" PropertyName_DisplayArg="Display Name" PropertyName_Item="{x:Null}" Result="[DoesListContain_Result]" ResultString="[DoesListContain_ResultString]" RunAsCurrentLoggedOnUser="False" ScriptExecutionMethod="None" TypeName="DoesListContain" m_bTextLinkChange="False" />
        <p:IfElse Condition_ItemProp="{x:Null}" Value_Item="{x:Null}" Value_ItemProp="{x:Null}" Variable_ItemProp="{x:Null}" AssemblyName="PolicyExecutionEngine, Version=2.14.0.2, Culture=neutral, PublicKeyToken=null" Condition="equals" Condition_DisplayArg="equals" Condition_Item="{x:Null}" DisplayName="If/Else" sap:VirtualizedContainerService.HintSize="1561,1810" Moniker="265bd008-cbdb-4050-84c7-bdc70165113d" Result="[IfElse_Result]" ResultString="[IfElse_ResultString]" RunAsCurrentLoggedOnUser="False" ScriptExecutionMethod="None" TypeName="IfElse" Value_DisplayArg="True" Value_Type="x:String" Variable="[DoesListContain_Conditional]" Variable_DisplayArg="Does Collection Contain.Conditional" Variable_Item="{x:Null}" Variable_Type="x:String" m_bTextLinkChange="False">
          <p:IfElse.ElseOption>
            <p:SequenceActivity DisplayName="Else" sap:VirtualizedContainerService.HintSize="395,238" Name="SequenceActivity">
              <p:SequenceActivity.Activities>
                <p:Log Message_ItemProp="{x:Null}" AssemblyName="PolicyExecutionEngine, Version=2.14.0.2, Culture=neutral, PublicKeyToken=null" DisplayName="Log" sap:VirtualizedContainerService.HintSize="357,88" LogMessage="[Log_LogMessage]" Message="DNS Server Not Found" Message_DisplayArg="DNS Server Not Found" Message_Item="{x:Null}" Moniker="ce5b5069-1e7d-462b-8aa2-3a9f7b9f0516" Result="[Log_Result]" ResultString="[Log_ResultString]" RunAsCurrentLoggedOnUser="False" ScriptExecutionMethod="ExecuteDebug" TypeName="Log" m_bTextLinkChange="False" />
              </p:SequenceActivity.Activities>
              <p:SequenceActivity.Variables>
                <Variable x:TypeArguments="x:String" Name="Log_LogMessage" />
                <Variable x:TypeArguments="x:String" Name="Log_ResultString" />
                <Variable x:TypeArguments="x:Double" Name="Log_Result" />
              </p:SequenceActivity.Variables>
            </p:SequenceActivity>
          </p:IfElse.ElseOption>
          <p:IfElse.IfOption>
            <p:SequenceActivity DisplayName="Then" sap:VirtualizedContainerService.HintSize="1122,1610" Name="SequenceActivity">
              <p:SequenceActivity.Activities>
                <p:RegistryValueExists BaseKey_ItemProp="{x:Null}" Key_ItemProp="{x:Null}" Property_ItemProp="{x:Null}" AssemblyName="PolicyExecutionEngine, Version=2.14.0.2, Culture=neutral, PublicKeyToken=null" BaseKey="HKLM" BaseKey_DisplayArg="HKLM" BaseKey_Item="{x:Null}" Conditional="[RegistryValueExists_Conditional]" DisplayName="Registry Value Exists" sap:VirtualizedContainerService.HintSize="1084,160" Key="SYSTEM\CurrentControlSet\Services\DNS\Parameters" Key_DisplayArg="SYSTEM\CurrentControlSet\Services\DNS\Parameters" Key_Item="{x:Null}" Moniker="7e494d52-52f8-46a8-a1b7-188fe6085bf0" Property="TcpReceivePacketSize" Property_DisplayArg="TcpReceivePacketSize" Property_Item="{x:Null}" Result="[RegistryValueExists_Result]" ResultString="[RegistryValueExists_ResultString]" RunAsCurrentLoggedOnUser="False" ScriptExecutionMethod="ExecuteDebug" TypeName="RegistryValueExists" m_bTextLinkChange="False" />
                <p:IfElse Condition_ItemProp="{x:Null}" Value_Item="{x:Null}" Value_ItemProp="{x:Null}" Variable_ItemProp="{x:Null}" AssemblyName="PolicyExecutionEngine, Version=2.14.0.2, Culture=neutral, PublicKeyToken=null" Condition="equals" Condition_DisplayArg="equals" Condition_Item="{x:Null}" DisplayName="If/Else" sap:VirtualizedContainerService.HintSize="1084,582" Moniker="02c6ae90-c522-4981-891b-02be8e4f1671" Result="[IfElse_Result_2]" ResultString="[IfElse_ResultString_2]" RunAsCurrentLoggedOnUser="False" ScriptExecutionMethod="None" TypeName="IfElse" Value_DisplayArg="True" Value_Type="x:String" Variable="[RegistryValueExists_Conditional]" Variable_DisplayArg="Registry Value Exists.Conditional" Variable_Item="{x:Null}" Variable_Type="x:String" m_bTextLinkChange="False">
                  <p:IfElse.ElseOption>
                    <p:SequenceActivity DisplayName="Else" sap:VirtualizedContainerService.HintSize="520,382" Name="SequenceActivity">
                      <p:SequenceActivity.Activities>
                        <p:CreateRegistryKey BaseKey_ItemProp="{x:Null}" NewKey_ItemProp="{x:Null}" PropType_ItemProp="{x:Null}" PropertyName_ItemProp="{x:Null}" Value_ItemProp="{x:Null}" AssemblyName="PolicyExecutionEngine, Version=2.14.0.2, Culture=neutral, PublicKeyToken=null" BaseKey="HKLM" BaseKey_DisplayArg="HKLM" BaseKey_Item="{x:Null}" DisplayName="Create Registry Key" sap:VirtualizedContainerService.HintSize="482,232" Moniker="d2fde243-9ce4-44e9-9232-233b50545932" NewKey="SYSTEM\CurrentControlSet\Services\DNS\Parameters" NewKey_DisplayArg="SYSTEM\CurrentControlSet\Services\DNS\Parameters" NewKey_Item="{x:Null}" PropType="DWord" PropType_DisplayArg="DWord" PropType_Item="{x:Null}" PropertyName="TcpReceivePacketSize" PropertyName_DisplayArg="TcpReceivePacketSize" PropertyName_Item="{x:Null}" Result="[CreateRegistryKey_Result]" ResultString="[CreateRegistryKey_ResultString]" RunAsCurrentLoggedOnUser="False" ScriptExecutionMethod="ExecuteDebug" TypeName="CreateRegistryKey" Value="65280" Value_DisplayArg="65280" Value_Item="{x:Null}" m_bTextLinkChange="False" />
                      </p:SequenceActivity.Activities>
                      <p:SequenceActivity.Variables>
                        <Variable x:TypeArguments="x:String" Name="CreateRegistryKey_ResultString" />
                        <Variable x:TypeArguments="x:Double" Name="CreateRegistryKey_Result" />
                      </p:SequenceActivity.Variables>
                    </p:SequenceActivity>
                  </p:IfElse.ElseOption>
                  <p:IfElse.IfOption>
                    <p:SequenceActivity DisplayName="Then" sap:VirtualizedContainerService.HintSize="520,382" Name="SequenceActivity">
                      <p:SequenceActivity.Activities>
                        <p:SetRegistryValue BaseKey_ItemProp="{x:Null}" Key_ItemProp="{x:Null}" PropertyName_ItemProp="{x:Null}" PropertyType_ItemProp="{x:Null}" PropertyValue_ItemProp="{x:Null}" AssemblyName="PolicyExecutionEngine, Version=2.14.0.2, Culture=neutral, PublicKeyToken=null" BaseKey="HKLM" BaseKey_DisplayArg="HKLM" BaseKey_Item="{x:Null}" DisplayName="Set Registry Value" sap:VirtualizedContainerService.HintSize="482,232" Key="SYSTEM\CurrentControlSet\Services\DNS\Parameters" Key_DisplayArg="SYSTEM\CurrentControlSet\Services\DNS\Parameters" Key_Item="{x:Null}" Moniker="d2d3a6fc-2f5c-4274-8ac5-5e4ad80607af" PropertyName="TcpReceivePacketSize" PropertyName_DisplayArg="TcpReceivePacketSize" PropertyName_Item="{x:Null}" PropertyType="DWord" PropertyType_DisplayArg="DWord" PropertyType_Item="{x:Null}" PropertyValue="65280" PropertyValue_DisplayArg="65280" PropertyValue_Item="{x:Null}" Result="[SetRegistryValue_Result]" ResultString="[SetRegistryValue_ResultString]" RunAsCurrentLoggedOnUser="False" ScriptExecutionMethod="ExecuteDebug" TypeName="SetRegistryValue" m_bTextLinkChange="False" />
                      </p:SequenceActivity.Activities>
                      <p:SequenceActivity.Variables>
                        <Variable x:TypeArguments="x:String" Name="SetRegistryValue_ResultString" />
                        <Variable x:TypeArguments="x:Double" Name="SetRegistryValue_Result" />
                      </p:SequenceActivity.Variables>
                    </p:SequenceActivity>
                  </p:IfElse.IfOption>
                  <p:IfElse.Value>
                    <InArgument x:TypeArguments="x:Object">
                      <p:ObjectLiteral Value="True" />
                    </InArgument>
                  </p:IfElse.Value>
                </p:IfElse>
                <p:IsServiceRunning Service_ItemProp="{x:Null}" AssemblyName="PolicyExecutionEngine, Version=2.14.0.2, Culture=neutral, PublicKeyToken=null" Conditional="[IsServiceRunning_Conditional]" DisplayName="Is Service Running" sap:VirtualizedContainerService.HintSize="1084,88" Moniker="e8d96ab0-b802-4fff-bbea-a73c135f8f20" Result="[IsServiceRunning_Result]" ResultString="[IsServiceRunning_ResultString]" RunAsCurrentLoggedOnUser="False" ScriptExecutionMethod="ExecuteDebug" Service="DNS" Service_DisplayArg="DNS" Service_Item="{x:Null}" TypeName="IsServiceRunning" m_bTextLinkChange="False" />
                <p:IfElse Condition_ItemProp="{x:Null}" Value_Item="{x:Null}" Value_ItemProp="{x:Null}" Variable_ItemProp="{x:Null}" AssemblyName="PolicyExecutionEngine, Version=2.14.0.2, Culture=neutral, PublicKeyToken=null" Condition="equals" Condition_DisplayArg="equals" Condition_Item="{x:Null}" DisplayName="If/Else" sap:VirtualizedContainerService.HintSize="1084,510" Moniker="21175a98-6ce4-49af-8303-24592431c747" Result="[IfElse_Result_1]" ResultString="[IfElse_ResultString_1]" RunAsCurrentLoggedOnUser="False" ScriptExecutionMethod="None" TypeName="IfElse" Value_DisplayArg="True" Value_Type="x:String" Variable="[IsServiceRunning_Conditional]" Variable_DisplayArg="Is Service Running.Conditional" Variable_Item="{x:Null}" Variable_Type="x:String" m_bTextLinkChange="False">
                  <p:IfElse.ElseOption>
                    <p:SequenceActivity DisplayName="Else" sap:VirtualizedContainerService.HintSize="412,310" Name="SequenceActivity">
                      <p:SequenceActivity.Activities>
                        <p:StartService Disabled_ItemProp="{x:Null}" Service_ItemProp="{x:Null}" StartupType_ItemProp="{x:Null}" AssemblyName="PolicyExecutionEngine, Version=2.14.0.2, Culture=neutral, PublicKeyToken=null" Disabled="True" Disabled_DisplayArg="" Disabled_Item="{x:Null}" DisplayName="Start Service" sap:VirtualizedContainerService.HintSize="374,160" Moniker="c826131a-3bbe-48a3-9157-1b8ea5d6fc6b" Result="[StartService_Result]" ResultString="[StartService_ResultString]" RunAsCurrentLoggedOnUser="False" ScriptExecutionMethod="ExecuteDebug" Service="DNS" Service_DisplayArg="DNS" Service_Item="{x:Null}" StartupType="Automatic" StartupType_DisplayArg="Automatic" StartupType_Item="{x:Null}" TypeName="StartService" m_bTextLinkChange="False" />
                      </p:SequenceActivity.Activities>
                      <p:SequenceActivity.Variables>
                        <Variable x:TypeArguments="x:String" Name="StartService_ResultString" />
                        <Variable x:TypeArguments="x:Double" Name="StartService_Result" />
                      </p:SequenceActivity.Variables>
                    </p:SequenceActivity>
                  </p:IfElse.ElseOption>
                  <p:IfElse.IfOption>
                    <p:SequenceActivity DisplayName="Then" sap:VirtualizedContainerService.HintSize="412,274" Name="SequenceActivity">
                      <p:SequenceActivity.Activities>
                        <p:RestartService Force_ItemProp="{x:Null}" Service_ItemProp="{x:Null}" AssemblyName="PolicyExecutionEngine, Version=2.14.0.2, Culture=neutral, PublicKeyToken=null" DisplayName="Restart Service" Force="True" Force_DisplayArg="" Force_Item="{x:Null}" sap:VirtualizedContainerService.HintSize="374,124" Moniker="c1d96121-2e88-492d-b1ac-2766f3e618f1" Result="[RestartService_Result]" ResultString="[RestartService_ResultString]" RunAsCurrentLoggedOnUser="False" ScriptExecutionMethod="ExecuteDebug" Service="DNS" Service_DisplayArg="DNS" Service_Item="{x:Null}" TypeName="RestartService" m_bTextLinkChange="False" />
                      </p:SequenceActivity.Activities>
                      <p:SequenceActivity.Variables>
                        <Variable x:TypeArguments="x:String" Name="RestartService_ResultString" />
                        <Variable x:TypeArguments="x:Double" Name="RestartService_Result" />
                      </p:SequenceActivity.Variables>
                    </p:SequenceActivity>
                  </p:IfElse.IfOption>
                  <p:IfElse.Value>
                    <InArgument x:TypeArguments="x:Object">
                      <p:ObjectLiteral Value="True" />
                    </InArgument>
                  </p:IfElse.Value>
                </p:IfElse>
              </p:SequenceActivity.Activities>
              <p:SequenceActivity.Variables>
                <Variable x:TypeArguments="x:String" Name="RegistryValueExists_Conditional" />
                <Variable x:TypeArguments="x:String" Name="RegistryValueExists_ResultString" />
                <Variable x:TypeArguments="x:Double" Name="RegistryValueExists_Result" />
                <Variable x:TypeArguments="x:String" Name="IsServiceRunning_Conditional" />
                <Variable x:TypeArguments="x:String" Name="IsServiceRunning_ResultString" />
                <Variable x:TypeArguments="x:Double" Name="IsServiceRunning_Result" />
                <Variable x:TypeArguments="x:String" Name="IfElse_ResultString_1" />
                <Variable x:TypeArguments="x:Double" Name="IfElse_Result_1" />
                <Variable x:TypeArguments="x:String" Name="IfElse_ResultString_2" />
                <Variable x:TypeArguments="x:Double" Name="IfElse_Result_2" />
              </p:SequenceActivity.Variables>
            </p:SequenceActivity>
          </p:IfElse.IfOption>
          <p:IfElse.Value>
            <InArgument x:TypeArguments="x:Object">
              <p:ObjectLiteral Value="True" />
            </InArgument>
          </p:IfElse.Value>
        </p:IfElse>
      </p:PolicySequence.Activities>
      <p:PolicySequence.Variables>
        <Variable x:TypeArguments="scg:IEnumerable(x:Object)" Name="GetServices_Services" />
        <Variable x:TypeArguments="x:String" Name="GetServices_ResultString" />
        <Variable x:TypeArguments="x:Double" Name="GetServices_Result" />
        <Variable x:TypeArguments="x:String" Name="DoesListContain_Conditional" />
        <Variable x:TypeArguments="x:String" Name="DoesListContain_ResultString" />
        <Variable x:TypeArguments="x:Double" Name="DoesListContain_Result" />
        <Variable x:TypeArguments="x:String" Name="IfElse_ResultString" />
        <Variable x:TypeArguments="x:Double" Name="IfElse_Result" />
      </p:PolicySequence.Variables>
    </p:PolicySequence>
  </Activity>
</Policy>
```

```json Response Example
{"success":true}
```

# SCRIPT