This commit is contained in:
2025-11-24 08:36:36 +01:00
parent 2f604646f3
commit 3a531b4ce0
81 changed files with 5097 additions and 0 deletions

BIN
CMPivot/CMPivot.msi Normal file

Binary file not shown.

BIN
CMTrace.exe Normal file

Binary file not shown.

Binary file not shown.

BIN
ClientTools/CliSpy.exe Normal file

Binary file not shown.

Binary file not shown.

BIN
ClientTools/PolicySpy.exe Normal file

Binary file not shown.

BIN
ClientTools/PowerVwr.exe Normal file

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,298 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<!--Send Schedule Message List-->
<Messages>
<Message>
<GUID id="{00000000-0000-0000-0000-000000000001}">
<OriginalName>HARDWARE_INV_ACTION_ID</OriginalName>
<DisplayName>Hardware Inventory</DisplayName>
</GUID>
</Message>
<Message>
<GUID id="{00000000-0000-0000-0000-000000000002}">
<OriginalName>SOFTWARE_INV_ACTION_ID</OriginalName>
<DisplayName>Software Inventory</DisplayName>
</GUID>
</Message>
<Message>
<GUID id="{00000000-0000-0000-0000-000000000003}">
<OriginalName>DISCOVERY_INV_ACTION_ID</OriginalName>
<DisplayName>Discovery Inventory</DisplayName>
</GUID>
</Message>
<Message>
<GUID id="{00000000-0000-0000-0000-000000000010}">
<OriginalName>FILE_COLLECTION_ACTION_ID</OriginalName>
<DisplayName>File Collection</DisplayName>
</GUID>
</Message>
<Message>
<GUID id="{00000000-0000-0000-0000-000000000011}">
<OriginalName>IDMIF_COLLECTION_ACTION_ID</OriginalName>
<DisplayName>IDMIF Collection</DisplayName>
</GUID>
</Message>
<Message>
<GUID id="{00000000-0000-0000-0000-000000000012}">
<OriginalName>CLIENT_MACHINE_AUTH_ACTION_ID</OriginalName>
<DisplayName>Client Machine Authentication</DisplayName>
</GUID>
</Message>
<Message>
<GUID id="{00000000-0000-0000-0000-000000000021}">
<OriginalName>POLICYAGENT_REQUEST_MACHINE_ASSIGNMENTS_ID</OriginalName>
<DisplayName>Request Machine Assignments</DisplayName>
</GUID>
</Message>
<Message>
<GUID id="{00000000-0000-0000-0000-000000000022}">
<OriginalName>POLICYAGENT_EVALUATE_MACHINE_POLICIES_ID</OriginalName>
<DisplayName>Evaluate Machine Policies</DisplayName>
</GUID>
</Message>
<Message>
<GUID id="{00000000-0000-0000-0000-000000000023}">
<OriginalName>LS_SCHEDULEDCLEANUP_REFRESH_DEFAULT_MP_TASK_ID</OriginalName>
<DisplayName>Refresh Default MP Task</DisplayName>
</GUID>
</Message>
<Message>
<GUID id="{00000000-0000-0000-0000-000000000024}">
<OriginalName>LS_SCHEDULEDCLEANUP_REFRESH_LOCATIONS_TASK_ID</OriginalName>
<DisplayName>LS (Location Service) Refresh Locations Task</DisplayName>
</GUID>
</Message>
<Message>
<GUID id="{00000000-0000-0000-0000-000000000025}">
<OriginalName>LS_SCHEDULEDCLEANUP_TIMEOUT_REFRESH_TASK_ID</OriginalName>
<DisplayName>LS (Location Service) Timeout Refresh Task</DisplayName>
</GUID>
</Message>
<Message>
<GUID id="{00000000-0000-0000-0000-000000000026}">
<OriginalName>POLICYAGENT_REQUEST_USER_ASSIGNMENTS_ID</OriginalName>
<DisplayName>Policy Agent Request Assignment (User)</DisplayName>
</GUID>
</Message>
<Message>
<GUID id="{00000000-0000-0000-0000-000000000027}">
<OriginalName>POLICYAGENT_EVALUATE_USER_POLICIES_ID</OriginalName>
<DisplayName>Policy Agent Evaluate Assignment (User)</DisplayName>
</GUID>
</Message>
<Message>
<GUID id="{00000000-0000-0000-0000-000000000031}">
<OriginalName>SWMTR_USER_REPORT_GENERATION_ID</OriginalName>
<DisplayName>Software Metering Generating Usage Report</DisplayName>
</GUID>
</Message>
<Message>
<GUID id="{00000000-0000-0000-0000-000000000032}">
<OriginalName>SOURCE_UPDATE_MESSAGE_ID</OriginalName>
<DisplayName>Source Update Message</DisplayName>
</GUID>
</Message>
<Message>
<GUID id="{00000000-0000-0000-0000-000000000037}">
<OriginalName>Schedule for clearing proxy settings cache</OriginalName>
<DisplayName>Clearing proxy settings cache</DisplayName>
</GUID>
</Message>
<Message>
<GUID id="{00000000-0000-0000-0000-000000000040}">
<OriginalName>[Machine Policy schedules] PolicyAgent_Cleanup</OriginalName>
<DisplayName>Machine Policy Agent Cleanup</DisplayName>
</GUID>
</Message>
<Message>
<GUID id="{00000000-0000-0000-0000-000000000041}">
<OriginalName>[User Policy schedules] PolicyAgent_Cleanup</OriginalName>
<DisplayName>User Policy Agent Cleanup</DisplayName>
</GUID>
</Message>
<Message>
<GUID id="{00000000-0000-0000-0000-000000000042}">
<OriginalName>[Machine Policy schedules] PolicyAgent_RequestAssignments</OriginalName>
<DisplayName>Policy Agent Validate Machine Policy / Assignment</DisplayName>
</GUID>
</Message>
<Message>
<GUID id="{00000000-0000-0000-0000-000000000043}">
<OriginalName>[User Policy schedules] PolicyAgent_RequestAssignments</OriginalName>
<DisplayName>Policy Agent Validate User Policy / Assignment</DisplayName>
</GUID>
</Message>
<Message>
<GUID id="{00000000-0000-0000-0000-000000000051}">
<OriginalName>Schedule for retrying/refreshing certificates in AD on MP</OriginalName>
<DisplayName>Retrying/Refreshing certificates in AD on MP</DisplayName>
</GUID>
</Message>
<Message>
<GUID id="{00000000-0000-0000-0000-000000000061}">
<OriginalName>PDP_STATUS_REPORTING_SCHEDULE_ID</OriginalName>
<DisplayName>Peer DP Status reporting</DisplayName>
</GUID>
</Message>
<Message>
<GUID id="{00000000-0000-0000-0000-000000000062}">
<OriginalName>PDP_PENDING_PACKAGE_CHECK_SCHEDULE_ID</OriginalName>
<DisplayName>Peer DP Pending package check schedule</DisplayName>
</GUID>
</Message>
<Message>
<GUID id="{00000000-0000-0000-0000-000000000063}">
<OriginalName>SUM_UPDATES_INSTALL_SCHEDULE_ID</OriginalName>
<DisplayName>SUM Updates install schedule</DisplayName>
</GUID>
</Message>
<Message>
<GUID id="{00000000-0000-0000-0000-000000000071}">
<OriginalName>NAP_ACTION_ID</OriginalName>
<DisplayName>NAP action</DisplayName>
</GUID>
</Message>
<Message>
<GUID id="{00000000-0000-0000-0000-000000000101}">
<OriginalName>HARDWARE_INV_POLICY_ACTION_ID</OriginalName>
<DisplayName>Hardware Inventory Collection Cycle</DisplayName>
</GUID>
</Message>
<Message>
<GUID id="{00000000-0000-0000-0000-000000000102}">
<OriginalName>SOFTWARE_INV_POLICY_ACTION_ID</OriginalName>
<DisplayName>Software Inventory Collection Cycle</DisplayName>
</GUID>
</Message>
<Message>
<GUID id="{00000000-0000-0000-0000-000000000103}">
<OriginalName>DISCOVERY_INV_POLICY_ACTION_ID</OriginalName>
<DisplayName>Discovery Data Collection Cycle</DisplayName>
</GUID>
</Message>
<Message>
<GUID id="{00000000-0000-0000-0000-000000000104}">
<OriginalName>FILE_COLLECTION_POLICY_ACTION_ID</OriginalName>
<DisplayName>File Collection Cycle</DisplayName>
</GUID>
</Message>
<Message>
<GUID id="{00000000-0000-0000-0000-000000000105}">
<OriginalName>IDMIF_COLLECTION_POLICY_ACTION_ID</OriginalName>
<DisplayName>IDMIF Collection Cycle</DisplayName>
</GUID>
</Message>
<Message>
<GUID id="{00000000-0000-0000-0000-000000000106}">
<OriginalName>METRING_POLICY_ACTION_ID</OriginalName>
<DisplayName>Software Metering Usage Report Cycle</DisplayName>
</GUID>
</Message>
<Message>
<GUID id="{00000000-0000-0000-0000-000000000107}">
<OriginalName>SOURCE_UPDATE_POLICY_ACTION_ID</OriginalName>
<DisplayName>Windows Installer Source List Update Cycle</DisplayName>
</GUID>
</Message>
<Message>
<GUID id="{00000000-0000-0000-0000-000000000108}">
<OriginalName>SOFTWARE_UPDATES_POLICY_ACTION_ID</OriginalName>
<DisplayName>Software Updates Assignments Evaluation Cycle</DisplayName>
</GUID>
</Message>
<Message>
<GUID id="{00000000-0000-0000-0000-000000000109}">
<OriginalName>PDP_MAINTENANCE_POLICY_ACTION_ID</OriginalName>
<DisplayName>Branch Distribution Point Maintenance Task</DisplayName>
</GUID>
</Message>
<Message>
<GUID id="{00000000-0000-0000-0000-000000000110}">
<OriginalName>DCM_POLICY_ACTION_ID</OriginalName>
<DisplayName>DCM policy</DisplayName>
</GUID>
</Message>
<Message>
<GUID id="{00000000-0000-0000-0000-000000000111}">
<OriginalName>STATE_SYSTEM_POLICY_BULKSEND_ACTION_ID</OriginalName>
<DisplayName>Send Unsent State Message</DisplayName>
</GUID>
</Message>
<Message>
<GUID id="{00000000-0000-0000-0000-000000000112}">
<OriginalName>STATE_SYSTEM_POLICY_CACHECLEANOUT_ACTION_ID</OriginalName>
<DisplayName>State System policy cache cleanout</DisplayName>
</GUID>
</Message>
<Message>
<GUID id="{00000000-0000-0000-0000-000000000113}">
<OriginalName>UPDATE_SOURCE_POLICY_ACTION_ID</OriginalName>
<DisplayName>Scan by Update Source</DisplayName>
</GUID>
</Message>
<Message>
<GUID id="{00000000-0000-0000-0000-000000000114}">
<OriginalName>UPDATE_STORE_POLICY_ACTION_ID</OriginalName>
<DisplayName>Update Store Policy</DisplayName>
</GUID>
</Message>
<Message>
<GUID id="{00000000-0000-0000-0000-000000000115}">
<OriginalName>STATE_SYSTEM_POLICY_BULKSEND_HIGH_ACTION_ID</OriginalName>
<DisplayName>State system policy bulk send high</DisplayName>
</GUID>
</Message>
<Message>
<GUID id="{00000000-0000-0000-0000-000000000116}">
<OriginalName>STATE_SYSTEM_POLICY_BULKSEND_LOW_ACTION_ID</OriginalName>
<DisplayName>State system policy bulk send low</DisplayName>
</GUID>
</Message>
<Message>
<GUID id="{00000000-0000-0000-0000-000000000120}">
<OriginalName>AMT_STATUS_CHECK_POLICY_ACTION_ID</OriginalName>
<DisplayName>AMT Status Check Policy</DisplayName>
</GUID>
</Message>
<Message>
<GUID id="{00000000-0000-0000-0000-000000000121}">
<OriginalName>APPMAN_POLICY_ACTION_ID</OriginalName>
<DisplayName>Application manager policy action</DisplayName>
</GUID>
</Message>
<Message>
<GUID id="{00000000-0000-0000-0000-000000000122}">
<OriginalName>APPMAN_USER_POLICY_ACTION_ID</OriginalName>
<DisplayName>Application manager user policy action</DisplayName>
</GUID>
</Message>
<Message>
<GUID id="{00000000-0000-0000-0000-000000000123}">
<OriginalName>APPMAN_GLOBAL_EVALUATION_ACTION_ID</OriginalName>
<DisplayName>Application manager global evaluation action</DisplayName>
</GUID>
</Message>
<Message>
<GUID id="{00000000-0000-0000-0000-000000000131}">
<OriginalName>PWRMGMT_START_SUMMARIZER_ID</OriginalName>
<DisplayName>Power management start summarizer</DisplayName>
</GUID>
</Message>
<Message>
<GUID id="{00000000-0000-0000-0000-000000000221}">
<OriginalName>EP_DEPLOYMENT_REEVALUATE_ID</OriginalName>
<DisplayName>Endpoint deployment reevaluate</DisplayName>
</GUID>
</Message>
<Message>
<GUID id="{00000000-0000-0000-0000-000000000222}">
<OriginalName>EP_AMPOLICY_REEVALUATE_ID</OriginalName>
<DisplayName>Endpoint AM policy reevaluate</DisplayName>
</GUID>
</Message>
<Message>
<GUID id="{00000000-0000-0000-0000-000000000223}">
<OriginalName>EXTERNAL_EVENT_DETECTION_ID</OriginalName>
<DisplayName>External event detection</DisplayName>
</GUID>
</Message>
</Messages>

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,115 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<section name="Microsoft.ConfigurationManager.Tool.Migration.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2" />
</startup>
<runtime>
<!-- Enable all accessibility features -->
<AppContextSwitchOverrides value="Switch.UseLegacyAccessibilityFeatures=false;Switch.UseLegacyAccessibilityFeatures.2=false;Switch.UseLegacyAccessibilityFeatures.3=false;Switch.UseLegacyToolTipDisplay=false" />
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Http" culture="neutral" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-5.2.7.0" newVersion="5.2.7.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Bcl.AsyncInterfaces" culture="neutral" publicKeyToken="cc7b13ffcd2ddd51" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Azure.Core" culture="neutral" publicKeyToken="92742159e12e44c8" />
<bindingRedirect oldVersion="0.0.0.0-1.28.0.0" newVersion="1.28.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Buffers" culture="neutral" publicKeyToken="cc7b13ffcd2ddd51" />
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Tasks.Extensions" culture="neutral" publicKeyToken="cc7b13ffcd2ddd51" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.1" newVersion="4.2.0.1" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Text.Encodings.Web" culture="neutral" publicKeyToken="cc7b13ffcd2ddd51" />
<bindingRedirect oldVersion="0.0.0.0-4.0.5.1" newVersion="4.0.5.1" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.ValueTuple" culture="neutral" publicKeyToken="cc7b13ffcd2ddd51" />
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Identity.Client" culture="neutral" publicKeyToken="0a613f4dd989e8ae" />
<bindingRedirect oldVersion="0.0.0.0-4.39.0.0" newVersion="4.39.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Azure.ResourceManager" culture="neutral" publicKeyToken="92742159e12e44c8" />
<bindingRedirect oldVersion="0.0.0.0-1.4.0.0" newVersion="1.4.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Text.Json" culture="neutral" publicKeyToken="cc7b13ffcd2ddd51" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.2" newVersion="4.0.1.2" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Memory" culture="neutral" publicKeyToken="cc7b13ffcd2ddd51" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.1" newVersion="4.0.1.1" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.InteropServices.RuntimeInformation" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<system.diagnostics>
<sources>
<source name="Extend_To_Azure" switchValue="Information">
<listeners>
<add name="SmsFileTrace" type="Microsoft.ConfigurationManagement.AdminConsole.SmsTraceListener.CCMFormatTextWriterTraceListener, AdminUI.SmsTraceListener" initializeData="extendtoazure.log" registryKeyName="SMS\Tracing\EXTEND_TO_AZURE"/>
</listeners>
</source>
</sources>
<trace autoflush="true" />
</system.diagnostics>
<userSettings>
<Microsoft.ConfigurationManager.Tool.Migration.Properties.Settings>
<setting name="AzureSubscriptionId" serializeAs="String">
<value />
</setting>
<setting name="AzureVirtualNetwork" serializeAs="String">
<value />
</setting>
<setting name="AzureResourceGroup" serializeAs="String">
<value />
</setting>
<setting name="AzureVMSize" serializeAs="String">
<value />
</setting>
<setting name="ExistingDomainFQDN" serializeAs="String">
<value />
</setting>
<setting name="ExistingDomainAdminUsername" serializeAs="String">
<value />
</setting>
<setting name="ExistingDomainDnsIPAddress" serializeAs="String">
<value />
</setting>
<setting name="LastUsedAzureSubscriptionId" serializeAs="String">
<value />
</setting>
</Microsoft.ConfigurationManager.Tool.Migration.Properties.Settings>
</userSettings>
</configuration>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,108 @@
{
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"machineName": {
"defaultValue": "",
"type": "string",
"minLength": 1,
"maxLength": 15,
"metadata": {
"description": "The name of the virtual machine. "
}
},
"deployname": {
"type": "string"
},
"existingStorageUrl": {
"type": "string",
"metadata": {
"description": "The storage Url. Example is like https://{storageaccountname}.blob.core.windows.net/{containername}/{blobname}. "
}
},
"existingSASKey": {
"type": "securestring",
"metadata": {
"description": "The sasToken required to access existingStorageUrl. It requires read and write permissions to save some temp data. "
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Location for all resources."
}
},
"RoleType": {
"type": "string",
"defaultValue": "Passive",
"allowedValues": [
"DP",
"MP",
"SUP"
],
"metadata": {
"description": "Role type of VM."
}
}
},
"variables": {
"Quotes": "\""
},
"resources": [
{
"condition": "[equals(parameters('RoleType'),'MP')]",
"type": "Microsoft.Compute/virtualMachines/extensions",
"apiVersion": "2018-06-01",
"name": "[concat(parameters('machineName'),'/WorkFlow-MP',parameters('deployname'))]",
"location": "[parameters('location')]",
"properties": {
"publisher": "Microsoft.Powershell",
"type": "DSC",
"typeHandlerVersion": "2.21",
"autoUpgradeMinorVersion": true,
"settings": {
"modulesUrl": "[Uri(parameters('existingStorageUrl'),concat('scripts/DSCConfiguration.zip',parameters('existingSASKey')))]",
"configurationFunction": "MPConfigurationExist.ps1\\MPconfigurationExist"
}
}
},
{
"condition": "[equals(parameters('RoleType'),'DP')]",
"type": "Microsoft.Compute/virtualMachines/extensions",
"apiVersion": "2018-06-01",
"name": "[concat(parameters('machineName'),'/WorkFlow-DP',parameters('deployname'))]",
"location": "[parameters('location')]",
"properties": {
"publisher": "Microsoft.Powershell",
"type": "DSC",
"typeHandlerVersion": "2.21",
"autoUpgradeMinorVersion": true,
"settings": {
"modulesUrl": "[Uri(parameters('existingStorageUrl'),concat('scripts/DSCConfiguration.zip',parameters('existingSASKey')))]",
"configurationFunction": "DPConfigurationExist.ps1\\DPconfigurationExist"
}
}
},
{
"condition": "[equals(parameters('RoleType'),'SUP')]",
"type": "Microsoft.Compute/virtualMachines/extensions",
"apiVersion": "2018-06-01",
"name": "[concat(parameters('machineName'),'/WorkFlow-SUP',parameters('deployname'))]",
"location": "[parameters('location')]",
"properties": {
"publisher": "Microsoft.Powershell",
"type": "DSC",
"typeHandlerVersion": "2.21",
"autoUpgradeMinorVersion": true,
"settings": {
"modulesUrl": "[Uri(parameters('existingStorageUrl'),concat('scripts/DSCConfiguration.zip',parameters('existingSASKey')))]",
"configurationFunction": "SUPConfigurationExist.ps1\\SUPconfigurationExist"
}
}
}
],
"outputs": {
}
}

View File

@@ -0,0 +1,20 @@
"parameters": {
"machineName": {
"value": "__MachineName__"
},
"existingStorageUrl": {
"value": "__StorageContainer__"
},
"existingSASKey": {
"value": "__sasKey__"
},
"location": {
"value": "__Location__"
},
"deployname": {
"value": "__FolderName__"
},
"RoleType": {
"value": "__RoleType__"
}
}

View File

@@ -0,0 +1,395 @@
{
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"machineName": {
"defaultValue": "",
"type": "string",
"minLength": 1,
"maxLength": 15,
"metadata": {
"description": "The name of the virtual machine. "
}
},
"adminUsername": {
"type": "string"
},
"adminPassword": {
"type": "securestring"
},
"diskType": {
"type": "string"
},
"exsitingVnetName": {
"type": "string",
"metadata": {
"description": "Existing VNET that contains the domain controller"
}
},
"vmSize": {
"type": "string"
},
"existingSubnetName": {
"defaultValue": "Subnet-1",
"type": "string",
"metadata": {
"description": "Existing subnet that contains the domain controller."
}
},
"existingPrimaryName": {
"type": "string",
"metadata": {
"description": "Computer name for the primary site server. "
}
},
"existingDomainFQDN": {
"type": "string",
"metadata": {
"description": "DomainName on the AD domain. "
}
},
"existingDomainAdminUsername": {
"type": "string",
"metadata": {
"description": "Username of the account on the AD domain. "
}
},
"existingDomainAdminPassword": {
"type": "securestring",
"metadata": {
"description": "Password of the account on the AD domain"
}
},
"existingStorageUrl": {
"type": "string",
"metadata": {
"description": "The storage Url. Example is like https://{storageaccountname}.blob.core.windows.net/{containername}/{blobname}. "
}
},
"existingSASKey": {
"type": "securestring",
"metadata": {
"description": "The sasToken required to access existingStorageUrl. It requires read and write permissions to save some temp data. "
}
},
"existingVnetResourcegroup": {
"type": "string",
"metadata": {
"description": "Existing azure virtual network resource group. "
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Location for all resources."
}
},
"RoleType": {
"type": "string",
"defaultValue": "Passive",
"allowedValues": [
"Passive",
"DP",
"MP",
"SUP",
"General"
],
"metadata": {
"description": "Role type of VM."
}
}
},
"variables": {
"Quotes": "\"",
"vnetId": "[resourceId(parameters('existingVnetResourcegroup'), 'Microsoft.Network/virtualNetworks', parameters('exsitingVnetName'))]",
"networkSettings": {
"subnetRef": "[concat(variables('vnetId'), '/subnets/',parameters('existingSubnetName'))]",
"privateIPAllocationMethod": "Dynamic",
"privateIPAddressVersion": "IPv4"
},
"securityGroupRule": {
"name": "default-allow-rdp",
"priority": 1000,
"sourceAddressPrefix": "*",
"protocol": "Tcp",
"destinationPortRange": "3389",
"access": "Allow",
"direction": "Inbound",
"sourcePortRange": "*",
"destinationAddressPrefix": "*"
}
},
"resources": [
{
"type": "Microsoft.Compute/virtualMachines",
"apiVersion": "2018-06-01",
"name": "[parameters('machineName')]",
"location": "[parameters('location')]",
"dependsOn": [
"[concat('Microsoft.Network/networkInterfaces/', toLower(parameters('machineName')), '-ni')]"
],
"properties": {
"osProfile": {
"computerName": "[parameters('machineName')]",
"adminUsername": "[parameters('adminUsername')]",
"adminPassword": "[parameters('adminPassword')]",
"windowsConfiguration": {
"provisionVmAgent": "true"
}
},
"hardwareProfile": {
"vmSize": "[parameters('vmSize')]"
},
"storageProfile": {
"imageReference": {
"publisher": "MicrosoftWindowsServer",
"offer": "WindowsServer",
"sku": "2019-Datacenter",
"version": "latest"
},
"osDisk": {
"osType": "Windows",
"name": "[concat(parameters('machineName'),'-OsDisk')]",
"createOption": "FromImage",
"caching": "ReadWrite",
"managedDisk": {
"storageAccountType": "[parameters('diskType')]"
},
"diskSizeGB": 150
},
"dataDisks": []
},
"networkProfile": {
"networkInterfaces": [
{
"id": "[resourceId('Microsoft.Network/networkInterfaces', concat(toLower(parameters('machineName')), '-ni'))]"
}
]
},
"diagnosticsProfile": {
"bootDiagnostics": {
"enabled": false
}
}
}
},
{
"condition": "[equals(parameters('RoleType'),'Passive')]",
"type": "Microsoft.Compute/virtualMachines/extensions",
"apiVersion": "2018-06-01",
"name": "[concat(parameters('machineName'),'/WorkFlow-Passive')]",
"location": "[parameters('location')]",
"dependsOn": [
"[concat('Microsoft.Compute/virtualMachines/',parameters('machineName'))]"
],
"properties": {
"publisher": "Microsoft.Powershell",
"type": "DSC",
"typeHandlerVersion": "2.21",
"autoUpgradeMinorVersion": true,
"settings": {
"modulesUrl": "[Uri(parameters('existingStorageUrl'),concat('scripts/DSCConfiguration.zip',parameters('existingSASKey')))]",
"configurationFunction": "PassiveConfiguration.ps1\\Passiveconfiguration",
"Properties": {
"DomainName": "[parameters('existingDomainFQDN')]",
"AdminCreds": {
"UserName": "[parameters('existingDomainAdminUsername')]",
"Password": "PrivateSettingsRef:DomainAdminPassword"
},
"Primaryname": "[parameters('existingPrimaryName')]"
}
},
"protectedSettings": {
"Items": {
"DomainAdminPassword": "[parameters('existingDomainAdminPassword')]"
}
}
}
},
{
"condition": "[equals(parameters('RoleType'),'MP')]",
"type": "Microsoft.Compute/virtualMachines/extensions",
"apiVersion": "2018-06-01",
"name": "[concat(parameters('machineName'),'/WorkFlow-MP')]",
"location": "[parameters('location')]",
"dependsOn": [
"[concat('Microsoft.Compute/virtualMachines/',parameters('machineName'))]"
],
"properties": {
"publisher": "Microsoft.Powershell",
"type": "DSC",
"typeHandlerVersion": "2.21",
"autoUpgradeMinorVersion": true,
"settings": {
"modulesUrl": "[Uri(parameters('existingStorageUrl'),concat('scripts/DSCConfiguration.zip',parameters('existingSASKey')))]",
"configurationFunction": "MPConfiguration.ps1\\MPconfiguration",
"Properties": {
"DomainName": "[parameters('existingDomainFQDN')]",
"AdminCreds": {
"UserName": "[parameters('existingDomainAdminUsername')]",
"Password": "PrivateSettingsRef:DomainAdminPassword"
},
"PrimaryName": "[parameters('existingPrimaryName')]"
}
},
"protectedSettings": {
"Items": {
"DomainAdminPassword": "[parameters('existingDomainAdminPassword')]"
}
}
}
},
{
"condition": "[equals(parameters('RoleType'),'DP')]",
"type": "Microsoft.Compute/virtualMachines/extensions",
"apiVersion": "2018-06-01",
"name": "[concat(parameters('machineName'),'/WorkFlow-DP')]",
"location": "[parameters('location')]",
"dependsOn": [
"[concat('Microsoft.Compute/virtualMachines/',parameters('machineName'))]"
],
"properties": {
"publisher": "Microsoft.Powershell",
"type": "DSC",
"typeHandlerVersion": "2.21",
"autoUpgradeMinorVersion": true,
"settings": {
"modulesUrl": "[Uri(parameters('existingStorageUrl'),concat('scripts/DSCConfiguration.zip',parameters('existingSASKey')))]",
"configurationFunction": "DPConfiguration.ps1\\DPconfiguration",
"Properties": {
"DomainName": "[parameters('existingDomainFQDN')]",
"AdminCreds": {
"UserName": "[parameters('existingDomainAdminUsername')]",
"Password": "PrivateSettingsRef:DomainAdminPassword"
},
"Primaryname": "[parameters('existingPrimaryName')]"
}
},
"protectedSettings": {
"Items": {
"DomainAdminPassword": "[parameters('existingDomainAdminPassword')]"
}
}
}
},
{
"condition": "[equals(parameters('RoleType'),'SUP')]",
"type": "Microsoft.Compute/virtualMachines/extensions",
"apiVersion": "2018-06-01",
"name": "[concat(parameters('machineName'),'/WorkFlow-SUP')]",
"location": "[parameters('location')]",
"dependsOn": [
"[concat('Microsoft.Compute/virtualMachines/',parameters('machineName'))]"
],
"properties": {
"publisher": "Microsoft.Powershell",
"type": "DSC",
"typeHandlerVersion": "2.21",
"autoUpgradeMinorVersion": true,
"settings": {
"modulesUrl": "[Uri(parameters('existingStorageUrl'),concat('scripts/DSCConfiguration.zip',parameters('existingSASKey')))]",
"configurationFunction": "SUPConfiguration.ps1\\SUPconfiguration",
"Properties": {
"DomainName": "[parameters('existingDomainFQDN')]",
"AdminCreds": {
"UserName": "[parameters('existingDomainAdminUsername')]",
"Password": "PrivateSettingsRef:DomainAdminPassword"
},
"Primaryname": "[parameters('existingPrimaryName')]"
}
},
"protectedSettings": {
"Items": {
"DomainAdminPassword": "[parameters('existingDomainAdminPassword')]"
}
}
}
},
{
"condition": "[equals(parameters('RoleType'),'General')]",
"type": "Microsoft.Compute/virtualMachines/extensions",
"apiVersion": "2018-06-01",
"name": "[concat(parameters('machineName'),'/WorkFlow-General')]",
"location": "[parameters('location')]",
"dependsOn": [
"[concat('Microsoft.Compute/virtualMachines/',parameters('machineName'))]"
],
"properties": {
"publisher": "Microsoft.Powershell",
"type": "DSC",
"typeHandlerVersion": "2.21",
"autoUpgradeMinorVersion": true,
"settings": {
"modulesUrl": "[Uri(parameters('existingStorageUrl'),concat('scripts/DSCConfiguration.zip',parameters('existingSASKey')))]",
"configurationFunction": "GeneralConfiguration.ps1\\Generalconfiguration",
"Properties": {
"DomainName": "[parameters('existingDomainFQDN')]",
"AdminCreds": {
"UserName": "[parameters('existingDomainAdminUsername')]",
"Password": "PrivateSettingsRef:DomainAdminPassword"
},
"Primaryname": "[parameters('existingPrimaryName')]"
}
},
"protectedSettings": {
"Items": {
"DomainAdminPassword": "[parameters('existingDomainAdminPassword')]"
}
}
}
},
{
"type": "Microsoft.Network/networkInterfaces",
"apiVersion": "2018-08-01",
"name": "[concat(toLower(parameters('machineName')), '-ni')]",
"location": "[parameters('location')]",
"dependsOn": [
"[concat('Microsoft.Network/networkSecurityGroups/', parameters('machineName'), '-nsg')]"
],
"properties": {
"ipConfigurations": [
{
"name": "ipconfig1",
"properties": {
"subnet": {
"id": "[variables('networkSettings').subnetRef]"
},
"privateIPAllocationMethod": "[variables('networkSettings').privateIPAllocationMethod]",
"privateIPAddressVersion": "[variables('networkSettings').privateIPAddressVersion]"
}
}
],
"networkSecurityGroup": {
"id": "[resourceId(resourceGroup().name, 'Microsoft.Network/networkSecurityGroups', concat(parameters('machineName'), '-nsg'))]"
}
}
},
{
"type": "Microsoft.Network/networkSecurityGroups",
"apiVersion": "2018-08-01",
"name": "[concat(parameters('machineName'), '-nsg')]",
"location": "[parameters('location')]",
"properties": {
"securityRules": [
{
"name": "[variables('securityGroupRule').name]",
"properties": {
"priority": "[variables('securityGroupRule').priority]",
"sourceAddressPrefix": "[variables('securityGroupRule').sourceAddressPrefix]",
"protocol": "[variables('securityGroupRule').protocol]",
"destinationPortRange": "[variables('securityGroupRule').destinationPortRange]",
"access": "[variables('securityGroupRule').access]",
"direction": "[variables('securityGroupRule').direction]",
"sourcePortRange": "[variables('securityGroupRule').sourcePortRange]",
"destinationAddressPrefix": "[variables('securityGroupRule').destinationAddressPrefix]"
}
}
]
}
}
],
"outputs": {
}
}

View File

@@ -0,0 +1,60 @@
"parameters": {
"machineName": {
"value": "__MachineName__"
},
"adminUsername": {
"value": "__AdminUsername__"
},
"adminPassword": {
"reference": {
"KeyVault": {
"id": "__AdminVaultID__"
},
"secretName": "__AdminSecureName__"
}
},
"diskType": {
"value": "Premium_LRS"
},
"exsitingVnetName": {
"value": "__VirtualNetwork__"
},
"existingVnetResourcegroup": {
"value": "__VirtualNetworkResourceGroup__"
},
"vmSize": {
"value": "__VMSize__"
},
"existingSubnetName": {
"value": "__SubNet__"
},
"existingPrimaryName": {
"value": "__PrimaryName__"
},
"existingDomainFQDN": {
"value": "__DomainName__"
},
"existingDomainAdminUsername": {
"value": "__DomainUser__"
},
"existingDomainAdminPassword": {
"reference": {
"KeyVault": {
"id": "__DomainVaultID__"
},
"secretName": "__DomainSecureName__"
}
},
"existingStorageUrl": {
"value": "__StorageContainer__"
},
"existingSASKey": {
"value": "__sasKey__"
},
"location": {
"value": "__Location__"
},
"RoleType": {
"value": "__RoleType__"
}
}

View File

@@ -0,0 +1,282 @@
$LogList = @()
$LogList += "Start running add distribution point script."
$key = [Microsoft.Win32.RegistryKey]::OpenBaseKey([Microsoft.Win32.RegistryHive]::LocalMachine, [Microsoft.Win32.RegistryView]::Registry32)
$subKey = $key.OpenSubKey("SOFTWARE\Microsoft\ConfigMgr10\Setup")
$uiInstallPath = $subKey.GetValue("UI Installation Directory")
$modulePath = $uiInstallPath+"bin\ConfigurationManager.psd1"
Import-Module $modulePath
$key = [Microsoft.Win32.RegistryKey]::OpenBaseKey([Microsoft.Win32.RegistryHive]::LocalMachine, [Microsoft.Win32.RegistryView]::Registry64)
$subKey = $key.OpenSubKey("SOFTWARE\Microsoft\SMS\Identification")
$SiteCode = $subKey.GetValue("Site Code")
$MachineName = "__MachineFQDN__"
$ProviderMachineName = "__ProviderMachineName__"
$initParams = @{}
# Connect to the site's drive if it is not already present
$LogList += "Setting PS Drive..."
while((Get-PSDrive -Name $SiteCode -PSProvider CMSite -ErrorAction SilentlyContinue) -eq $null)
{
$LogList += "Get drive failed ,retry in 10s. Please wait."
New-PSDrive -Name $SiteCode -PSProvider CMSite -Root $ProviderMachineName @initParams | Out-Null
Start-Sleep -Seconds 10
}
Set-Location "$($SiteCode):\" @initParams
$SystemServer = Get-CMSiteSystemServer -SiteSystemServerName $MachineName
if(!$SystemServer)
{
$LogList += "Creating cm site system server..."
$LogList += New-CMSiteSystemServer -SiteSystemServerName $MachineName
$LogList += "Finished creating cm site system server."
}
else
{
$LogList += "$MachineName is already a Site System Server."
}
if((get-cmdistributionpoint -SiteSystemServerName $MachineName).count -eq 1)
{
$LogList += "$MachineName is already a Distribution Point."
$LogList += 1
return $LogList
}
else
{
$SystemServer = Get-CMSiteSystemServer -SiteSystemServerName $MachineName
$Date = [DateTime]::Now.AddYears(30)
$LogList += "Adding distribution point on $MachineName ..."
$LogList += Add-CMDistributionPoint -InputObject $SystemServer -CertificateExpirationTimeUtc $Date
$LogList += "Finished adding distribution point on $MachineName ..."
if((get-cmdistributionpoint -SiteSystemServerName $MachineName).count -eq 1)
{
$LogList += "Finished running the script."
$LogList += 0
return $LogList
}
else
{
$LogList += "Failed to run the script."
$LogList += 2
return $LogList
}
}
# SIG # Begin signature block
# MIIn4QYJKoZIhvcNAQcCoIIn0jCCJ84CAQExDzANBglghkgBZQMEAgEFADB5Bgor
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCCNu7zXOpsNWcfS
# d4SaGj3wAjATvE3KwAvi1uvRC++40aCCDXYwggX0MIID3KADAgECAhMzAAADrzBA
# DkyjTQVBAAAAAAOvMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD
# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p
# bmcgUENBIDIwMTEwHhcNMjMxMTE2MTkwOTAwWhcNMjQxMTE0MTkwOTAwWjB0MQsw
# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
# AQDOS8s1ra6f0YGtg0OhEaQa/t3Q+q1MEHhWJhqQVuO5amYXQpy8MDPNoJYk+FWA
# hePP5LxwcSge5aen+f5Q6WNPd6EDxGzotvVpNi5ve0H97S3F7C/axDfKxyNh21MG
# 0W8Sb0vxi/vorcLHOL9i+t2D6yvvDzLlEefUCbQV/zGCBjXGlYJcUj6RAzXyeNAN
# xSpKXAGd7Fh+ocGHPPphcD9LQTOJgG7Y7aYztHqBLJiQQ4eAgZNU4ac6+8LnEGAL
# go1ydC5BJEuJQjYKbNTy959HrKSu7LO3Ws0w8jw6pYdC1IMpdTkk2puTgY2PDNzB
# tLM4evG7FYer3WX+8t1UMYNTAgMBAAGjggFzMIIBbzAfBgNVHSUEGDAWBgorBgEE
# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQURxxxNPIEPGSO8kqz+bgCAQWGXsEw
# RQYDVR0RBD4wPKQ6MDgxHjAcBgNVBAsTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEW
# MBQGA1UEBRMNMjMwMDEyKzUwMTgyNjAfBgNVHSMEGDAWgBRIbmTlUAXTgqoXNzci
# tW2oynUClTBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8vd3d3Lm1pY3Jvc29mdC5j
# b20vcGtpb3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIwMTEtMDctMDguY3JsMGEG
# CCsGAQUFBwEBBFUwUzBRBggrBgEFBQcwAoZFaHR0cDovL3d3dy5taWNyb3NvZnQu
# Y29tL3BraW9wcy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDExXzIwMTEtMDctMDguY3J0
# MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIBAISxFt/zR2frTFPB45Yd
# mhZpB2nNJoOoi+qlgcTlnO4QwlYN1w/vYwbDy/oFJolD5r6FMJd0RGcgEM8q9TgQ
# 2OC7gQEmhweVJ7yuKJlQBH7P7Pg5RiqgV3cSonJ+OM4kFHbP3gPLiyzssSQdRuPY
# 1mIWoGg9i7Y4ZC8ST7WhpSyc0pns2XsUe1XsIjaUcGu7zd7gg97eCUiLRdVklPmp
# XobH9CEAWakRUGNICYN2AgjhRTC4j3KJfqMkU04R6Toyh4/Toswm1uoDcGr5laYn
# TfcX3u5WnJqJLhuPe8Uj9kGAOcyo0O1mNwDa+LhFEzB6CB32+wfJMumfr6degvLT
# e8x55urQLeTjimBQgS49BSUkhFN7ois3cZyNpnrMca5AZaC7pLI72vuqSsSlLalG
# OcZmPHZGYJqZ0BacN274OZ80Q8B11iNokns9Od348bMb5Z4fihxaBWebl8kWEi2O
# PvQImOAeq3nt7UWJBzJYLAGEpfasaA3ZQgIcEXdD+uwo6ymMzDY6UamFOfYqYWXk
# ntxDGu7ngD2ugKUuccYKJJRiiz+LAUcj90BVcSHRLQop9N8zoALr/1sJuwPrVAtx
# HNEgSW+AKBqIxYWM4Ev32l6agSUAezLMbq5f3d8x9qzT031jMDT+sUAoCw0M5wVt
# CUQcqINPuYjbS1WgJyZIiEkBMIIHejCCBWKgAwIBAgIKYQ6Q0gAAAAAAAzANBgkq
# hkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24x
# EDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv
# bjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5
# IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEwOTA5WjB+MQswCQYDVQQG
# EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG
# A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYDVQQDEx9NaWNyb3NvZnQg
# Q29kZSBTaWduaW5nIFBDQSAyMDExMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC
# CgKCAgEAq/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+laUKq4BjgaBEm6f8MMHt03
# a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSHfpRgJGyvnkmc6Whe0t+bU7IKLMOv2akr
# rnoJr9eWWcpgGgXpZnboMlImEi/nqwhQz7NEt13YxC4Ddato88tt8zpcoRb0Rrrg
# OGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnnDb6gE3e+lD3v++MrWhAfTVYoonpy
# 4BI6t0le2O3tQ5GD2Xuye4Yb2T6xjF3oiU+EGvKhL1nkkDstrjNYxbc+/jLTswM9
# sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOEy/S6A4aN91/w0FK/jJSHvMAh
# dCVfGCi2zCcoOCWYOUo2z3yxkq4cI6epZuxhH2rhKEmdX4jiJV3TIUs+UsS1Vz8k
# A/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL5zmhD+kjSbwYuER8ReTB
# w3J64HLnJN+/RpnF78IcV9uDjexNSTCnq47f7Fufr/zdsGbiwZeBe+3W7UvnSSmn
# Eyimp31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3T8HhhUSJxAlMxdSlQy90
# lfdu+HggWCwTXWCVmj5PM4TasIgX3p5O9JawvEagbJjS4NaIjAsCAwEAAaOCAe0w
# ggHpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRIbmTlUAXTgqoXNzcitW2o
# ynUClTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYD
# VR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRyLToCMZBDuRQFTuHqp8cx0SOJNDBa
# BgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2Ny
# bC9wcm9kdWN0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNfMjIuY3JsMF4GCCsG
# AQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDovL3d3dy5taWNyb3NvZnQuY29t
# L3BraS9jZXJ0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNfMjIuY3J0MIGfBgNV
# HSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEFBQcCARYzaHR0cDovL3d3
# dy5taWNyb3NvZnQuY29tL3BraW9wcy9kb2NzL3ByaW1hcnljcHMuaHRtMEAGCCsG
# AQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkAYwB5AF8AcwB0AGEAdABl
# AG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQBn8oalmOBUeRou09h0ZyKb
# C5YR4WOSmUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7v0epo/Np22O/IjWll11l
# hJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r4z4HLimb5j0bpdS1HXeUOeLpZMlEPXh6
# I/MTfaaQdION9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/KmtYSWMfCWluWpiW5IP0
# wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiXmE0OPQvyCInWH8MyGOLwxS3OW560
# STkKxgrCxq2u5bLZ2xWIUUVYODJxJxp/sfQn+N4sOiBpmLJZiWhub6e3dMNABQam
# ASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPDXVJihsMdYzaXht/a8/jyFqGa
# J+HNpZfQ7l1jQeNbB5yHPgZ3BtEGsXUfFL5hYbXw3MYbBL7fQccOKO7eZS/sl/ah
# XJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbSoqKfenoi+kiVH6v7RyOA
# 9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sLgOppO6/8MO0ETI7f33Vt
# Y5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtXcVZOSEXAQsmbdlsKgEhr
# /Xmfwb1tbWrJUnMTDXpQzTGCGcEwghm9AgEBMIGVMH4xCzAJBgNVBAYTAlVTMRMw
# EQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVN
# aWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNp
# Z25pbmcgUENBIDIwMTECEzMAAAOvMEAOTKNNBUEAAAAAA68wDQYJYIZIAWUDBAIB
# BQCggcwwGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwHAYKKwYBBAGCNwIBCzEO
# MAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIB7C1PCGIegnemn6gD1SFzAj
# SVPITm9aHySFVGmzHcMgMGAGCisGAQQBgjcCAQwxUjBQoDKAMABFAHgAdABlAG4A
# ZABNAGkAZwByAGEAdABlAFQAbwBBAHoAdQByAGUALgBlAHgAZaEagBhodHRwOi8v
# d3d3Lm1pY3Jvc29mdC5jb20wDQYJKoZIhvcNAQEBBQAEggEAxsHHK3YEkyaA1E/T
# YIdVaS5rGzS7hIwI5lWVMF+hnF86ahjDrvxyZn3PkTnby9z3xQbmNRL8/wDhoD0R
# iYGP5i/uCkzBouhaBZDFTGi+VhtcVK7xUDdasDlEJ+z98lH2xpVVIRJLeim/SAW9
# rYIHr6f9amOjlxXhVh48XPI+CKDFc1/YL2au8UctPtuYf8KTfwOUyTkp8nsq2Wey
# 7L6+EhMdYmIVSKdxqtTSlJ//+k3mdxkNR5FP40VTeUCYIjjEi2rZzeYZvx6KVFzZ
# pEqAuYIvxZmD/0tnXLYiM7oobDDoG7LNwXGPk19C4KN/fezj8YReBolMoED1Y1le
# 75B/qKGCFy0wghcpBgorBgEEAYI3AwMBMYIXGTCCFxUGCSqGSIb3DQEHAqCCFwYw
# ghcCAgEDMQ8wDQYJYIZIAWUDBAIBBQAwggFZBgsqhkiG9w0BCRABBKCCAUgEggFE
# MIIBQAIBAQYKKwYBBAGEWQoDATAxMA0GCWCGSAFlAwQCAQUABCCwgwS5buPUmU1e
# n7zG4x2tQvtsWGWssEK2Uy8q9nFpwgIGZjOhcWg+GBMyMDI0MDUwMjIwNTgwOS45
# MjZaMASAAgH0oIHYpIHVMIHSMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGlu
# Z3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBv
# cmF0aW9uMS0wKwYDVQQLEyRNaWNyb3NvZnQgSXJlbGFuZCBPcGVyYXRpb25zIExp
# bWl0ZWQxJjAkBgNVBAsTHVRoYWxlcyBUU1MgRVNOOjJBRDQtNEI5Mi1GQTAxMSUw
# IwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBTZXJ2aWNloIIRfDCCBycwggUP
# oAMCAQICEzMAAAHenkielp8oRD0AAQAAAd4wDQYJKoZIhvcNAQELBQAwfDELMAkG
# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx
# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9z
# b2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwHhcNMjMxMDEyMTkwNzEyWhcNMjUwMTEw
# MTkwNzEyWjCB0jELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAO
# BgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEt
# MCsGA1UECxMkTWljcm9zb2Z0IElyZWxhbmQgT3BlcmF0aW9ucyBMaW1pdGVkMSYw
# JAYDVQQLEx1UaGFsZXMgVFNTIEVTTjoyQUQ0LTRCOTItRkEwMTElMCMGA1UEAxMc
# TWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZTCCAiIwDQYJKoZIhvcNAQEBBQAD
# ggIPADCCAgoCggIBALSB9ByF9UIDhA6xFrOniw/xsDl8sSi9rOCOXSSO4VMQjnNG
# Ao5VHx0iijMEMH9LY2SUIBkVQS0Ml6kR+TagkUPbaEpwjhQ1mprhRgJT/jlSnic4
# 2VDAo0en4JI6xnXoAoWoKySY8/ROIKdpphgI7OJb4XHk1P3sX2pNZ32LDY1ktchK
# 1/hWyPlblaXAHRu0E3ynvwrS8/bcorANO6DjuysyS9zUmr+w3H3AEvSgs2ReuLj2
# pkBcfW1UPCFudLd7IPZ2RC4odQcEPnY12jypYPnS6yZAs0pLpq0KRFUyB1x6x6OU
# 73sudiHON16mE0l6LLT9OmGo0S94Bxg3N/3aE6fUbnVoemVc7FkFLum8KkZcbQ7c
# OHSAWGJxdCvo5OtUtRdSqf85FklCXIIkg4sm7nM9TktUVfO0kp6kx7mysgD0Qrxx
# 6/5oaqnwOTWLNzK+BCi1G7nUD1pteuXvQp8fE1KpTjnG/1OJeehwKNNPjGt98V0B
# mogZTe3SxBkOeOQyLA++5Hyg/L68pe+DrZoZPXJaGU/iBiFmL+ul/Oi3d83zLAHl
# HQmH/VGNBfRwP+ixvqhyk/EebwuXVJY+rTyfbRfuh9n0AaMhhNxxg6tGKyZS4EAE
# iDxrF9mAZEy8e8rf6dlKIX5d3aQLo9fDda1ZTOw+XAcAvj2/N3DLVGZlHnHlAgMB
# AAGjggFJMIIBRTAdBgNVHQ4EFgQUazAmbxseaapgdxzK8Os+naPQEsgwHwYDVR0j
# BBgwFoAUn6cVXQBeYl2D9OXSZacbUzUZ6XIwXwYDVR0fBFgwVjBUoFKgUIZOaHR0
# cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jcmwvTWljcm9zb2Z0JTIwVGlt
# ZS1TdGFtcCUyMFBDQSUyMDIwMTAoMSkuY3JsMGwGCCsGAQUFBwEBBGAwXjBcBggr
# BgEFBQcwAoZQaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9N
# aWNyb3NvZnQlMjBUaW1lLVN0YW1wJTIwUENBJTIwMjAxMCgxKS5jcnQwDAYDVR0T
# AQH/BAIwADAWBgNVHSUBAf8EDDAKBggrBgEFBQcDCDAOBgNVHQ8BAf8EBAMCB4Aw
# DQYJKoZIhvcNAQELBQADggIBAOKUwHsXDacGOvUIgs5HDgPs0LZ1qyHS6C6wfKlL
# aD36tZfbWt1x+GMiazSuy+GsxiVHzkhMW+FqK8gruLQWN/sOCX+fGUgT9LT21cRI
# pcZj4/ZFIvwtkBcsCz1XEUsXYOSJUPitY7E8bbldmmhYZ29p+XQpIcsG/q+YjkqB
# W9mw0ru1MfxMTQs9MTDiD28gAVGrPA3NykiSChvdqS7VX+/LcEz9Ubzto/w28WA8
# HOCHqBTbDRHmiP7MIj+SQmI9VIayYsIGRjvelmNa0OvbU9CJSz/NfMEgf2NHMZUY
# W8KqWEjIjPfHIKxWlNMYhuWfWRSHZCKyIANA0aJL4soHQtzzZ2MnNfjYY851wHYj
# GgwUj/hlLRgQO5S30Zx78GqBKfylp25aOWJ/qPhC+DXM2gXajIXbl+jpGcVANwtF
# FujCJRdZbeH1R+Q41FjgBg4m3OTFDGot5DSuVkQgjku7pOVPtldE46QlDg/2WhPp
# TQxXH64sP1GfkAwUtt6rrZM/PCwRG6girYmnTRLLsicBhoYLh+EEFjVviXAGTk6p
# nu8jx/4WPWu0jsz7yFzg82/FMqCk9wK3LvyLAyDHN+FxbHAxtgwad7oLQPM0WGER
# dB1umPCIiYsSf/j79EqHdoNwQYROVm+ZX10RX3n6bRmAnskeNhi0wnVaeVogLMdG
# D+nqMIIHcTCCBVmgAwIBAgITMwAAABXF52ueAptJmQAAAAAAFTANBgkqhkiG9w0B
# AQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNV
# BAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEyMDAG
# A1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTAw
# HhcNMjEwOTMwMTgyMjI1WhcNMzAwOTMwMTgzMjI1WjB8MQswCQYDVQQGEwJVUzET
# MBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMV
# TWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1T
# dGFtcCBQQ0EgMjAxMDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAOTh
# pkzntHIhC3miy9ckeb0O1YLT/e6cBwfSqWxOdcjKNVf2AX9sSuDivbk+F2Az/1xP
# x2b3lVNxWuJ+Slr+uDZnhUYjDLWNE893MsAQGOhgfWpSg0S3po5GawcU88V29YZQ
# 3MFEyHFcUTE3oAo4bo3t1w/YJlN8OWECesSq/XJprx2rrPY2vjUmZNqYO7oaezOt
# gFt+jBAcnVL+tuhiJdxqD89d9P6OU8/W7IVWTe/dvI2k45GPsjksUZzpcGkNyjYt
# cI4xyDUoveO0hyTD4MmPfrVUj9z6BVWYbWg7mka97aSueik3rMvrg0XnRm7KMtXA
# hjBcTyziYrLNueKNiOSWrAFKu75xqRdbZ2De+JKRHh09/SDPc31BmkZ1zcRfNN0S
# idb9pSB9fvzZnkXftnIv231fgLrbqn427DZM9ituqBJR6L8FA6PRc6ZNN3SUHDSC
# D/AQ8rdHGO2n6Jl8P0zbr17C89XYcz1DTsEzOUyOArxCaC4Q6oRRRuLRvWoYWmEB
# c8pnol7XKHYC4jMYctenIPDC+hIK12NvDMk2ZItboKaDIV1fMHSRlJTYuVD5C4lh
# 8zYGNRiER9vcG9H9stQcxWv2XFJRXRLbJbqvUAV6bMURHXLvjflSxIUXk8A8Fdsa
# N8cIFRg/eKtFtvUeh17aj54WcmnGrnu3tz5q4i6tAgMBAAGjggHdMIIB2TASBgkr
# BgEEAYI3FQEEBQIDAQABMCMGCSsGAQQBgjcVAgQWBBQqp1L+ZMSavoKRPEY1Kc8Q
# /y8E7jAdBgNVHQ4EFgQUn6cVXQBeYl2D9OXSZacbUzUZ6XIwXAYDVR0gBFUwUzBR
# BgwrBgEEAYI3TIN9AQEwQTA/BggrBgEFBQcCARYzaHR0cDovL3d3dy5taWNyb3Nv
# ZnQuY29tL3BraW9wcy9Eb2NzL1JlcG9zaXRvcnkuaHRtMBMGA1UdJQQMMAoGCCsG
# AQUFBwMIMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIBhjAP
# BgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNX2VsuP6KJcYmjRPZSQW9fOmhjE
# MFYGA1UdHwRPME0wS6BJoEeGRWh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2kv
# Y3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNybDBaBggrBgEF
# BQcBAQROMEwwSgYIKwYBBQUHMAKGPmh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9w
# a2kvY2VydHMvTWljUm9vQ2VyQXV0XzIwMTAtMDYtMjMuY3J0MA0GCSqGSIb3DQEB
# CwUAA4ICAQCdVX38Kq3hLB9nATEkW+Geckv8qW/qXBS2Pk5HZHixBpOXPTEztTnX
# wnE2P9pkbHzQdTltuw8x5MKP+2zRoZQYIu7pZmc6U03dmLq2HnjYNi6cqYJWAAOw
# Bb6J6Gngugnue99qb74py27YP0h1AdkY3m2CDPVtI1TkeFN1JFe53Z/zjj3G82jf
# ZfakVqr3lbYoVSfQJL1AoL8ZthISEV09J+BAljis9/kpicO8F7BUhUKz/AyeixmJ
# 5/ALaoHCgRlCGVJ1ijbCHcNhcy4sa3tuPywJeBTpkbKpW99Jo3QMvOyRgNI95ko+
# ZjtPu4b6MhrZlvSP9pEB9s7GdP32THJvEKt1MMU0sHrYUP4KWN1APMdUbZ1jdEgs
# sU5HLcEUBHG/ZPkkvnNtyo4JvbMBV0lUZNlz138eW0QBjloZkWsNn6Qo3GcZKCS6
# OEuabvshVGtqRRFHqfG3rsjoiV5PndLQTHa1V1QJsWkBRH58oWFsc/4Ku+xBZj1p
# /cvBQUl+fpO+y/g75LcVv7TOPqUxUYS8vwLBgqJ7Fx0ViY1w/ue10CgaiQuPNtq6
# TPmb/wrpNPgkNWcr4A245oyZ1uEi6vAnQj0llOZ0dFtq0Z4+7X6gMTN9vMvpe784
# cETRkPHIqzqKOghif9lwY1NNje6CbaUFEMFxBmoQtB1VM1izoXBm8qGCAtgwggJB
# AgEBMIIBAKGB2KSB1TCB0jELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0
# b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3Jh
# dGlvbjEtMCsGA1UECxMkTWljcm9zb2Z0IElyZWxhbmQgT3BlcmF0aW9ucyBMaW1p
# dGVkMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjoyQUQ0LTRCOTItRkEwMTElMCMG
# A1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZaIjCgEBMAcGBSsOAwIa
# AxUAaKBSisy4y86pl8Xy22CJZExE2vOggYMwgYCkfjB8MQswCQYDVQQGEwJVUzET
# MBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMV
# TWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1T
# dGFtcCBQQ0EgMjAxMDANBgkqhkiG9w0BAQUFAAIFAOneH+MwIhgPMjAyNDA1MDIy
# MjIxMjNaGA8yMDI0MDUwMzIyMjEyM1oweDA+BgorBgEEAYRZCgQBMTAwLjAKAgUA
# 6d4f4wIBADALAgEAAgMBHHgCAf8wBwIBAAICE/YwCgIFAOnfcWMCAQAwNgYKKwYB
# BAGEWQoEAjEoMCYwDAYKKwYBBAGEWQoDAqAKMAgCAQACAwehIKEKMAgCAQACAwGG
# oDANBgkqhkiG9w0BAQUFAAOBgQChqUVzyjSvZsd79JUJddw2P0vHrT2Azx/D5Nh3
# 3MUFAU0AUMRWx6pqbyHD7Gf0OYljwMdX8TLfsorsODpvMVFyLQQhANBQMzScn6JV
# YUyJWGlXEFf3zEVmoXzfY3wtQnrDdUVaeg9NoY9ttFqPtJamKUBRZnfPO8xtfvRB
# gfm8rjGCBA0wggQJAgEBMIGTMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNo
# aW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29y
# cG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEw
# AhMzAAAB3p5InpafKEQ9AAEAAAHeMA0GCWCGSAFlAwQCAQUAoIIBSjAaBgkqhkiG
# 9w0BCQMxDQYLKoZIhvcNAQkQAQQwLwYJKoZIhvcNAQkEMSIEIPwY1dgN5VvcvTqV
# 5plQyevnS1e+fgC1iSBzw5dUCuhTMIH6BgsqhkiG9w0BCRACLzGB6jCB5zCB5DCB
# vQQgjj4jnw3BXhAQSQJ/5gtzIK0+cP1Ns/NS2A+OB3N+HXswgZgwgYCkfjB8MQsw
# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNy
# b3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMAITMwAAAd6eSJ6WnyhEPQABAAAB3jAi
# BCCqlMZRRFgGINs4+HhXdMQi8+rUCVp+3udHqe8NfDTWAjANBgkqhkiG9w0BAQsF
# AASCAgBcMhgTYN26v6I3JV7eJs/o66WmKPuFe1TK+vbymc5SXRQfupknTCo/PSAK
# vcjYzEnjCDaUP4Qt/xdn6rEVKyhgMXqabsWYEHuE9my+4+FwEYLGiuo95B9TemkI
# cZX+KLC8zDpuscI72lWIDt1057lP+LZ6PY1VSk+F7w0vA60CekwN3XlGT7Ba+IQN
# XInDLnTgYIy2xCRn6t3S+mMWR79sMZ0ONo2kQmGn/JgpaWsnQ4+Nll5Hmr4SWLXi
# 4Co/1ntTqxzP4o1KuYXnzIbH7WGYcucy/+n3vo+AZqfBGPsitw0ScQepvNx4fJ8/
# inyhKqLhpE/TgJlOncBBiDuQeXCwZ8yx/QW9j9r7fjadg1NMszxSIcArlwL9DWRb
# KPR/KlckJmH2RyfYw3aK/gEEASIP9B+XV/EYrHDOqMH0+L5zqpmc4mFKvXhRtm9f
# mFSv6d0h4CTOsuDi+KngVmgLFoDzVy5zMmJsPocRIJ+hTKkmpHDOvRWlRYndgMXV
# oBuZMmSJqQPNg4TPq5PqMnxFX7gMjedeQwR0pxS27jIsIw0XMUf99gKMf4+lPqGN
# 9n+RupRcvUkL5JcovhwKNc3ywwwYxxc+r7+h7UOB089+6UPKa4RFrgJWGd0p30XU
# XbOINxoKRalc52ksWLsJcZVpygvOxA41ytTTUnUnsRmYs16bDg==
# SIG # End signature block

View File

@@ -0,0 +1,289 @@
#ClientCommunication:__HTTPSORNOT__
#ClientConnectionType:__ClientConnectionType__
$LogList = @()
$LogList += "Start running add distribution point (HTTPS) script."
$key = [Microsoft.Win32.RegistryKey]::OpenBaseKey([Microsoft.Win32.RegistryHive]::LocalMachine, [Microsoft.Win32.RegistryView]::Registry32)
$subKey = $key.OpenSubKey("SOFTWARE\Microsoft\ConfigMgr10\Setup")
$uiInstallPath = $subKey.GetValue("UI Installation Directory")
$modulePath = $uiInstallPath+"bin\ConfigurationManager.psd1"
Import-Module $modulePath
$key = [Microsoft.Win32.RegistryKey]::OpenBaseKey([Microsoft.Win32.RegistryHive]::LocalMachine, [Microsoft.Win32.RegistryView]::Registry64)
$subKey = $key.OpenSubKey("SOFTWARE\Microsoft\SMS\Identification")
$SiteCode = $subKey.GetValue("Site Code")
$MachineName = "__MachineFQDN__"
$ProviderMachineName = "__ProviderMachineName__"
$Communication = "__HTTPSORNOT__"
$ClientConnectionType = "__ClientConnectionType__"
$initParams = @{}
# Connect to the site's drive if it is not already present
$LogList += "Setting PS Drive..."
while((Get-PSDrive -Name $SiteCode -PSProvider CMSite -ErrorAction SilentlyContinue) -eq $null)
{
$LogList += "Get drive failed ,retry in 10s. Please wait."
New-PSDrive -Name $SiteCode -PSProvider CMSite -Root $ProviderMachineName @initParams | Out-Null
Start-Sleep -Seconds 10
}
Set-Location "$($SiteCode):\" @initParams
$SystemServer = Get-CMSiteSystemServer -SiteSystemServerName $MachineName
if(!$SystemServer)
{
$LogList += "Creating cm site system server..."
$LogList += New-CMSiteSystemServer -SiteSystemServerName $MachineName
$LogList += "Finished creating cm site system server."
}
else
{
$LogList += "$MachineName is already a Site System Server."
}
if((get-cmdistributionpoint -SiteSystemServerName $MachineName).count -eq 1)
{
$LogList += "$MachineName is already a Distribution Point."
$LogList += 1
return $LogList
}
else
{
$SystemServer = Get-CMSiteSystemServer -SiteSystemServerName $MachineName
$Date = [DateTime]::Now.AddYears(30)
$Date = [DateTime]::Now.AddYears(30)
$LogList += "Adding distribution point on $MachineName ..."
$LogList += Add-CMDistributionPoint -InputObject $SystemServer -CertificateExpirationTimeUtc $Date
$LogList += Set-CMDistributionPoint -SiteSystemServerName $MachineName -ClientCommunicationType $Communication -ClientConnectionType $ClientConnectionType
$LogList += "Finished adding distribution point on $MachineName ..."
if((get-cmdistributionpoint -SiteSystemServerName $MachineName).count -eq 1)
{
$LogList += "Finished running the script."
$LogList += 0
return $LogList
}
else
{
$LogList += "Failed to run the script."
$LogList += 2
return $LogList
}
}
# SIG # Begin signature block
# MIIn4QYJKoZIhvcNAQcCoIIn0jCCJ84CAQExDzANBglghkgBZQMEAgEFADB5Bgor
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCC4Gje702+lN5Fh
# /qA4BxVde4fI/mlnB6ByjHBEkPbVaKCCDXYwggX0MIID3KADAgECAhMzAAADrzBA
# DkyjTQVBAAAAAAOvMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD
# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p
# bmcgUENBIDIwMTEwHhcNMjMxMTE2MTkwOTAwWhcNMjQxMTE0MTkwOTAwWjB0MQsw
# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
# AQDOS8s1ra6f0YGtg0OhEaQa/t3Q+q1MEHhWJhqQVuO5amYXQpy8MDPNoJYk+FWA
# hePP5LxwcSge5aen+f5Q6WNPd6EDxGzotvVpNi5ve0H97S3F7C/axDfKxyNh21MG
# 0W8Sb0vxi/vorcLHOL9i+t2D6yvvDzLlEefUCbQV/zGCBjXGlYJcUj6RAzXyeNAN
# xSpKXAGd7Fh+ocGHPPphcD9LQTOJgG7Y7aYztHqBLJiQQ4eAgZNU4ac6+8LnEGAL
# go1ydC5BJEuJQjYKbNTy959HrKSu7LO3Ws0w8jw6pYdC1IMpdTkk2puTgY2PDNzB
# tLM4evG7FYer3WX+8t1UMYNTAgMBAAGjggFzMIIBbzAfBgNVHSUEGDAWBgorBgEE
# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQURxxxNPIEPGSO8kqz+bgCAQWGXsEw
# RQYDVR0RBD4wPKQ6MDgxHjAcBgNVBAsTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEW
# MBQGA1UEBRMNMjMwMDEyKzUwMTgyNjAfBgNVHSMEGDAWgBRIbmTlUAXTgqoXNzci
# tW2oynUClTBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8vd3d3Lm1pY3Jvc29mdC5j
# b20vcGtpb3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIwMTEtMDctMDguY3JsMGEG
# CCsGAQUFBwEBBFUwUzBRBggrBgEFBQcwAoZFaHR0cDovL3d3dy5taWNyb3NvZnQu
# Y29tL3BraW9wcy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDExXzIwMTEtMDctMDguY3J0
# MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIBAISxFt/zR2frTFPB45Yd
# mhZpB2nNJoOoi+qlgcTlnO4QwlYN1w/vYwbDy/oFJolD5r6FMJd0RGcgEM8q9TgQ
# 2OC7gQEmhweVJ7yuKJlQBH7P7Pg5RiqgV3cSonJ+OM4kFHbP3gPLiyzssSQdRuPY
# 1mIWoGg9i7Y4ZC8ST7WhpSyc0pns2XsUe1XsIjaUcGu7zd7gg97eCUiLRdVklPmp
# XobH9CEAWakRUGNICYN2AgjhRTC4j3KJfqMkU04R6Toyh4/Toswm1uoDcGr5laYn
# TfcX3u5WnJqJLhuPe8Uj9kGAOcyo0O1mNwDa+LhFEzB6CB32+wfJMumfr6degvLT
# e8x55urQLeTjimBQgS49BSUkhFN7ois3cZyNpnrMca5AZaC7pLI72vuqSsSlLalG
# OcZmPHZGYJqZ0BacN274OZ80Q8B11iNokns9Od348bMb5Z4fihxaBWebl8kWEi2O
# PvQImOAeq3nt7UWJBzJYLAGEpfasaA3ZQgIcEXdD+uwo6ymMzDY6UamFOfYqYWXk
# ntxDGu7ngD2ugKUuccYKJJRiiz+LAUcj90BVcSHRLQop9N8zoALr/1sJuwPrVAtx
# HNEgSW+AKBqIxYWM4Ev32l6agSUAezLMbq5f3d8x9qzT031jMDT+sUAoCw0M5wVt
# CUQcqINPuYjbS1WgJyZIiEkBMIIHejCCBWKgAwIBAgIKYQ6Q0gAAAAAAAzANBgkq
# hkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24x
# EDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv
# bjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5
# IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEwOTA5WjB+MQswCQYDVQQG
# EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG
# A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYDVQQDEx9NaWNyb3NvZnQg
# Q29kZSBTaWduaW5nIFBDQSAyMDExMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC
# CgKCAgEAq/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+laUKq4BjgaBEm6f8MMHt03
# a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSHfpRgJGyvnkmc6Whe0t+bU7IKLMOv2akr
# rnoJr9eWWcpgGgXpZnboMlImEi/nqwhQz7NEt13YxC4Ddato88tt8zpcoRb0Rrrg
# OGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnnDb6gE3e+lD3v++MrWhAfTVYoonpy
# 4BI6t0le2O3tQ5GD2Xuye4Yb2T6xjF3oiU+EGvKhL1nkkDstrjNYxbc+/jLTswM9
# sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOEy/S6A4aN91/w0FK/jJSHvMAh
# dCVfGCi2zCcoOCWYOUo2z3yxkq4cI6epZuxhH2rhKEmdX4jiJV3TIUs+UsS1Vz8k
# A/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL5zmhD+kjSbwYuER8ReTB
# w3J64HLnJN+/RpnF78IcV9uDjexNSTCnq47f7Fufr/zdsGbiwZeBe+3W7UvnSSmn
# Eyimp31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3T8HhhUSJxAlMxdSlQy90
# lfdu+HggWCwTXWCVmj5PM4TasIgX3p5O9JawvEagbJjS4NaIjAsCAwEAAaOCAe0w
# ggHpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRIbmTlUAXTgqoXNzcitW2o
# ynUClTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYD
# VR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRyLToCMZBDuRQFTuHqp8cx0SOJNDBa
# BgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2Ny
# bC9wcm9kdWN0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNfMjIuY3JsMF4GCCsG
# AQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDovL3d3dy5taWNyb3NvZnQuY29t
# L3BraS9jZXJ0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNfMjIuY3J0MIGfBgNV
# HSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEFBQcCARYzaHR0cDovL3d3
# dy5taWNyb3NvZnQuY29tL3BraW9wcy9kb2NzL3ByaW1hcnljcHMuaHRtMEAGCCsG
# AQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkAYwB5AF8AcwB0AGEAdABl
# AG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQBn8oalmOBUeRou09h0ZyKb
# C5YR4WOSmUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7v0epo/Np22O/IjWll11l
# hJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r4z4HLimb5j0bpdS1HXeUOeLpZMlEPXh6
# I/MTfaaQdION9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/KmtYSWMfCWluWpiW5IP0
# wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiXmE0OPQvyCInWH8MyGOLwxS3OW560
# STkKxgrCxq2u5bLZ2xWIUUVYODJxJxp/sfQn+N4sOiBpmLJZiWhub6e3dMNABQam
# ASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPDXVJihsMdYzaXht/a8/jyFqGa
# J+HNpZfQ7l1jQeNbB5yHPgZ3BtEGsXUfFL5hYbXw3MYbBL7fQccOKO7eZS/sl/ah
# XJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbSoqKfenoi+kiVH6v7RyOA
# 9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sLgOppO6/8MO0ETI7f33Vt
# Y5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtXcVZOSEXAQsmbdlsKgEhr
# /Xmfwb1tbWrJUnMTDXpQzTGCGcEwghm9AgEBMIGVMH4xCzAJBgNVBAYTAlVTMRMw
# EQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVN
# aWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNp
# Z25pbmcgUENBIDIwMTECEzMAAAOvMEAOTKNNBUEAAAAAA68wDQYJYIZIAWUDBAIB
# BQCggcwwGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwHAYKKwYBBAGCNwIBCzEO
# MAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEINkqFDyuVu0yU1IG2uh806Cg
# w60aknbPtwQDniR88xIEMGAGCisGAQQBgjcCAQwxUjBQoDKAMABFAHgAdABlAG4A
# ZABNAGkAZwByAGEAdABlAFQAbwBBAHoAdQByAGUALgBlAHgAZaEagBhodHRwOi8v
# d3d3Lm1pY3Jvc29mdC5jb20wDQYJKoZIhvcNAQEBBQAEggEAQAgdlWNNkZs5lUb9
# UACCowE+4KpvVwAqsNK8I3TW0i9Cig54s++KtnrQmCv+hviKumTl3ZO+e8ttqVn+
# djFaLgJP7POblkqFO/RssZzGaNfIBvO9nMgADVI0c2I0QGASTDrs5DSdze8WMHax
# HqjGtUjgAmCqs5pzJGm9Dzcdtue4PqWRAUbiLqOkQYJAcRG5Bd4XZoMEPhexPsvI
# 8/wTSehsDco5qNChVPBVMHlGt0XdhET0QDwwPIrzd965k8yZJb6KuDX8Twij+LBU
# VEmPFsnt8iaF6hNAjzdUFkvtHjhLwvozZgthmvToJw9clEYcxieng4I9/cSTLmUB
# 5VSfXKGCFy0wghcpBgorBgEEAYI3AwMBMYIXGTCCFxUGCSqGSIb3DQEHAqCCFwYw
# ghcCAgEDMQ8wDQYJYIZIAWUDBAIBBQAwggFZBgsqhkiG9w0BCRABBKCCAUgEggFE
# MIIBQAIBAQYKKwYBBAGEWQoDATAxMA0GCWCGSAFlAwQCAQUABCDfuMFanQiVZsOP
# gsa3scnTk3Xv+dB7ZS26tuwjN9xRoQIGZjOqeGCYGBMyMDI0MDUwMjIwNTgwOS41
# ODdaMASAAgH0oIHYpIHVMIHSMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGlu
# Z3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBv
# cmF0aW9uMS0wKwYDVQQLEyRNaWNyb3NvZnQgSXJlbGFuZCBPcGVyYXRpb25zIExp
# bWl0ZWQxJjAkBgNVBAsTHVRoYWxlcyBUU1MgRVNOOjg2REYtNEJCQy05MzM1MSUw
# IwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBTZXJ2aWNloIIRfDCCBycwggUP
# oAMCAQICEzMAAAHdXVcdldStqhsAAQAAAd0wDQYJKoZIhvcNAQELBQAwfDELMAkG
# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx
# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9z
# b2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwHhcNMjMxMDEyMTkwNzA5WhcNMjUwMTEw
# MTkwNzA5WjCB0jELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAO
# BgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEt
# MCsGA1UECxMkTWljcm9zb2Z0IElyZWxhbmQgT3BlcmF0aW9ucyBMaW1pdGVkMSYw
# JAYDVQQLEx1UaGFsZXMgVFNTIEVTTjo4NkRGLTRCQkMtOTMzNTElMCMGA1UEAxMc
# TWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZTCCAiIwDQYJKoZIhvcNAQEBBQAD
# ggIPADCCAgoCggIBAKhOA5RE6i53nHURH4lnfKLp+9JvipuTtctairCxMUSrPSy5
# CWK2DtriQP+T52HXbN2g7AktQ1pQZbTDGFzK6d03vYYNrCPuJK+PRsP2FPVDjBXy
# 5mrLRFzIHHLaiAaobE5vFJuoxZ0ZWdKMCs8acjhHUmfaY+79/CR7uN+B4+xjJqwv
# dpU/mp0mAq3earyH+AKmv6lkrQN8zgrcbCgHwsqvvqT6lEFqYpi7uKn7MAYbSeLe
# 0pMdatV5EW6NVnXMYOTRKuGPfyfBKdShualLo88kG7qa2mbA5l77+X06JAesMkoy
# Yr4/9CgDFjHUpcHSODujlFBKMi168zRdLerdpW0bBX9EDux2zBMMaEK8NyxawCEu
# Aq7++7ktFAbl3hUKtuzYC1FUZuUl2Bq6U17S4CKsqR3itLT9qNcb2pAJ4jrIDdll
# 5Tgoqef5gpv+YcvBM834bXFNwytd3ujDD24P9Dd8xfVJvumjsBQQkK5T/qy3HrQJ
# 8ud1nHSvtFVi5Sa/ubGuYEpS8gF6GDWN5/KbveFkdsoTVIPo8pkWhjPs0Q7nA5+u
# BxQB4zljEjKz5WW7BA4wpmFm24fhBmRjV4Nbp+n78cgAjvDSfTlA6DYBcv2kx1JH
# 2dIhaRnSeOXePT6hMF0Il598LMu0rw35ViUWcAQkUNUTxRnqGFxz5w+ZusMDAgMB
# AAGjggFJMIIBRTAdBgNVHQ4EFgQUbqL1toyPUdpFyyHSDKWj0I4lw/EwHwYDVR0j
# BBgwFoAUn6cVXQBeYl2D9OXSZacbUzUZ6XIwXwYDVR0fBFgwVjBUoFKgUIZOaHR0
# cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jcmwvTWljcm9zb2Z0JTIwVGlt
# ZS1TdGFtcCUyMFBDQSUyMDIwMTAoMSkuY3JsMGwGCCsGAQUFBwEBBGAwXjBcBggr
# BgEFBQcwAoZQaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9N
# aWNyb3NvZnQlMjBUaW1lLVN0YW1wJTIwUENBJTIwMjAxMCgxKS5jcnQwDAYDVR0T
# AQH/BAIwADAWBgNVHSUBAf8EDDAKBggrBgEFBQcDCDAOBgNVHQ8BAf8EBAMCB4Aw
# DQYJKoZIhvcNAQELBQADggIBAC5U2bINLgXIHWbMcqVuf9jkUT/K8zyLBvu5h8Jr
# qYR2z/eaO2yo1Ooc9Shyvxbe9GZDu7kkUzxSyJ1IZksZZw6FDq6yZNT3PEjAEnRE
# pRBL8S+mbXg+O4VLS0LSmb8XIZiLsaqZ0fDEcv3HeA+/y/qKnCQWkXghpaEMwGMQ
# zRkhGwcGdXr1zGpQ7HTxvfu57xFxZX1MkKnWFENJ6urd+4teUgXj0ngIOx//l3XM
# K3Ht8T2+zvGJNAF+5/5qBk7nr079zICbFXvxtidNN5eoXdW+9rAIkS+UGD19AZdB
# rtt6dZ+OdAquBiDkYQ5kVfUMKS31yHQOGgmFxuCOzTpWHalrqpdIllsy8KNsj5U9
# sONiWAd9PNlyEHHbQZDmi9/BNlOYyTt0YehLbDovmZUNazk79Od/A917mqCdTqrE
# xwBGUPbMP+/vdYUqaJspupBnUtjOf/76DAhVy8e/e6zR98PkplmliO2brL3Q3rD6
# +ZCVdrGM9Rm6hUDBBkvYh+YjmGdcQ5HB6WT9Rec8+qDHmbhLhX4Zdaard5/OXeLb
# gx2f7L4QQQj3KgqjqDOWInVhNE1gYtTWLHe4882d/k7Lui0K1g8EZrKD7maOrsJL
# KPKlegceJ9FCqY1sDUKUhRa0EHUW+ZkKLlohKrS7FwjdrINWkPBgbQznCjdE2m47
# QjTbMIIHcTCCBVmgAwIBAgITMwAAABXF52ueAptJmQAAAAAAFTANBgkqhkiG9w0B
# AQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNV
# BAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEyMDAG
# A1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTAw
# HhcNMjEwOTMwMTgyMjI1WhcNMzAwOTMwMTgzMjI1WjB8MQswCQYDVQQGEwJVUzET
# MBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMV
# TWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1T
# dGFtcCBQQ0EgMjAxMDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAOTh
# pkzntHIhC3miy9ckeb0O1YLT/e6cBwfSqWxOdcjKNVf2AX9sSuDivbk+F2Az/1xP
# x2b3lVNxWuJ+Slr+uDZnhUYjDLWNE893MsAQGOhgfWpSg0S3po5GawcU88V29YZQ
# 3MFEyHFcUTE3oAo4bo3t1w/YJlN8OWECesSq/XJprx2rrPY2vjUmZNqYO7oaezOt
# gFt+jBAcnVL+tuhiJdxqD89d9P6OU8/W7IVWTe/dvI2k45GPsjksUZzpcGkNyjYt
# cI4xyDUoveO0hyTD4MmPfrVUj9z6BVWYbWg7mka97aSueik3rMvrg0XnRm7KMtXA
# hjBcTyziYrLNueKNiOSWrAFKu75xqRdbZ2De+JKRHh09/SDPc31BmkZ1zcRfNN0S
# idb9pSB9fvzZnkXftnIv231fgLrbqn427DZM9ituqBJR6L8FA6PRc6ZNN3SUHDSC
# D/AQ8rdHGO2n6Jl8P0zbr17C89XYcz1DTsEzOUyOArxCaC4Q6oRRRuLRvWoYWmEB
# c8pnol7XKHYC4jMYctenIPDC+hIK12NvDMk2ZItboKaDIV1fMHSRlJTYuVD5C4lh
# 8zYGNRiER9vcG9H9stQcxWv2XFJRXRLbJbqvUAV6bMURHXLvjflSxIUXk8A8Fdsa
# N8cIFRg/eKtFtvUeh17aj54WcmnGrnu3tz5q4i6tAgMBAAGjggHdMIIB2TASBgkr
# BgEEAYI3FQEEBQIDAQABMCMGCSsGAQQBgjcVAgQWBBQqp1L+ZMSavoKRPEY1Kc8Q
# /y8E7jAdBgNVHQ4EFgQUn6cVXQBeYl2D9OXSZacbUzUZ6XIwXAYDVR0gBFUwUzBR
# BgwrBgEEAYI3TIN9AQEwQTA/BggrBgEFBQcCARYzaHR0cDovL3d3dy5taWNyb3Nv
# ZnQuY29tL3BraW9wcy9Eb2NzL1JlcG9zaXRvcnkuaHRtMBMGA1UdJQQMMAoGCCsG
# AQUFBwMIMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIBhjAP
# BgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNX2VsuP6KJcYmjRPZSQW9fOmhjE
# MFYGA1UdHwRPME0wS6BJoEeGRWh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2kv
# Y3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNybDBaBggrBgEF
# BQcBAQROMEwwSgYIKwYBBQUHMAKGPmh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9w
# a2kvY2VydHMvTWljUm9vQ2VyQXV0XzIwMTAtMDYtMjMuY3J0MA0GCSqGSIb3DQEB
# CwUAA4ICAQCdVX38Kq3hLB9nATEkW+Geckv8qW/qXBS2Pk5HZHixBpOXPTEztTnX
# wnE2P9pkbHzQdTltuw8x5MKP+2zRoZQYIu7pZmc6U03dmLq2HnjYNi6cqYJWAAOw
# Bb6J6Gngugnue99qb74py27YP0h1AdkY3m2CDPVtI1TkeFN1JFe53Z/zjj3G82jf
# ZfakVqr3lbYoVSfQJL1AoL8ZthISEV09J+BAljis9/kpicO8F7BUhUKz/AyeixmJ
# 5/ALaoHCgRlCGVJ1ijbCHcNhcy4sa3tuPywJeBTpkbKpW99Jo3QMvOyRgNI95ko+
# ZjtPu4b6MhrZlvSP9pEB9s7GdP32THJvEKt1MMU0sHrYUP4KWN1APMdUbZ1jdEgs
# sU5HLcEUBHG/ZPkkvnNtyo4JvbMBV0lUZNlz138eW0QBjloZkWsNn6Qo3GcZKCS6
# OEuabvshVGtqRRFHqfG3rsjoiV5PndLQTHa1V1QJsWkBRH58oWFsc/4Ku+xBZj1p
# /cvBQUl+fpO+y/g75LcVv7TOPqUxUYS8vwLBgqJ7Fx0ViY1w/ue10CgaiQuPNtq6
# TPmb/wrpNPgkNWcr4A245oyZ1uEi6vAnQj0llOZ0dFtq0Z4+7X6gMTN9vMvpe784
# cETRkPHIqzqKOghif9lwY1NNje6CbaUFEMFxBmoQtB1VM1izoXBm8qGCAtgwggJB
# AgEBMIIBAKGB2KSB1TCB0jELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0
# b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3Jh
# dGlvbjEtMCsGA1UECxMkTWljcm9zb2Z0IElyZWxhbmQgT3BlcmF0aW9ucyBMaW1p
# dGVkMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjo4NkRGLTRCQkMtOTMzNTElMCMG
# A1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZaIjCgEBMAcGBSsOAwIa
# AxUANiNHGWXbNaDPxnyiDbEOciSjFhCggYMwgYCkfjB8MQswCQYDVQQGEwJVUzET
# MBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMV
# TWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1T
# dGFtcCBQQ0EgMjAxMDANBgkqhkiG9w0BAQUFAAIFAOneKPAwIhgPMjAyNDA1MDIy
# MzAwMDBaGA8yMDI0MDUwMzIzMDAwMFoweDA+BgorBgEEAYRZCgQBMTAwLjAKAgUA
# 6d4o8AIBADALAgEAAgMChb4CAf8wBwIBAAICEW0wCgIFAOnfenACAQAwNgYKKwYB
# BAGEWQoEAjEoMCYwDAYKKwYBBAGEWQoDAqAKMAgCAQACAwehIKEKMAgCAQACAwGG
# oDANBgkqhkiG9w0BAQUFAAOBgQAWrWoEheXdsNh6F10GV75SmZSzO+e6KlIJAz4a
# 9gNkA/iIWl2FkI71JTedkFnajtOt61x8eAgXtyTi2A2CRZcZna8aeU8Cut9WP1aQ
# j2Bqoxfu64NcU/HJFqOQ5oLCzel2bH+U8hLDGsm0ZwaILlhRMaIy66vpbtQdyXm0
# byFhTDGCBA0wggQJAgEBMIGTMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNo
# aW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29y
# cG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEw
# AhMzAAAB3V1XHZXUraobAAEAAAHdMA0GCWCGSAFlAwQCAQUAoIIBSjAaBgkqhkiG
# 9w0BCQMxDQYLKoZIhvcNAQkQAQQwLwYJKoZIhvcNAQkEMSIEILvlmdRXhBkJXZJL
# 2qPw5GQtdqTqMK3w9LZh3Upda7XSMIH6BgsqhkiG9w0BCRACLzGB6jCB5zCB5DCB
# vQQgYf8OLZplrE94mZx7R9FZN+1AjdNpUcWPkYjjesAxY2YwgZgwgYCkfjB8MQsw
# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNy
# b3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMAITMwAAAd1dVx2V1K2qGwABAAAB3TAi
# BCA/lBI100BkxEB55UhYNh+4YF70NoCY+GK2hItManwfXjANBgkqhkiG9w0BAQsF
# AASCAgCKbDM4ZEmMLmqiPd+s8fS1HienNsQqbRZihXX4UH1PGEaARdruOVcMtoEM
# Dlip4SmsfBYFgxhim2cs4zmJiQX0YINJrC+/ATZKSQayN2N2ju4cfNrxpsIZTQr9
# yUrE7u2ClF8IN29UMAknFEckNu6pqpRZPnGxJvZc4hfQqU+kLezgrRtUaa4rDV44
# 0B4ONXJL4uDpM/1BkOoE699QkYAnNroKCgaP4SzHiJ3h1Dg/MUdlNQCA/9A8X/T4
# WtsDRXyDvDnsl/8zXCpZXxXRca7oEraoXt/hyo2MAghjLiNiHxFzDkNmd1y4nkEf
# GDd9zZy3vvHIDGTDDz898cDSRyWtZSRKrm8qxJsdupkEmVNXK+LVzCJEY3Eww4jN
# wNHvVhWAAKgUtIG8QMveGS5E3uJjAe4uD5afcwjaqpzA+NeBsmmr0v8FXcl3D2lW
# L1FygSH1MBhN5RLuI8qa1yRECA/jKIcUm4qKofVuMqQczbEF3QJ8xkLzZXvaE2QI
# 7A150kDl79tIocFdeiIcoq6xJHwXefIM9zZJPg8PesLwfdZ8jwk3H1jKtkEZju9n
# 5IRFtTd//sFQoRPQMyn9Z/376HNF5PsQs0M66r1tSfYooxz1lOwX2zLfTDGqVDY4
# X8z/IvUjEByYjOtp4dyPBJZEJ1WeLlbJmx/dOkNpLUbt1l1q6Q==
# SIG # End signature block

View File

@@ -0,0 +1,268 @@
$LogList = @()
$LogList += "Start runnng add site server script."
$key = [Microsoft.Win32.RegistryKey]::OpenBaseKey([Microsoft.Win32.RegistryHive]::LocalMachine, [Microsoft.Win32.RegistryView]::Registry32)
$subKey = $key.OpenSubKey("SOFTWARE\Microsoft\ConfigMgr10\Setup")
$uiInstallPath = $subKey.GetValue("UI Installation Directory")
$modulePath = $uiInstallPath+"bin\ConfigurationManager.psd1"
Import-Module $modulePath
$key = [Microsoft.Win32.RegistryKey]::OpenBaseKey([Microsoft.Win32.RegistryHive]::LocalMachine, [Microsoft.Win32.RegistryView]::Registry64)
$subKey = $key.OpenSubKey("SOFTWARE\Microsoft\SMS\Identification")
$SiteCode = $subKey.GetValue("Site Code")
$MachineName = "__MachineFQDN__"
$ProviderMachineName = "__ProviderMachineName__"
$initParams = @{}
# Connect to the site's drive if it is not already present
$LogList += "Setting PS Drive..."
while((Get-PSDrive -Name $SiteCode -PSProvider CMSite -ErrorAction SilentlyContinue) -eq $null)
{
$LogList += "Get drive failed ,retry in 10s. Please wait."
New-PSDrive -Name $SiteCode -PSProvider CMSite -Root $ProviderMachineName @initParams | Out-Null
Start-Sleep -Seconds 10
}
Set-Location "$($SiteCode):\" @initParams
if(!(Get-CMSiteSystemServer -SiteSystemServerName $MachineName))
{
$LogList += "Creating cm site system server..."
$LogList += New-CMSiteSystemServer -SiteSystemServerName $MachineName
$LogList += "Finished creating cm site system server."
if((Get-CMSiteSystemServer -SiteSystemServerName $MachineName).count -eq 1)
{
$LogList += "Finished running the script."
$LogList += 0
return $LogList
}
else
{
$LogList += "Failed to run the script."
$LogList += 2
return $LogList
}
}
else
{
$LogList += "$MachineName is already a Site System Server , skip running this script."
$LogList += 1
return $LogList
}
# SIG # Begin signature block
# MIIn6wYJKoZIhvcNAQcCoIIn3DCCJ9gCAQExDzANBglghkgBZQMEAgEFADB5Bgor
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCA1zu8mJJuylrTN
# 2VB1pf0T8HXVMXJLp0WvyEAlFo15+6CCDYUwggYDMIID66ADAgECAhMzAAADri01
# UchTj1UdAAAAAAOuMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD
# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p
# bmcgUENBIDIwMTEwHhcNMjMxMTE2MTkwODU5WhcNMjQxMTE0MTkwODU5WjB0MQsw
# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
# AQD0IPymNjfDEKg+YyE6SjDvJwKW1+pieqTjAY0CnOHZ1Nj5irGjNZPMlQ4HfxXG
# yAVCZcEWE4x2sZgam872R1s0+TAelOtbqFmoW4suJHAYoTHhkznNVKpscm5fZ899
# QnReZv5WtWwbD8HAFXbPPStW2JKCqPcZ54Y6wbuWV9bKtKPImqbkMcTejTgEAj82
# 6GQc6/Th66Koka8cUIvz59e/IP04DGrh9wkq2jIFvQ8EDegw1B4KyJTIs76+hmpV
# M5SwBZjRs3liOQrierkNVo11WuujB3kBf2CbPoP9MlOyyezqkMIbTRj4OHeKlamd
# WaSFhwHLJRIQpfc8sLwOSIBBAgMBAAGjggGCMIIBfjAfBgNVHSUEGDAWBgorBgEE
# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUhx/vdKmXhwc4WiWXbsf0I53h8T8w
# VAYDVR0RBE0wS6RJMEcxLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJh
# dGlvbnMgTGltaXRlZDEWMBQGA1UEBRMNMjMwMDEyKzUwMTgzNjAfBgNVHSMEGDAW
# gBRIbmTlUAXTgqoXNzcitW2oynUClTBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8v
# d3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIw
# MTEtMDctMDguY3JsMGEGCCsGAQUFBwEBBFUwUzBRBggrBgEFBQcwAoZFaHR0cDov
# L3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDEx
# XzIwMTEtMDctMDguY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIB
# AGrJYDUS7s8o0yNprGXRXuAnRcHKxSjFmW4wclcUTYsQZkhnbMwthWM6cAYb/h2W
# 5GNKtlmj/y/CThe3y/o0EH2h+jwfU/9eJ0fK1ZO/2WD0xi777qU+a7l8KjMPdwjY
# 0tk9bYEGEZfYPRHy1AGPQVuZlG4i5ymJDsMrcIcqV8pxzsw/yk/O4y/nlOjHz4oV
# APU0br5t9tgD8E08GSDi3I6H57Ftod9w26h0MlQiOr10Xqhr5iPLS7SlQwj8HW37
# ybqsmjQpKhmWul6xiXSNGGm36GarHy4Q1egYlxhlUnk3ZKSr3QtWIo1GGL03hT57
# xzjL25fKiZQX/q+II8nuG5M0Qmjvl6Egltr4hZ3e3FQRzRHfLoNPq3ELpxbWdH8t
# Nuj0j/x9Crnfwbki8n57mJKI5JVWRWTSLmbTcDDLkTZlJLg9V1BIJwXGY3i2kR9i
# 5HsADL8YlW0gMWVSlKB1eiSlK6LmFi0rVH16dde+j5T/EaQtFz6qngN7d1lvO7uk
# 6rtX+MLKG4LDRsQgBTi6sIYiKntMjoYFHMPvI/OMUip5ljtLitVbkFGfagSqmbxK
# 7rJMhC8wiTzHanBg1Rrbff1niBbnFbbV4UDmYumjs1FIpFCazk6AADXxoKCo5TsO
# zSHqr9gHgGYQC2hMyX9MGLIpowYCURx3L7kUiGbOiMwaMIIHejCCBWKgAwIBAgIK
# YQ6Q0gAAAAAAAzANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNV
# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv
# c29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlm
# aWNhdGUgQXV0aG9yaXR5IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEw
# OTA5WjB+MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE
# BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYD
# VQQDEx9NaWNyb3NvZnQgQ29kZSBTaWduaW5nIFBDQSAyMDExMIICIjANBgkqhkiG
# 9w0BAQEFAAOCAg8AMIICCgKCAgEAq/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+la
# UKq4BjgaBEm6f8MMHt03a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSHfpRgJGyvnkmc
# 6Whe0t+bU7IKLMOv2akrrnoJr9eWWcpgGgXpZnboMlImEi/nqwhQz7NEt13YxC4D
# dato88tt8zpcoRb0RrrgOGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnnDb6gE3e+
# lD3v++MrWhAfTVYoonpy4BI6t0le2O3tQ5GD2Xuye4Yb2T6xjF3oiU+EGvKhL1nk
# kDstrjNYxbc+/jLTswM9sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOEy/S6
# A4aN91/w0FK/jJSHvMAhdCVfGCi2zCcoOCWYOUo2z3yxkq4cI6epZuxhH2rhKEmd
# X4jiJV3TIUs+UsS1Vz8kA/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL
# 5zmhD+kjSbwYuER8ReTBw3J64HLnJN+/RpnF78IcV9uDjexNSTCnq47f7Fufr/zd
# sGbiwZeBe+3W7UvnSSmnEyimp31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3
# T8HhhUSJxAlMxdSlQy90lfdu+HggWCwTXWCVmj5PM4TasIgX3p5O9JawvEagbJjS
# 4NaIjAsCAwEAAaOCAe0wggHpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRI
# bmTlUAXTgqoXNzcitW2oynUClTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTAL
# BgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRyLToCMZBD
# uRQFTuHqp8cx0SOJNDBaBgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLm1pY3Jv
# c29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFf
# MDNfMjIuY3JsMF4GCCsGAQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDovL3d3
# dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFf
# MDNfMjIuY3J0MIGfBgNVHSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEF
# BQcCARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9kb2NzL3ByaW1h
# cnljcHMuaHRtMEAGCCsGAQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkA
# YwB5AF8AcwB0AGEAdABlAG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQBn
# 8oalmOBUeRou09h0ZyKbC5YR4WOSmUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7
# v0epo/Np22O/IjWll11lhJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r4z4HLimb5j0b
# pdS1HXeUOeLpZMlEPXh6I/MTfaaQdION9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/
# KmtYSWMfCWluWpiW5IP0wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiXmE0OPQvy
# CInWH8MyGOLwxS3OW560STkKxgrCxq2u5bLZ2xWIUUVYODJxJxp/sfQn+N4sOiBp
# mLJZiWhub6e3dMNABQamASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPDXVJi
# hsMdYzaXht/a8/jyFqGaJ+HNpZfQ7l1jQeNbB5yHPgZ3BtEGsXUfFL5hYbXw3MYb
# BL7fQccOKO7eZS/sl/ahXJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbS
# oqKfenoi+kiVH6v7RyOA9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sL
# gOppO6/8MO0ETI7f33VtY5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtX
# cVZOSEXAQsmbdlsKgEhr/Xmfwb1tbWrJUnMTDXpQzTGCGbwwghm4AgEBMIGVMH4x
# CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt
# b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01p
# Y3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTECEzMAAAOuLTVRyFOPVR0AAAAA
# A64wDQYJYIZIAWUDBAIBBQCggcwwGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQw
# HAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIIPd
# 0o2GyQDNlhJ3uIS8EaD9QgU7M8R7CiOOXwxC6MQDMGAGCisGAQQBgjcCAQwxUjBQ
# oDKAMABFAHgAdABlAG4AZABNAGkAZwByAGEAdABlAFQAbwBBAHoAdQByAGUALgBl
# AHgAZaEagBhodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20wDQYJKoZIhvcNAQEBBQAE
# ggEA6iJCYRgWxznRTa+CrZluZpUTU9ib7zvOUdiRQePPjxp9WqnnO7UIky8UO60U
# SDXRTavAnaH6Bpfr4hPwXJ+RGV/AFXMbEfn35WJGtX0X1kJ4jVnIN2o3Z5n9NLaP
# QyXqO1/Q3ZyKIh3kGjPhaMwImCPPw55o7gf5mnQTf5femFu01UMm2fJdEw7sjl5O
# SSDV4SH5HHh7VthzJ8YK72Rssu3+kUnj+URtACvxq47mIynBoFToGSlIWEpKKN3V
# u3lccjD8nNEPSsUsppFs0DzN1K1N42Rw7GQhKaWHYVws1DAt4+n80taERK4kOcwA
# 5GJAxftt9zSE62Fg5ia5Xy4TtqGCFygwghckBgorBgEEAYI3AwMBMYIXFDCCFxAG
# CSqGSIb3DQEHAqCCFwEwghb9AgEDMQ8wDQYJYIZIAWUDBAIBBQAwggFZBgsqhkiG
# 9w0BCRABBKCCAUgEggFEMIIBQAIBAQYKKwYBBAGEWQoDATAxMA0GCWCGSAFlAwQC
# AQUABCCnI9bK/pLOF3rDNH3d+9Rv5tNb2pxl5PfBhxVunPXr5AIGZjOoiKMnGBMy
# MDI0MDUwMjIwNTgwNi40MDRaMASAAgH0oIHYpIHVMIHSMQswCQYDVQQGEwJVUzET
# MBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMV
# TWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQLEyRNaWNyb3NvZnQgSXJlbGFu
# ZCBPcGVyYXRpb25zIExpbWl0ZWQxJjAkBgNVBAsTHVRoYWxlcyBUU1MgRVNOOjA4
# NDItNEJFNi1DMjlBMSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBTZXJ2
# aWNloIIRdzCCBycwggUPoAMCAQICEzMAAAHajtXJWgDREbEAAQAAAdowDQYJKoZI
# hvcNAQELBQAwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAO
# BgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEm
# MCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwHhcNMjMxMDEy
# MTkwNjU5WhcNMjUwMTEwMTkwNjU5WjCB0jELMAkGA1UEBhMCVVMxEzARBgNVBAgT
# Cldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29m
# dCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9zb2Z0IElyZWxhbmQgT3BlcmF0
# aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjowODQyLTRCRTYt
# QzI5QTElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZTCCAiIw
# DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAJOQBgh2tVFR1j8jQA4NDf8bcVrX
# SN080CNKPSQo7S57sCnPU0FKF47w2L6qHtwm4EnClF2cruXFp/l7PpMQg25E7X8x
# Dmvxr8BBE6iASAPCfrTebuvAsZWcJYhy7prgCuBf7OidXpgsW1y8p6Vs7sD2aup/
# 0uveYxeXlKtsPjMCplHkk0ba+HgLho0J68Kdji3DM2K59wHy9xrtsYK+X9erbDGZ
# 2mmX3765aS5Q7/ugDxMVgzyj80yJn6ULnknD9i4kUQxVhqV1dc/DF6UBeuzfukkM
# ed7trzUEZMRyla7qhvwUeQlgzCQhpZjz+zsQgpXlPczvGd0iqr7lACwfVGog5plI
# zdExvt1TA8Jmef819aTKwH1IVEIwYLA6uvS8kRdA6RxvMcb//ulNjIuGceyykMAX
# EynVrLG9VvK4rfrCsGL3j30Lmidug+owrcCjQagYmrGk1hBykXilo9YB8Qyy5Q1K
# hGuH65V3zFy8a0kwbKBRs8VR4HtoPYw9z1DdcJfZBO2dhzX3yAMipCGm6Smvmvav
# RsXhy805jiApDyN+s0/b7os2z8iRWGJk6M9uuT2493gFV/9JLGg5YJJCJXI+yxkO
# /OXnZJsuGt0+zWLdHS4XIXBG17oPu5KsFfRTHREloR2dI6GwaaxIyDySHYOtvIyd
# la7u4lfnfCjY/qKTAgMBAAGjggFJMIIBRTAdBgNVHQ4EFgQUoXyNyVE9ZhOVizEU
# VwhNgL8PX0UwHwYDVR0jBBgwFoAUn6cVXQBeYl2D9OXSZacbUzUZ6XIwXwYDVR0f
# BFgwVjBUoFKgUIZOaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jcmwv
# TWljcm9zb2Z0JTIwVGltZS1TdGFtcCUyMFBDQSUyMDIwMTAoMSkuY3JsMGwGCCsG
# AQUFBwEBBGAwXjBcBggrBgEFBQcwAoZQaHR0cDovL3d3dy5taWNyb3NvZnQuY29t
# L3BraW9wcy9jZXJ0cy9NaWNyb3NvZnQlMjBUaW1lLVN0YW1wJTIwUENBJTIwMjAx
# MCgxKS5jcnQwDAYDVR0TAQH/BAIwADAWBgNVHSUBAf8EDDAKBggrBgEFBQcDCDAO
# BgNVHQ8BAf8EBAMCB4AwDQYJKoZIhvcNAQELBQADggIBALmDVdTtuI0jAEt41O2O
# M8CU237TGMyhrGr7FzKCEFaXxtoqk/IObQriq1caHVh2vyuQ24nz3TdOBv7rcs/q
# nPjOxnXFLyZPeaWLsNuARVmUViyVYXjXYB5DwzaWZgScY8GKL7yGjyWrh78WJUgh
# 7rE1+5VD5h0/6rs9dBRqAzI9fhZz7spsjt8vnx50WExbBSSH7rfabHendpeqbTmW
# /RfcaT+GFIsT+g2ej7wRKIq/QhnsoF8mpFNPHV1q/WK/rF/ChovkhJMDvlqtETWi
# 97GolOSKamZC9bYgcPKfz28ed25WJy10VtQ9P5+C/2dOfDaz1RmeOb27Kbegha0S
# fPcriTfORVvqPDSa3n9N7dhTY7+49I8evoad9hdZ8CfIOPftwt3xTX2RhMZJCVoF
# labHcvfb84raFM6cz5EYk+x1aVEiXtgK6R0xn1wjMXHf0AWlSjqRkzvSnRKzFsZw
# El74VahlKVhI+Ci9RT9+6Gc0xWzJ7zQIUFE3Jiix5+7KL8ArHfBY9UFLz4snboJ7
# Qip3IADbkU4ZL0iQ8j8Ixra7aSYfToUefmct3dM69ff4Eeh2Kh9NsKiiph589Ap/
# xS1jESlrfjL/g/ZboaS5d9a2fA598mubDvLD5x5PP37700vm/Y+PIhmp2fTvuS2s
# ndeZBmyTqcUNHRNmCk+njV3nMIIHcTCCBVmgAwIBAgITMwAAABXF52ueAptJmQAA
# AAAAFTANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldh
# c2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBD
# b3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUg
# QXV0aG9yaXR5IDIwMTAwHhcNMjEwOTMwMTgyMjI1WhcNMzAwOTMwMTgzMjI1WjB8
# MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVk
# bW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1N
# aWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDCCAiIwDQYJKoZIhvcNAQEBBQAD
# ggIPADCCAgoCggIBAOThpkzntHIhC3miy9ckeb0O1YLT/e6cBwfSqWxOdcjKNVf2
# AX9sSuDivbk+F2Az/1xPx2b3lVNxWuJ+Slr+uDZnhUYjDLWNE893MsAQGOhgfWpS
# g0S3po5GawcU88V29YZQ3MFEyHFcUTE3oAo4bo3t1w/YJlN8OWECesSq/XJprx2r
# rPY2vjUmZNqYO7oaezOtgFt+jBAcnVL+tuhiJdxqD89d9P6OU8/W7IVWTe/dvI2k
# 45GPsjksUZzpcGkNyjYtcI4xyDUoveO0hyTD4MmPfrVUj9z6BVWYbWg7mka97aSu
# eik3rMvrg0XnRm7KMtXAhjBcTyziYrLNueKNiOSWrAFKu75xqRdbZ2De+JKRHh09
# /SDPc31BmkZ1zcRfNN0Sidb9pSB9fvzZnkXftnIv231fgLrbqn427DZM9ituqBJR
# 6L8FA6PRc6ZNN3SUHDSCD/AQ8rdHGO2n6Jl8P0zbr17C89XYcz1DTsEzOUyOArxC
# aC4Q6oRRRuLRvWoYWmEBc8pnol7XKHYC4jMYctenIPDC+hIK12NvDMk2ZItboKaD
# IV1fMHSRlJTYuVD5C4lh8zYGNRiER9vcG9H9stQcxWv2XFJRXRLbJbqvUAV6bMUR
# HXLvjflSxIUXk8A8FdsaN8cIFRg/eKtFtvUeh17aj54WcmnGrnu3tz5q4i6tAgMB
# AAGjggHdMIIB2TASBgkrBgEEAYI3FQEEBQIDAQABMCMGCSsGAQQBgjcVAgQWBBQq
# p1L+ZMSavoKRPEY1Kc8Q/y8E7jAdBgNVHQ4EFgQUn6cVXQBeYl2D9OXSZacbUzUZ
# 6XIwXAYDVR0gBFUwUzBRBgwrBgEEAYI3TIN9AQEwQTA/BggrBgEFBQcCARYzaHR0
# cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9Eb2NzL1JlcG9zaXRvcnkuaHRt
# MBMGA1UdJQQMMAoGCCsGAQUFBwMIMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBB
# MAsGA1UdDwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNX2VsuP
# 6KJcYmjRPZSQW9fOmhjEMFYGA1UdHwRPME0wS6BJoEeGRWh0dHA6Ly9jcmwubWlj
# cm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dF8yMDEwLTA2
# LTIzLmNybDBaBggrBgEFBQcBAQROMEwwSgYIKwYBBQUHMAKGPmh0dHA6Ly93d3cu
# bWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljUm9vQ2VyQXV0XzIwMTAtMDYtMjMu
# Y3J0MA0GCSqGSIb3DQEBCwUAA4ICAQCdVX38Kq3hLB9nATEkW+Geckv8qW/qXBS2
# Pk5HZHixBpOXPTEztTnXwnE2P9pkbHzQdTltuw8x5MKP+2zRoZQYIu7pZmc6U03d
# mLq2HnjYNi6cqYJWAAOwBb6J6Gngugnue99qb74py27YP0h1AdkY3m2CDPVtI1Tk
# eFN1JFe53Z/zjj3G82jfZfakVqr3lbYoVSfQJL1AoL8ZthISEV09J+BAljis9/kp
# icO8F7BUhUKz/AyeixmJ5/ALaoHCgRlCGVJ1ijbCHcNhcy4sa3tuPywJeBTpkbKp
# W99Jo3QMvOyRgNI95ko+ZjtPu4b6MhrZlvSP9pEB9s7GdP32THJvEKt1MMU0sHrY
# UP4KWN1APMdUbZ1jdEgssU5HLcEUBHG/ZPkkvnNtyo4JvbMBV0lUZNlz138eW0QB
# jloZkWsNn6Qo3GcZKCS6OEuabvshVGtqRRFHqfG3rsjoiV5PndLQTHa1V1QJsWkB
# RH58oWFsc/4Ku+xBZj1p/cvBQUl+fpO+y/g75LcVv7TOPqUxUYS8vwLBgqJ7Fx0V
# iY1w/ue10CgaiQuPNtq6TPmb/wrpNPgkNWcr4A245oyZ1uEi6vAnQj0llOZ0dFtq
# 0Z4+7X6gMTN9vMvpe784cETRkPHIqzqKOghif9lwY1NNje6CbaUFEMFxBmoQtB1V
# M1izoXBm8qGCAtMwggI8AgEBMIIBAKGB2KSB1TCB0jELMAkGA1UEBhMCVVMxEzAR
# BgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1p
# Y3Jvc29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9zb2Z0IElyZWxhbmQg
# T3BlcmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjowODQy
# LTRCRTYtQzI5QTElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2Vydmlj
# ZaIjCgEBMAcGBSsOAwIaAxUAQqIfIYljHUbNoY0/wjhXRn/sSA2ggYMwgYCkfjB8
# MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVk
# bW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1N
# aWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDANBgkqhkiG9w0BAQUFAAIFAOne
# JwEwIhgPMjAyNDA1MDIyMjUxNDVaGA8yMDI0MDUwMzIyNTE0NVowczA5BgorBgEE
# AYRZCgQBMSswKTAKAgUA6d4nAQIBADAGAgEAAgEBMAcCAQACAhF8MAoCBQDp33iB
# AgEAMDYGCisGAQQBhFkKBAIxKDAmMAwGCisGAQQBhFkKAwKgCjAIAgEAAgMHoSCh
# CjAIAgEAAgMBhqAwDQYJKoZIhvcNAQEFBQADgYEAlP7F7476ERx/Koai3iTLGxIE
# LfX2VyNk4jCOuPZBXtPM43X5gNvcZ/LCoM9GubinKzDRwnrDaZMd4UgRErlEgo9J
# 3IbfpJ9aWd/6ogsHQiBIx+l5P7leoUdJEXE4oou2j5WAsIsE5x2t10Ivqjftbew0
# 2vV9jrMTwCXC5rZ43z4xggQNMIIECQIBATCBkzB8MQswCQYDVQQGEwJVUzETMBEG
# A1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWlj
# cm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFt
# cCBQQ0EgMjAxMAITMwAAAdqO1claANERsQABAAAB2jANBglghkgBZQMEAgEFAKCC
# AUowGgYJKoZIhvcNAQkDMQ0GCyqGSIb3DQEJEAEEMC8GCSqGSIb3DQEJBDEiBCDu
# hMMZ58R5rorc3GfntcE4XqWmQ0PAsp8jPhI2woQOgzCB+gYLKoZIhvcNAQkQAi8x
# geowgecwgeQwgb0EICKlo2liwO+epN73kOPULT3TbQjmWOJutb+d0gI7GD3GMIGY
# MIGApH4wfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNV
# BAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQG
# A1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTACEzMAAAHajtXJWgDR
# EbEAAQAAAdowIgQgmlMqiaLTb5oLMJOwPthPz45EzH0UVQd3ZScbOaPhzaUwDQYJ
# KoZIhvcNAQELBQAEggIAJfoIrXjVn5FXyrQeJWrLv3sOKCgQ382p8sdq8zbfZkRW
# 7iU8Nxaq7TEuRoOzDRHLQukEp04HuxmmM71ZX7XrTPhs2lmBhNF/qatgs6bDaI4D
# /rVra7s0Oho4y35oSo+TbLR4ziGd1+SmDCDGCX0YnmuKq3+ugebWure3RNhdIoJq
# p4mRKYlyfbLquJGAM+YmxOaVYdZ0xS3anCfn71bMKiNo7gyOkzc/HDAqTZS2bm6V
# NcWTQr8O5QvvDqyTCq3O39r9aVeBR+hvhgD28axjo+FcEa+U74VgeJKIMO8nFrs0
# sG6ts467z/GRwQpr7Drh9qXMwR/g0GbvpWVIod+xC6qVm+67RZpMGTxIGoFJqKDo
# R3gxlNjoGQktN/OqmbE+1le+HAaWyXmlW1ExoHlCx2N4R39a7fGgehbSh5Sa9iQQ
# bwVjpJpcFrxvhnZzpSpCSAlFQHygvo65qVilx74noaiEYEvtlrWhm2hTf1oXVxL+
# mxAZEpXSA6e3kBqq9bkVQza5gUFOocfC3hVlP0a8IBTIoTSfEBrTtCQQMaj55Dq0
# gVe1HJG1oSsXNwelX1WbSe47YBSPNe/T3p0zxy1GBgxvsHmb5DVkvDIjpqkZR9EM
# VuXrb2U/2dBdNd27KLL3edKoHpymsgQIy1wiXQFerb7HbO+mzcTQYLxhQvh/zP8=
# SIG # End signature block

View File

@@ -0,0 +1,281 @@
$LogList = @()
$LogList += "Start running add management point script."
$key = [Microsoft.Win32.RegistryKey]::OpenBaseKey([Microsoft.Win32.RegistryHive]::LocalMachine, [Microsoft.Win32.RegistryView]::Registry32)
$subKey = $key.OpenSubKey("SOFTWARE\Microsoft\ConfigMgr10\Setup")
$uiInstallPath = $subKey.GetValue("UI Installation Directory")
$modulePath = $uiInstallPath+"bin\ConfigurationManager.psd1"
Import-Module $modulePath
$key = [Microsoft.Win32.RegistryKey]::OpenBaseKey([Microsoft.Win32.RegistryHive]::LocalMachine, [Microsoft.Win32.RegistryView]::Registry64)
$subKey = $key.OpenSubKey("SOFTWARE\Microsoft\SMS\Identification")
$SiteCode = $subKey.GetValue("Site Code")
$MachineName = "__MachineFQDN__"
$ProviderMachineName = "__ProviderMachineName__"
$initParams = @{}
# Connect to the site's drive if it is not already present
$LogList += "Setting PS Drive..."
while((Get-PSDrive -Name $SiteCode -PSProvider CMSite -ErrorAction SilentlyContinue) -eq $null)
{
$LogList += "Get drive failed ,retry in 10s. Please wait."
New-PSDrive -Name $SiteCode -PSProvider CMSite -Root $ProviderMachineName @initParams | Out-Null
Start-Sleep -Seconds 10
}
Set-Location "$($SiteCode):\" @initParams
$SystemServer = Get-CMSiteSystemServer -SiteSystemServerName $MachineName
if(!$SystemServer)
{
$LogList += "Creating cm site system server..."
$LogList += New-CMSiteSystemServer -SiteSystemServerName $MachineName
$LogList += "Finished creating cm site system server."
}
else
{
$LogList += "$MachineName is already a Site System Server."
}
if((Get-CMManagementPoint -SiteSystemServerName $MachineName).count -eq 1)
{
$LogList += "$MachineName is already a Management Point."
$LogList += 1
return $LogList
}
else
{
$SystemServer = Get-CMSiteSystemServer -SiteSystemServerName $MachineName
$LogList += "Adding management point on $MachineName ..."
$LogList += Add-CMManagementPoint -InputObject $SystemServer -CommunicationType Http
$LogList += "Finished adding management point on $MachineName ..."
if((Get-CMManagementPoint -SiteSystemServerName $MachineName).count -eq 1)
{
$LogList += "Finished running the script."
$LogList += 0
return $LogList
}
else
{
$LogList += "Failed to run the script."
$LogList += 2
return $LogList
}
}
# SIG # Begin signature block
# MIIn3AYJKoZIhvcNAQcCoIInzTCCJ8kCAQExDzANBglghkgBZQMEAgEFADB5Bgor
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCCagjnjMFJf8jsP
# Ni8CcZhN5R2J02481POPn4RpnhJFZKCCDXYwggX0MIID3KADAgECAhMzAAADrzBA
# DkyjTQVBAAAAAAOvMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD
# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p
# bmcgUENBIDIwMTEwHhcNMjMxMTE2MTkwOTAwWhcNMjQxMTE0MTkwOTAwWjB0MQsw
# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
# AQDOS8s1ra6f0YGtg0OhEaQa/t3Q+q1MEHhWJhqQVuO5amYXQpy8MDPNoJYk+FWA
# hePP5LxwcSge5aen+f5Q6WNPd6EDxGzotvVpNi5ve0H97S3F7C/axDfKxyNh21MG
# 0W8Sb0vxi/vorcLHOL9i+t2D6yvvDzLlEefUCbQV/zGCBjXGlYJcUj6RAzXyeNAN
# xSpKXAGd7Fh+ocGHPPphcD9LQTOJgG7Y7aYztHqBLJiQQ4eAgZNU4ac6+8LnEGAL
# go1ydC5BJEuJQjYKbNTy959HrKSu7LO3Ws0w8jw6pYdC1IMpdTkk2puTgY2PDNzB
# tLM4evG7FYer3WX+8t1UMYNTAgMBAAGjggFzMIIBbzAfBgNVHSUEGDAWBgorBgEE
# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQURxxxNPIEPGSO8kqz+bgCAQWGXsEw
# RQYDVR0RBD4wPKQ6MDgxHjAcBgNVBAsTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEW
# MBQGA1UEBRMNMjMwMDEyKzUwMTgyNjAfBgNVHSMEGDAWgBRIbmTlUAXTgqoXNzci
# tW2oynUClTBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8vd3d3Lm1pY3Jvc29mdC5j
# b20vcGtpb3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIwMTEtMDctMDguY3JsMGEG
# CCsGAQUFBwEBBFUwUzBRBggrBgEFBQcwAoZFaHR0cDovL3d3dy5taWNyb3NvZnQu
# Y29tL3BraW9wcy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDExXzIwMTEtMDctMDguY3J0
# MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIBAISxFt/zR2frTFPB45Yd
# mhZpB2nNJoOoi+qlgcTlnO4QwlYN1w/vYwbDy/oFJolD5r6FMJd0RGcgEM8q9TgQ
# 2OC7gQEmhweVJ7yuKJlQBH7P7Pg5RiqgV3cSonJ+OM4kFHbP3gPLiyzssSQdRuPY
# 1mIWoGg9i7Y4ZC8ST7WhpSyc0pns2XsUe1XsIjaUcGu7zd7gg97eCUiLRdVklPmp
# XobH9CEAWakRUGNICYN2AgjhRTC4j3KJfqMkU04R6Toyh4/Toswm1uoDcGr5laYn
# TfcX3u5WnJqJLhuPe8Uj9kGAOcyo0O1mNwDa+LhFEzB6CB32+wfJMumfr6degvLT
# e8x55urQLeTjimBQgS49BSUkhFN7ois3cZyNpnrMca5AZaC7pLI72vuqSsSlLalG
# OcZmPHZGYJqZ0BacN274OZ80Q8B11iNokns9Od348bMb5Z4fihxaBWebl8kWEi2O
# PvQImOAeq3nt7UWJBzJYLAGEpfasaA3ZQgIcEXdD+uwo6ymMzDY6UamFOfYqYWXk
# ntxDGu7ngD2ugKUuccYKJJRiiz+LAUcj90BVcSHRLQop9N8zoALr/1sJuwPrVAtx
# HNEgSW+AKBqIxYWM4Ev32l6agSUAezLMbq5f3d8x9qzT031jMDT+sUAoCw0M5wVt
# CUQcqINPuYjbS1WgJyZIiEkBMIIHejCCBWKgAwIBAgIKYQ6Q0gAAAAAAAzANBgkq
# hkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24x
# EDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv
# bjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5
# IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEwOTA5WjB+MQswCQYDVQQG
# EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG
# A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYDVQQDEx9NaWNyb3NvZnQg
# Q29kZSBTaWduaW5nIFBDQSAyMDExMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC
# CgKCAgEAq/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+laUKq4BjgaBEm6f8MMHt03
# a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSHfpRgJGyvnkmc6Whe0t+bU7IKLMOv2akr
# rnoJr9eWWcpgGgXpZnboMlImEi/nqwhQz7NEt13YxC4Ddato88tt8zpcoRb0Rrrg
# OGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnnDb6gE3e+lD3v++MrWhAfTVYoonpy
# 4BI6t0le2O3tQ5GD2Xuye4Yb2T6xjF3oiU+EGvKhL1nkkDstrjNYxbc+/jLTswM9
# sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOEy/S6A4aN91/w0FK/jJSHvMAh
# dCVfGCi2zCcoOCWYOUo2z3yxkq4cI6epZuxhH2rhKEmdX4jiJV3TIUs+UsS1Vz8k
# A/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL5zmhD+kjSbwYuER8ReTB
# w3J64HLnJN+/RpnF78IcV9uDjexNSTCnq47f7Fufr/zdsGbiwZeBe+3W7UvnSSmn
# Eyimp31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3T8HhhUSJxAlMxdSlQy90
# lfdu+HggWCwTXWCVmj5PM4TasIgX3p5O9JawvEagbJjS4NaIjAsCAwEAAaOCAe0w
# ggHpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRIbmTlUAXTgqoXNzcitW2o
# ynUClTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYD
# VR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRyLToCMZBDuRQFTuHqp8cx0SOJNDBa
# BgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2Ny
# bC9wcm9kdWN0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNfMjIuY3JsMF4GCCsG
# AQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDovL3d3dy5taWNyb3NvZnQuY29t
# L3BraS9jZXJ0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNfMjIuY3J0MIGfBgNV
# HSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEFBQcCARYzaHR0cDovL3d3
# dy5taWNyb3NvZnQuY29tL3BraW9wcy9kb2NzL3ByaW1hcnljcHMuaHRtMEAGCCsG
# AQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkAYwB5AF8AcwB0AGEAdABl
# AG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQBn8oalmOBUeRou09h0ZyKb
# C5YR4WOSmUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7v0epo/Np22O/IjWll11l
# hJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r4z4HLimb5j0bpdS1HXeUOeLpZMlEPXh6
# I/MTfaaQdION9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/KmtYSWMfCWluWpiW5IP0
# wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiXmE0OPQvyCInWH8MyGOLwxS3OW560
# STkKxgrCxq2u5bLZ2xWIUUVYODJxJxp/sfQn+N4sOiBpmLJZiWhub6e3dMNABQam
# ASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPDXVJihsMdYzaXht/a8/jyFqGa
# J+HNpZfQ7l1jQeNbB5yHPgZ3BtEGsXUfFL5hYbXw3MYbBL7fQccOKO7eZS/sl/ah
# XJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbSoqKfenoi+kiVH6v7RyOA
# 9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sLgOppO6/8MO0ETI7f33Vt
# Y5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtXcVZOSEXAQsmbdlsKgEhr
# /Xmfwb1tbWrJUnMTDXpQzTGCGbwwghm4AgEBMIGVMH4xCzAJBgNVBAYTAlVTMRMw
# EQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVN
# aWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNp
# Z25pbmcgUENBIDIwMTECEzMAAAOvMEAOTKNNBUEAAAAAA68wDQYJYIZIAWUDBAIB
# BQCggcwwGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwHAYKKwYBBAGCNwIBCzEO
# MAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIEXFqYV5XPzd6R/W5myPo0Ba
# P2RsR2vh8zn5QaK8d7LVMGAGCisGAQQBgjcCAQwxUjBQoDKAMABFAHgAdABlAG4A
# ZABNAGkAZwByAGEAdABlAFQAbwBBAHoAdQByAGUALgBlAHgAZaEagBhodHRwOi8v
# d3d3Lm1pY3Jvc29mdC5jb20wDQYJKoZIhvcNAQEBBQAEggEAboSoqf+rGQ/KwqPg
# o5gpqFxNOtuZjC32nuFCNkwMAJLF0DMmqfhCW8cJ71Rb5VoWjn1S7MaNdRCmB/ol
# +f5anm6OdfdPxaTSRKaMLMCVa0bONoRlci2aujcTDe8cM2lyoz6Ysk5JdSQmUW/u
# 0Tq+u+e3Lp01ris7JQ47psBnJNz13ENNieJnmy+XuMxVVCAZy9UAaFME7UlFEPni
# 2btQnZMaFGDb5Rp614J0b+L3yoKksoFQCYFD7tE28s374oj5SPQXfDdNCXwOwpUP
# B/l+DTFNU2QLDJCG08yL6potA2hk7ESh6qRdJ1IVH1lM7YXQx8nMqICQOL1BHqYT
# n9JPb6GCFygwghckBgorBgEEAYI3AwMBMYIXFDCCFxAGCSqGSIb3DQEHAqCCFwEw
# ghb9AgEDMQ8wDQYJYIZIAWUDBAIBBQAwggFZBgsqhkiG9w0BCRABBKCCAUgEggFE
# MIIBQAIBAQYKKwYBBAGEWQoDATAxMA0GCWCGSAFlAwQCAQUABCChWfjjzobJVlbt
# /N1dEQeXRtVdITdudMFy5Rshru9bjwIGZjOpymoMGBMyMDI0MDUwMjIwNTgwOC45
# MjVaMASAAgH0oIHYpIHVMIHSMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGlu
# Z3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBv
# cmF0aW9uMS0wKwYDVQQLEyRNaWNyb3NvZnQgSXJlbGFuZCBPcGVyYXRpb25zIExp
# bWl0ZWQxJjAkBgNVBAsTHVRoYWxlcyBUU1MgRVNOOjE3OUUtNEJCMC04MjQ2MSUw
# IwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBTZXJ2aWNloIIRdzCCBycwggUP
# oAMCAQICEzMAAAHg1PwfExUffl0AAQAAAeAwDQYJKoZIhvcNAQELBQAwfDELMAkG
# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx
# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9z
# b2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwHhcNMjMxMDEyMTkwNzE5WhcNMjUwMTEw
# MTkwNzE5WjCB0jELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAO
# BgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEt
# MCsGA1UECxMkTWljcm9zb2Z0IElyZWxhbmQgT3BlcmF0aW9ucyBMaW1pdGVkMSYw
# JAYDVQQLEx1UaGFsZXMgVFNTIEVTTjoxNzlFLTRCQjAtODI0NjElMCMGA1UEAxMc
# TWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZTCCAiIwDQYJKoZIhvcNAQEBBQAD
# ggIPADCCAgoCggIBAKyHnPOhxbvRATnGjb/6fuBhh3ZLzotAxAgdLaZ/zkRFUdeS
# KzyNt3tqorMK7GDvcXdKs+qIMUbvenlH+w53ssPa6rYP760ZuFrABrfserf0kFay
# NXVzwT7jarJOEjnFMBp+yi+uwQ2TnJuxczceG5FDHrII6sF6F879lP6ydY0BBZkZ
# 9t39e/svNRieA5gUnv/YcM/bIMY/QYmd9F0B+ebFYi+PH4AkXahNkFgK85OIaRrD
# GvhnxOa/5zGL7Oiii7+J9/QHkdJGlfnRfbQ3QXM/5/umBOKG4JoFY1niZ5RVH5PT
# 0+uCjwcqhTbnvUtfK+N+yB2b9rEZvp2Tv4ZwYzEd9A9VsYMuZiCSbaFMk77LwVbk
# lpnw4aHWJXJkEYmJvxRbcThE8FQyOoVkSuKc5OWZ2+WM/j50oblA0tCU53AauvUO
# ZRoQBh89nHK+m5pOXKXdYMJ+ceuLYF8h5y/cXLQMOmqLJz5l7MLqGwU0zHV+MEO8
# L1Fo2zEEQ4iL4BX8YknKXonHGQacSCaLZot2kyJVRsFSxn0PlPvHVp0YdsCMzdei
# w9jAZ7K9s1WxsZGEBrK/obipX6uxjEpyUA9mbVPljlb3R4MWI0E2xI/NM6F4Ac8C
# eax3YWLT+aWCZeqiIMLxyyWZg+i1KY8ZEzMeNTKCEI5wF1wxqr6T1/MQo+8tAgMB
# AAGjggFJMIIBRTAdBgNVHQ4EFgQUcF4XP26dV+8SusoA1XXQ2TDSmdIwHwYDVR0j
# BBgwFoAUn6cVXQBeYl2D9OXSZacbUzUZ6XIwXwYDVR0fBFgwVjBUoFKgUIZOaHR0
# cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jcmwvTWljcm9zb2Z0JTIwVGlt
# ZS1TdGFtcCUyMFBDQSUyMDIwMTAoMSkuY3JsMGwGCCsGAQUFBwEBBGAwXjBcBggr
# BgEFBQcwAoZQaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9N
# aWNyb3NvZnQlMjBUaW1lLVN0YW1wJTIwUENBJTIwMjAxMCgxKS5jcnQwDAYDVR0T
# AQH/BAIwADAWBgNVHSUBAf8EDDAKBggrBgEFBQcDCDAOBgNVHQ8BAf8EBAMCB4Aw
# DQYJKoZIhvcNAQELBQADggIBAMATzg6R/A0ldO7MqGxD1VJji5yVA1hHb0Hc0Yjt
# v7WkxQ8iwfflulX5Us64tD3+3NT1JkphWzaAWf2wKdAw35RxtQG1iON3HEZ0X23n
# de4Kg/Wfbx5rEHkZ9bzKnR/2N5A16+w/1pbwJzdfRcnJT3cLyawr/kYjMWd63OP0
# Glq70ua4WUE/Po5pU7rQRbWEoQozY24hAqOcwuRcm6Cb0JBeTOCeRBntEKgjKep4
# pRaQt7b9vusT97WeJcfaVosmmPtsZsawgnpIjbBa55tHfuk0vDkZtbIXjU4mr5dn
# s9dnanBdBS2PY3N3hIfCPEOszquwHLkfkFZ/9bxw8/eRJldtoukHo16afE/AqP/s
# mmGJh5ZR0pmgW6QcX+61rdi5kDJTzCFaoMyYzUS0SEbyrDZ/p2KOuKAYNngljiOl
# llct0uJVz2agfczGjjsKi2AS1WaXvOhgZNmGw42SFB1qaloa8Kaux9Q2HHLE8gee
# /5rgOnx9zSbfVUc7IcRNodq6R7v+Rz+P6XKtOgyCqW/+rhPmp/n7Fq2BGTRkcy//
# hmS32p6qyglr2K4OoJDJXxFs6lwc8D86qlUeGjUyo7hVy5VvyA+y0mGnEAuA85ts
# OcUPlzwWF5sv+B5fz35OW3X4Spk5SiNulnLFRPM5XCsSHqvcbC8R3qwj2w1evPhZ
# xDuNMIIHcTCCBVmgAwIBAgITMwAAABXF52ueAptJmQAAAAAAFTANBgkqhkiG9w0B
# AQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNV
# BAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEyMDAG
# A1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTAw
# HhcNMjEwOTMwMTgyMjI1WhcNMzAwOTMwMTgzMjI1WjB8MQswCQYDVQQGEwJVUzET
# MBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMV
# TWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1T
# dGFtcCBQQ0EgMjAxMDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAOTh
# pkzntHIhC3miy9ckeb0O1YLT/e6cBwfSqWxOdcjKNVf2AX9sSuDivbk+F2Az/1xP
# x2b3lVNxWuJ+Slr+uDZnhUYjDLWNE893MsAQGOhgfWpSg0S3po5GawcU88V29YZQ
# 3MFEyHFcUTE3oAo4bo3t1w/YJlN8OWECesSq/XJprx2rrPY2vjUmZNqYO7oaezOt
# gFt+jBAcnVL+tuhiJdxqD89d9P6OU8/W7IVWTe/dvI2k45GPsjksUZzpcGkNyjYt
# cI4xyDUoveO0hyTD4MmPfrVUj9z6BVWYbWg7mka97aSueik3rMvrg0XnRm7KMtXA
# hjBcTyziYrLNueKNiOSWrAFKu75xqRdbZ2De+JKRHh09/SDPc31BmkZ1zcRfNN0S
# idb9pSB9fvzZnkXftnIv231fgLrbqn427DZM9ituqBJR6L8FA6PRc6ZNN3SUHDSC
# D/AQ8rdHGO2n6Jl8P0zbr17C89XYcz1DTsEzOUyOArxCaC4Q6oRRRuLRvWoYWmEB
# c8pnol7XKHYC4jMYctenIPDC+hIK12NvDMk2ZItboKaDIV1fMHSRlJTYuVD5C4lh
# 8zYGNRiER9vcG9H9stQcxWv2XFJRXRLbJbqvUAV6bMURHXLvjflSxIUXk8A8Fdsa
# N8cIFRg/eKtFtvUeh17aj54WcmnGrnu3tz5q4i6tAgMBAAGjggHdMIIB2TASBgkr
# BgEEAYI3FQEEBQIDAQABMCMGCSsGAQQBgjcVAgQWBBQqp1L+ZMSavoKRPEY1Kc8Q
# /y8E7jAdBgNVHQ4EFgQUn6cVXQBeYl2D9OXSZacbUzUZ6XIwXAYDVR0gBFUwUzBR
# BgwrBgEEAYI3TIN9AQEwQTA/BggrBgEFBQcCARYzaHR0cDovL3d3dy5taWNyb3Nv
# ZnQuY29tL3BraW9wcy9Eb2NzL1JlcG9zaXRvcnkuaHRtMBMGA1UdJQQMMAoGCCsG
# AQUFBwMIMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIBhjAP
# BgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNX2VsuP6KJcYmjRPZSQW9fOmhjE
# MFYGA1UdHwRPME0wS6BJoEeGRWh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2kv
# Y3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNybDBaBggrBgEF
# BQcBAQROMEwwSgYIKwYBBQUHMAKGPmh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9w
# a2kvY2VydHMvTWljUm9vQ2VyQXV0XzIwMTAtMDYtMjMuY3J0MA0GCSqGSIb3DQEB
# CwUAA4ICAQCdVX38Kq3hLB9nATEkW+Geckv8qW/qXBS2Pk5HZHixBpOXPTEztTnX
# wnE2P9pkbHzQdTltuw8x5MKP+2zRoZQYIu7pZmc6U03dmLq2HnjYNi6cqYJWAAOw
# Bb6J6Gngugnue99qb74py27YP0h1AdkY3m2CDPVtI1TkeFN1JFe53Z/zjj3G82jf
# ZfakVqr3lbYoVSfQJL1AoL8ZthISEV09J+BAljis9/kpicO8F7BUhUKz/AyeixmJ
# 5/ALaoHCgRlCGVJ1ijbCHcNhcy4sa3tuPywJeBTpkbKpW99Jo3QMvOyRgNI95ko+
# ZjtPu4b6MhrZlvSP9pEB9s7GdP32THJvEKt1MMU0sHrYUP4KWN1APMdUbZ1jdEgs
# sU5HLcEUBHG/ZPkkvnNtyo4JvbMBV0lUZNlz138eW0QBjloZkWsNn6Qo3GcZKCS6
# OEuabvshVGtqRRFHqfG3rsjoiV5PndLQTHa1V1QJsWkBRH58oWFsc/4Ku+xBZj1p
# /cvBQUl+fpO+y/g75LcVv7TOPqUxUYS8vwLBgqJ7Fx0ViY1w/ue10CgaiQuPNtq6
# TPmb/wrpNPgkNWcr4A245oyZ1uEi6vAnQj0llOZ0dFtq0Z4+7X6gMTN9vMvpe784
# cETRkPHIqzqKOghif9lwY1NNje6CbaUFEMFxBmoQtB1VM1izoXBm8qGCAtMwggI8
# AgEBMIIBAKGB2KSB1TCB0jELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0
# b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3Jh
# dGlvbjEtMCsGA1UECxMkTWljcm9zb2Z0IElyZWxhbmQgT3BlcmF0aW9ucyBMaW1p
# dGVkMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjoxNzlFLTRCQjAtODI0NjElMCMG
# A1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZaIjCgEBMAcGBSsOAwIa
# AxUAbfPR1fBX6HxYfyPx8zYzJU5fIQyggYMwgYCkfjB8MQswCQYDVQQGEwJVUzET
# MBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMV
# TWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1T
# dGFtcCBQQ0EgMjAxMDANBgkqhkiG9w0BAQUFAAIFAOneKEIwIhgPMjAyNDA1MDIy
# MjU3MDZaGA8yMDI0MDUwMzIyNTcwNlowczA5BgorBgEEAYRZCgQBMSswKTAKAgUA
# 6d4oQgIBADAGAgEAAgECMAcCAQACAhGaMAoCBQDp33nCAgEAMDYGCisGAQQBhFkK
# BAIxKDAmMAwGCisGAQQBhFkKAwKgCjAIAgEAAgMHoSChCjAIAgEAAgMBhqAwDQYJ
# KoZIhvcNAQEFBQADgYEAl7oE6xsRC+tKSaM+AOP/8WG8b7+wNMv5TeQRWHXDYUMt
# wcVy6UPZJX2SYYXsTu2wC1ufEusy8tyZP7riGeNi2+RBmPuz935+Yg/czioe26sR
# togcFjKufQMd3/LXtXB//uc9ujbht5n5KToz8RD3X156hxlXOeQVw7dnGPHD8/Ax
# ggQNMIIECQIBATCBkzB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3Rv
# bjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0
# aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMAITMwAA
# AeDU/B8TFR9+XQABAAAB4DANBglghkgBZQMEAgEFAKCCAUowGgYJKoZIhvcNAQkD
# MQ0GCyqGSIb3DQEJEAEEMC8GCSqGSIb3DQEJBDEiBCD35YvWZ+jkCMdZ6ldt0Liw
# lMXt56wgCrjvs7mhxYJR9TCB+gYLKoZIhvcNAQkQAi8xgeowgecwgeQwgb0EIOPu
# Ur/yOeVtOM+9zvsMIJJvhNkClj2cmbnCGwr/aQrBMIGYMIGApH4wfDELMAkGA1UE
# BhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAc
# BgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0
# IFRpbWUtU3RhbXAgUENBIDIwMTACEzMAAAHg1PwfExUffl0AAQAAAeAwIgQgzXkB
# yXtxfH6F+xGCgYG9VWKAxj4m3diicLlVPw8kxoQwDQYJKoZIhvcNAQELBQAEggIA
# HgLsWiCDwk5eNg9POJk328IbGYjMJh+PorOe0rWR99h0W0pYpHeG+KBGAtWIGYJd
# X7C4vL9Y50va9TLZz3ODl2vNDluE+R0R+lvDLATwRvVSOnkQop74/PipijHiodpZ
# eWJp236TCoOrL9yB89gfjc3CTYDINmDr3syBthbkZ3W8E6FNVPspOadCn4dwlpF6
# HgYV1t4lpvxqlzkBryUvqETAKVoKPAw/hSzZlrCr8k09Iuzhuvv6pkwz9oKaacS7
# lm02sRVzgrNIBpK6Z2Csd18HzoVlfpMifYruPyDpKQx1ygV1l5uIjGNXLAp+BCcx
# DBYEnaBkK93t0n1OFmYbny8CfXSArWdq7PPChOU0F+Fqui1tk1rDE27SASJxPwYi
# PSyL+OmW3eXTfT4RZdpM+H7X32yULF5kbLzK4MIYCvzlrqsDpydXeqDoELkA/DWP
# X4qoMSz8SYDOMGIUqZhzGoHP0lCJZLp9NCf/DldjFqYHubW2fkyQDQUAGeAgN5w8
# 3QNe3lFcgoPcii1ChCj1WaG1A/jGtb2uWnwxXT9cvJtGjMh4POXJWGgLmKBoflV4
# x3dv8QvXAScwUFMm+GGJVDIzwsom7j3DPN1zYEeIUNSRQlYF2TSErR0yH8UL5OiM
# 3dbPu+sUtc9rX7LWH72wwYS5Bb+J+/ZqxYaCB8PTegE=
# SIG # End signature block

View File

@@ -0,0 +1,286 @@
#ClientCommunication:__HTTPSORNOT__
#ClientConnectionType:__ClientConnectionType__
$LogList = @()
$LogList += "Start running add management point (HTTPS) script."
$key = [Microsoft.Win32.RegistryKey]::OpenBaseKey([Microsoft.Win32.RegistryHive]::LocalMachine, [Microsoft.Win32.RegistryView]::Registry32)
$subKey = $key.OpenSubKey("SOFTWARE\Microsoft\ConfigMgr10\Setup")
$uiInstallPath = $subKey.GetValue("UI Installation Directory")
$modulePath = $uiInstallPath+"bin\ConfigurationManager.psd1"
Import-Module $modulePath
$key = [Microsoft.Win32.RegistryKey]::OpenBaseKey([Microsoft.Win32.RegistryHive]::LocalMachine, [Microsoft.Win32.RegistryView]::Registry64)
$subKey = $key.OpenSubKey("SOFTWARE\Microsoft\SMS\Identification")
$SiteCode = $subKey.GetValue("Site Code")
$MachineName = "__MachineFQDN__"
$ProviderMachineName = "__ProviderMachineName__"
$Communication = "__HTTPSORNOT__"
$ClientConnectionType = "__ClientConnectionType__"
$initParams = @{}
# Connect to the site's drive if it is not already present
$LogList += "Setting PS Drive..."
while((Get-PSDrive -Name $SiteCode -PSProvider CMSite -ErrorAction SilentlyContinue) -eq $null)
{
$LogList += "Get drive failed ,retry in 10s. Please wait."
New-PSDrive -Name $SiteCode -PSProvider CMSite -Root $ProviderMachineName @initParams | Out-Null
Start-Sleep -Seconds 10
}
Set-Location "$($SiteCode):\" @initParams
$SystemServer = Get-CMSiteSystemServer -SiteSystemServerName $MachineName
if(!$SystemServer)
{
$LogList += "Creating cm site system server..."
$LogList += New-CMSiteSystemServer -SiteSystemServerName $MachineName
$LogList += "Finished creating cm site system server."
}
else
{
$LogList += "$MachineName is already a Site System Server."
}
if((Get-CMManagementPoint -SiteSystemServerName $MachineName).count -eq 1)
{
$LogList += "$MachineName is already a Management Point."
$LogList += 1
return $LogList
}
else
{
$SystemServer = Get-CMSiteSystemServer -SiteSystemServerName $MachineName
$LogList += "Adding management point on $MachineName ..."
$LogList += Add-CMManagementPoint -InputObject $SystemServer -CommunicationType $Communication -ClientConnectionType $ClientConnectionType
$LogList += "Finished adding management point on $MachineName ..."
if((Get-CMManagementPoint -SiteSystemServerName $MachineName).count -eq 1)
{
$LogList += "Finished running the script."
$LogList += 0
return $LogList
}
else
{
$LogList += "Failed to run the script."
$LogList += 2
return $LogList
}
}
# SIG # Begin signature block
# MIIn3wYJKoZIhvcNAQcCoIIn0DCCJ8wCAQExDzANBglghkgBZQMEAgEFADB5Bgor
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCBwOZe3OlmWKN45
# PgYjBnXedqr8HwtOZTbqlwSgFwX5HaCCDXYwggX0MIID3KADAgECAhMzAAADrzBA
# DkyjTQVBAAAAAAOvMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD
# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p
# bmcgUENBIDIwMTEwHhcNMjMxMTE2MTkwOTAwWhcNMjQxMTE0MTkwOTAwWjB0MQsw
# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
# AQDOS8s1ra6f0YGtg0OhEaQa/t3Q+q1MEHhWJhqQVuO5amYXQpy8MDPNoJYk+FWA
# hePP5LxwcSge5aen+f5Q6WNPd6EDxGzotvVpNi5ve0H97S3F7C/axDfKxyNh21MG
# 0W8Sb0vxi/vorcLHOL9i+t2D6yvvDzLlEefUCbQV/zGCBjXGlYJcUj6RAzXyeNAN
# xSpKXAGd7Fh+ocGHPPphcD9LQTOJgG7Y7aYztHqBLJiQQ4eAgZNU4ac6+8LnEGAL
# go1ydC5BJEuJQjYKbNTy959HrKSu7LO3Ws0w8jw6pYdC1IMpdTkk2puTgY2PDNzB
# tLM4evG7FYer3WX+8t1UMYNTAgMBAAGjggFzMIIBbzAfBgNVHSUEGDAWBgorBgEE
# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQURxxxNPIEPGSO8kqz+bgCAQWGXsEw
# RQYDVR0RBD4wPKQ6MDgxHjAcBgNVBAsTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEW
# MBQGA1UEBRMNMjMwMDEyKzUwMTgyNjAfBgNVHSMEGDAWgBRIbmTlUAXTgqoXNzci
# tW2oynUClTBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8vd3d3Lm1pY3Jvc29mdC5j
# b20vcGtpb3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIwMTEtMDctMDguY3JsMGEG
# CCsGAQUFBwEBBFUwUzBRBggrBgEFBQcwAoZFaHR0cDovL3d3dy5taWNyb3NvZnQu
# Y29tL3BraW9wcy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDExXzIwMTEtMDctMDguY3J0
# MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIBAISxFt/zR2frTFPB45Yd
# mhZpB2nNJoOoi+qlgcTlnO4QwlYN1w/vYwbDy/oFJolD5r6FMJd0RGcgEM8q9TgQ
# 2OC7gQEmhweVJ7yuKJlQBH7P7Pg5RiqgV3cSonJ+OM4kFHbP3gPLiyzssSQdRuPY
# 1mIWoGg9i7Y4ZC8ST7WhpSyc0pns2XsUe1XsIjaUcGu7zd7gg97eCUiLRdVklPmp
# XobH9CEAWakRUGNICYN2AgjhRTC4j3KJfqMkU04R6Toyh4/Toswm1uoDcGr5laYn
# TfcX3u5WnJqJLhuPe8Uj9kGAOcyo0O1mNwDa+LhFEzB6CB32+wfJMumfr6degvLT
# e8x55urQLeTjimBQgS49BSUkhFN7ois3cZyNpnrMca5AZaC7pLI72vuqSsSlLalG
# OcZmPHZGYJqZ0BacN274OZ80Q8B11iNokns9Od348bMb5Z4fihxaBWebl8kWEi2O
# PvQImOAeq3nt7UWJBzJYLAGEpfasaA3ZQgIcEXdD+uwo6ymMzDY6UamFOfYqYWXk
# ntxDGu7ngD2ugKUuccYKJJRiiz+LAUcj90BVcSHRLQop9N8zoALr/1sJuwPrVAtx
# HNEgSW+AKBqIxYWM4Ev32l6agSUAezLMbq5f3d8x9qzT031jMDT+sUAoCw0M5wVt
# CUQcqINPuYjbS1WgJyZIiEkBMIIHejCCBWKgAwIBAgIKYQ6Q0gAAAAAAAzANBgkq
# hkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24x
# EDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv
# bjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5
# IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEwOTA5WjB+MQswCQYDVQQG
# EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG
# A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYDVQQDEx9NaWNyb3NvZnQg
# Q29kZSBTaWduaW5nIFBDQSAyMDExMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC
# CgKCAgEAq/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+laUKq4BjgaBEm6f8MMHt03
# a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSHfpRgJGyvnkmc6Whe0t+bU7IKLMOv2akr
# rnoJr9eWWcpgGgXpZnboMlImEi/nqwhQz7NEt13YxC4Ddato88tt8zpcoRb0Rrrg
# OGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnnDb6gE3e+lD3v++MrWhAfTVYoonpy
# 4BI6t0le2O3tQ5GD2Xuye4Yb2T6xjF3oiU+EGvKhL1nkkDstrjNYxbc+/jLTswM9
# sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOEy/S6A4aN91/w0FK/jJSHvMAh
# dCVfGCi2zCcoOCWYOUo2z3yxkq4cI6epZuxhH2rhKEmdX4jiJV3TIUs+UsS1Vz8k
# A/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL5zmhD+kjSbwYuER8ReTB
# w3J64HLnJN+/RpnF78IcV9uDjexNSTCnq47f7Fufr/zdsGbiwZeBe+3W7UvnSSmn
# Eyimp31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3T8HhhUSJxAlMxdSlQy90
# lfdu+HggWCwTXWCVmj5PM4TasIgX3p5O9JawvEagbJjS4NaIjAsCAwEAAaOCAe0w
# ggHpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRIbmTlUAXTgqoXNzcitW2o
# ynUClTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYD
# VR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRyLToCMZBDuRQFTuHqp8cx0SOJNDBa
# BgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2Ny
# bC9wcm9kdWN0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNfMjIuY3JsMF4GCCsG
# AQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDovL3d3dy5taWNyb3NvZnQuY29t
# L3BraS9jZXJ0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNfMjIuY3J0MIGfBgNV
# HSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEFBQcCARYzaHR0cDovL3d3
# dy5taWNyb3NvZnQuY29tL3BraW9wcy9kb2NzL3ByaW1hcnljcHMuaHRtMEAGCCsG
# AQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkAYwB5AF8AcwB0AGEAdABl
# AG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQBn8oalmOBUeRou09h0ZyKb
# C5YR4WOSmUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7v0epo/Np22O/IjWll11l
# hJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r4z4HLimb5j0bpdS1HXeUOeLpZMlEPXh6
# I/MTfaaQdION9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/KmtYSWMfCWluWpiW5IP0
# wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiXmE0OPQvyCInWH8MyGOLwxS3OW560
# STkKxgrCxq2u5bLZ2xWIUUVYODJxJxp/sfQn+N4sOiBpmLJZiWhub6e3dMNABQam
# ASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPDXVJihsMdYzaXht/a8/jyFqGa
# J+HNpZfQ7l1jQeNbB5yHPgZ3BtEGsXUfFL5hYbXw3MYbBL7fQccOKO7eZS/sl/ah
# XJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbSoqKfenoi+kiVH6v7RyOA
# 9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sLgOppO6/8MO0ETI7f33Vt
# Y5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtXcVZOSEXAQsmbdlsKgEhr
# /Xmfwb1tbWrJUnMTDXpQzTGCGb8wghm7AgEBMIGVMH4xCzAJBgNVBAYTAlVTMRMw
# EQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVN
# aWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNp
# Z25pbmcgUENBIDIwMTECEzMAAAOvMEAOTKNNBUEAAAAAA68wDQYJYIZIAWUDBAIB
# BQCggcwwGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwHAYKKwYBBAGCNwIBCzEO
# MAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIJ7nIBGEB8kpKYm/WQVsNRuy
# tWm1gxcJuQcGSdPIEA79MGAGCisGAQQBgjcCAQwxUjBQoDKAMABFAHgAdABlAG4A
# ZABNAGkAZwByAGEAdABlAFQAbwBBAHoAdQByAGUALgBlAHgAZaEagBhodHRwOi8v
# d3d3Lm1pY3Jvc29mdC5jb20wDQYJKoZIhvcNAQEBBQAEggEAamNcWCqirVx4chmc
# OItiP+wn1jbo0Z/TOY3aqX2crdogwC4Vp/86mgWop2R0UdV0nk6CiteqgBzH8NQm
# cqeq3hagPI8MEownzOYDUGbXQsPWDCC7kpUkiICjpzWvVeHgi8wXf/rK4sT2Zmet
# j6SZKKKrWfzviFnApLF/oAfbJlFYspJYWbXlccb+/Pxd/yLiShKh2/aZypmIA0pn
# oZT3CLhKVWDlVx5pKQgkjtDziNF2FPzTxS2Hlhkc1Jj7khn89Owqa/EDK0t3FiVE
# 7owJTevj7HTtkYmD/tz8v7k3X++ls0ae6YIuqIwjfRk0ZxoaX/TYs4wHT2Ts2vft
# aFjllaGCFyswghcnBgorBgEEAYI3AwMBMYIXFzCCFxMGCSqGSIb3DQEHAqCCFwQw
# ghcAAgEDMQ8wDQYJYIZIAWUDBAIBBQAwggFZBgsqhkiG9w0BCRABBKCCAUgEggFE
# MIIBQAIBAQYKKwYBBAGEWQoDATAxMA0GCWCGSAFlAwQCAQUABCDr0ary4OBw7VOc
# 66nuOMCUQ+Ur3Nt2eteO/h+UPLndFQIGZjOr8DoMGBMyMDI0MDUwMjIwNTgwOS44
# NzlaMASAAgH0oIHYpIHVMIHSMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGlu
# Z3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBv
# cmF0aW9uMS0wKwYDVQQLEyRNaWNyb3NvZnQgSXJlbGFuZCBPcGVyYXRpb25zIExp
# bWl0ZWQxJjAkBgNVBAsTHVRoYWxlcyBUU1MgRVNOOkQwODItNEJGRC1FRUJBMSUw
# IwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBTZXJ2aWNloIIRejCCBycwggUP
# oAMCAQICEzMAAAHcweCMwl9YXo4AAQAAAdwwDQYJKoZIhvcNAQELBQAwfDELMAkG
# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx
# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9z
# b2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwHhcNMjMxMDEyMTkwNzA2WhcNMjUwMTEw
# MTkwNzA2WjCB0jELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAO
# BgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEt
# MCsGA1UECxMkTWljcm9zb2Z0IElyZWxhbmQgT3BlcmF0aW9ucyBMaW1pdGVkMSYw
# JAYDVQQLEx1UaGFsZXMgVFNTIEVTTjpEMDgyLTRCRkQtRUVCQTElMCMGA1UEAxMc
# TWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZTCCAiIwDQYJKoZIhvcNAQEBBQAD
# ggIPADCCAgoCggIBAIvIsyA1sjg9kSKJzelrUWF5ShqYWL83amn3SE5JyIVPUC7F
# 6qTcLphhHZ9idf21f0RaGrU8EHydF8NxPMR2KVNiAtCGPJa8kV1CGvn3beGB2m2l
# tmqJanG71mAywrkKATYniwKLPQLJ00EkXw5TSwfmJXbdgQLFlHyfA5Kg+pUsJXzq
# umkIvEr0DXPvptAGqkdFLKwo4BTlEgnvzeTfXukzX8vQtTALfVJuTUgRU7zoP/RF
# Wt3WagahZ6UloI0FC8XlBQDVDX5JeMEsx7jgJDdEnK44Y8gHuEWRDq+SG9Xo0GIO
# jiuTWD5uv3vlEmIAyR/7rSFvcLnwAqMdqcy/iqQPMlDOcd0AbniP8ia1BQEUnfZT
# 3UxyK9rLB/SRiKPyHDlg8oWwXyiv3+bGB6dmdM61ur6nUtfDf51lPcKhK4Vo83pO
# E1/niWlVnEHQV9NJ5/DbUSqW2RqTUa2O2KuvsyRGMEgjGJA12/SqrRqlvE2fiN5Z
# mZVtqSPWaIasx7a0GB+fdTw+geRn6Mo2S6+/bZEwS/0IJ5gcKGinNbfyQ1xrvWXP
# tXzKOfjkh75iRuXourGVPRqkmz5UYz+R5ybMJWj+mfcGqz2hXV8iZnCZDBrrnZiv
# nErCMh5Flfg8496pT0phjUTH2GChHIvE4SDSk2hwWP/uHB9gEs8p/9Pe/mt9AgMB
# AAGjggFJMIIBRTAdBgNVHQ4EFgQU6HPSBd0OfEX3uNWsdkSraUGe3dswHwYDVR0j
# BBgwFoAUn6cVXQBeYl2D9OXSZacbUzUZ6XIwXwYDVR0fBFgwVjBUoFKgUIZOaHR0
# cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jcmwvTWljcm9zb2Z0JTIwVGlt
# ZS1TdGFtcCUyMFBDQSUyMDIwMTAoMSkuY3JsMGwGCCsGAQUFBwEBBGAwXjBcBggr
# BgEFBQcwAoZQaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9N
# aWNyb3NvZnQlMjBUaW1lLVN0YW1wJTIwUENBJTIwMjAxMCgxKS5jcnQwDAYDVR0T
# AQH/BAIwADAWBgNVHSUBAf8EDDAKBggrBgEFBQcDCDAOBgNVHQ8BAf8EBAMCB4Aw
# DQYJKoZIhvcNAQELBQADggIBANnrb8Ewr8eX/H1sKt3rnwTDx4AqgHbkMNQo+kUG
# wCINXS3y1GUcdqsK/R1g6Tf7tNx1q0NpKk1JTupUJfHdExKtkuhHA+82lT7yISp/
# Y74dqJ03RCT4Q+8ooQXTMzxiewfErVLt8WefebncST0i6ypKv87pCYkxM24bbqbM
# /V+M5VBppCUs7R+cETiz/zEA1AbZL/viXtHmryA0CGd+Pt9c+adsYfm7qe5UMnS0
# f/YJmEEMkEqGXCzyLK+dh+UsFi0d4lkdcE+Zq5JNjIHesX1wztGVAtvX0DYDZdN2
# WZ1kk+hOMblUV/L8n1YWzhP/5XQnYl03AfXErn+1Eatylifzd3ChJ1xuGG76YbWg
# iRXnDvCiwDqvUJevVRY1qy4y4vlVKaShtbdfgPyGeeJ/YcSBONOc0DNTWbjMbL50
# qeIEC0lHSpL2rRYNVu3hsHzG8n5u5CQajPwx9PzpsZIeFTNHyVF6kujI4Vo9NvO/
# zF8Ot44IMj4M7UX9Za4QwGf5B71x57OjaX53gxT4vzoHvEBXF9qCmHRgXBLbRomJ
# fDn60alzv7dpCVQIuQ062nyIZKnsXxzuKFb0TjXWw6OFpG1bsjXpOo5DMHkysrib
# xHor4Yz5dZjVyHANyKo0bSrAlVeihcaG5F74SZT8FtyHAW6IgLc5w/3D+R1obDhK
# Z21WMIIHcTCCBVmgAwIBAgITMwAAABXF52ueAptJmQAAAAAAFTANBgkqhkiG9w0B
# AQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNV
# BAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEyMDAG
# A1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTAw
# HhcNMjEwOTMwMTgyMjI1WhcNMzAwOTMwMTgzMjI1WjB8MQswCQYDVQQGEwJVUzET
# MBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMV
# TWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1T
# dGFtcCBQQ0EgMjAxMDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAOTh
# pkzntHIhC3miy9ckeb0O1YLT/e6cBwfSqWxOdcjKNVf2AX9sSuDivbk+F2Az/1xP
# x2b3lVNxWuJ+Slr+uDZnhUYjDLWNE893MsAQGOhgfWpSg0S3po5GawcU88V29YZQ
# 3MFEyHFcUTE3oAo4bo3t1w/YJlN8OWECesSq/XJprx2rrPY2vjUmZNqYO7oaezOt
# gFt+jBAcnVL+tuhiJdxqD89d9P6OU8/W7IVWTe/dvI2k45GPsjksUZzpcGkNyjYt
# cI4xyDUoveO0hyTD4MmPfrVUj9z6BVWYbWg7mka97aSueik3rMvrg0XnRm7KMtXA
# hjBcTyziYrLNueKNiOSWrAFKu75xqRdbZ2De+JKRHh09/SDPc31BmkZ1zcRfNN0S
# idb9pSB9fvzZnkXftnIv231fgLrbqn427DZM9ituqBJR6L8FA6PRc6ZNN3SUHDSC
# D/AQ8rdHGO2n6Jl8P0zbr17C89XYcz1DTsEzOUyOArxCaC4Q6oRRRuLRvWoYWmEB
# c8pnol7XKHYC4jMYctenIPDC+hIK12NvDMk2ZItboKaDIV1fMHSRlJTYuVD5C4lh
# 8zYGNRiER9vcG9H9stQcxWv2XFJRXRLbJbqvUAV6bMURHXLvjflSxIUXk8A8Fdsa
# N8cIFRg/eKtFtvUeh17aj54WcmnGrnu3tz5q4i6tAgMBAAGjggHdMIIB2TASBgkr
# BgEEAYI3FQEEBQIDAQABMCMGCSsGAQQBgjcVAgQWBBQqp1L+ZMSavoKRPEY1Kc8Q
# /y8E7jAdBgNVHQ4EFgQUn6cVXQBeYl2D9OXSZacbUzUZ6XIwXAYDVR0gBFUwUzBR
# BgwrBgEEAYI3TIN9AQEwQTA/BggrBgEFBQcCARYzaHR0cDovL3d3dy5taWNyb3Nv
# ZnQuY29tL3BraW9wcy9Eb2NzL1JlcG9zaXRvcnkuaHRtMBMGA1UdJQQMMAoGCCsG
# AQUFBwMIMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIBhjAP
# BgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNX2VsuP6KJcYmjRPZSQW9fOmhjE
# MFYGA1UdHwRPME0wS6BJoEeGRWh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2kv
# Y3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNybDBaBggrBgEF
# BQcBAQROMEwwSgYIKwYBBQUHMAKGPmh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9w
# a2kvY2VydHMvTWljUm9vQ2VyQXV0XzIwMTAtMDYtMjMuY3J0MA0GCSqGSIb3DQEB
# CwUAA4ICAQCdVX38Kq3hLB9nATEkW+Geckv8qW/qXBS2Pk5HZHixBpOXPTEztTnX
# wnE2P9pkbHzQdTltuw8x5MKP+2zRoZQYIu7pZmc6U03dmLq2HnjYNi6cqYJWAAOw
# Bb6J6Gngugnue99qb74py27YP0h1AdkY3m2CDPVtI1TkeFN1JFe53Z/zjj3G82jf
# ZfakVqr3lbYoVSfQJL1AoL8ZthISEV09J+BAljis9/kpicO8F7BUhUKz/AyeixmJ
# 5/ALaoHCgRlCGVJ1ijbCHcNhcy4sa3tuPywJeBTpkbKpW99Jo3QMvOyRgNI95ko+
# ZjtPu4b6MhrZlvSP9pEB9s7GdP32THJvEKt1MMU0sHrYUP4KWN1APMdUbZ1jdEgs
# sU5HLcEUBHG/ZPkkvnNtyo4JvbMBV0lUZNlz138eW0QBjloZkWsNn6Qo3GcZKCS6
# OEuabvshVGtqRRFHqfG3rsjoiV5PndLQTHa1V1QJsWkBRH58oWFsc/4Ku+xBZj1p
# /cvBQUl+fpO+y/g75LcVv7TOPqUxUYS8vwLBgqJ7Fx0ViY1w/ue10CgaiQuPNtq6
# TPmb/wrpNPgkNWcr4A245oyZ1uEi6vAnQj0llOZ0dFtq0Z4+7X6gMTN9vMvpe784
# cETRkPHIqzqKOghif9lwY1NNje6CbaUFEMFxBmoQtB1VM1izoXBm8qGCAtYwggI/
# AgEBMIIBAKGB2KSB1TCB0jELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0
# b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3Jh
# dGlvbjEtMCsGA1UECxMkTWljcm9zb2Z0IElyZWxhbmQgT3BlcmF0aW9ucyBMaW1p
# dGVkMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjpEMDgyLTRCRkQtRUVCQTElMCMG
# A1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZaIjCgEBMAcGBSsOAwIa
# AxUAHDn/cz+3yRkIUCJfSbL3djnQEqaggYMwgYCkfjB8MQswCQYDVQQGEwJVUzET
# MBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMV
# TWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1T
# dGFtcCBQQ0EgMjAxMDANBgkqhkiG9w0BAQUFAAIFAOneKmgwIhgPMjAyNDA1MDIy
# MzA2MTZaGA8yMDI0MDUwMzIzMDYxNlowdjA8BgorBgEEAYRZCgQBMS4wLDAKAgUA
# 6d4qaAIBADAJAgEAAgEEAgH/MAcCAQACAhFIMAoCBQDp33voAgEAMDYGCisGAQQB
# hFkKBAIxKDAmMAwGCisGAQQBhFkKAwKgCjAIAgEAAgMHoSChCjAIAgEAAgMBhqAw
# DQYJKoZIhvcNAQEFBQADgYEAiubm29f2iT06hWs6k5a7wm+FGMIWHUNtdUtXYfLU
# kWX5T6b2NCPrtjW36ZJ2DzWHtvQhwv28aLrIBKIRl6xWTegDr+dP9jiNdeENFh7b
# Bpw+de/rqZ7mGSYahh55B6abM0qWJEL3TP2YsRYroObe+TzG0lVf5GNGpujUYlhZ
# GgkxggQNMIIECQIBATCBkzB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGlu
# Z3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBv
# cmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMAIT
# MwAAAdzB4IzCX1hejgABAAAB3DANBglghkgBZQMEAgEFAKCCAUowGgYJKoZIhvcN
# AQkDMQ0GCyqGSIb3DQEJEAEEMC8GCSqGSIb3DQEJBDEiBCDxHpWzpU5mJSk/I1fm
# EIFiXQF5XzhS4vDTp48t9QP7ADCB+gYLKoZIhvcNAQkQAi8xgeowgecwgeQwgb0E
# IFOnF4pq2UQ/jLypnOO5YvQ67QirEQsOFfZMvKXEgg03MIGYMIGApH4wfDELMAkG
# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx
# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9z
# b2Z0IFRpbWUtU3RhbXAgUENBIDIwMTACEzMAAAHcweCMwl9YXo4AAQAAAdwwIgQg
# UVHBIVYOFnQ1cv4Qc63cwpMd10yTxbVYUkHgZLg03b0wDQYJKoZIhvcNAQELBQAE
# ggIAOjCSjqgA5CRpSZetqrtvJzOMYqacu0f75IA4XDkEzugXmhk764+cOR2VlK5m
# GfG2KWQd8aKKZWeStObODXXI9d87D/NPFkSgbqWvO5bCX5hltw030ZwsaV/7jG2Q
# L+z0+DURyx7x/DQYssoEcMqtYXwvCUgX7GhO1jk+ZT2irF+8GopqQ8bHNgYiJqYk
# aGpau+Ma+H/KFq+TavTgrpoDAFOCxEPwpXf+DHpAS+yFh3O4ZUsx5brwEL0sQa4/
# 6/QNHJ4MoeN9OXsNaJAYV4GMhwstwTLcQIkJGS/BEKorGDRX6R4jjN7xtVvRZ9QI
# rAD1O4t7bdIF4LZm6mYaWIscZ0RM1nPKar7jFVLDWDv1NJy3o3RviBH70m1SUM5j
# AA4f6+f9UTeIgsh4Hv34mQkrELk/A4YLR4VrOH/ivQyWEe0OuYA7k+NvZMrsdor+
# 8AvswFcuNXeQctKrY5Jtfb5TGswcINd2w/QwNVe48CU1SUgAeBeN8OpfI+aEZZC0
# QUVnYzlZjOmd4UHBp8iGXTYQ+x8foWoMdRlSueQC8FXSrRLw1YoLYhOPJx7WcL+7
# WKUG7GYLyfrlQztO0REUgofh3W2Me8mu6sYEvBVkOcugdsvzqhDZXmH36OwVJHGR
# fDhjz25g9puC77G6EkPRMJWO3xvi1cPot0X03jf3tn9xZ+Y=
# SIG # End signature block

View File

@@ -0,0 +1,293 @@
$LogList = @()
$LogList += "Start running add passive site script."
$key = [Microsoft.Win32.RegistryKey]::OpenBaseKey([Microsoft.Win32.RegistryHive]::LocalMachine, [Microsoft.Win32.RegistryView]::Registry32)
$subKey = $key.OpenSubKey("SOFTWARE\Microsoft\ConfigMgr10\Setup")
$uiInstallPath = $subKey.GetValue("UI Installation Directory")
Import-Module "$uiInstallPath\bin\ConfigurationManager.psd1"
$key = [Microsoft.Win32.RegistryKey]::OpenBaseKey([Microsoft.Win32.RegistryHive]::LocalMachine, [Microsoft.Win32.RegistryView]::Registry64)
$subKey = $key.OpenSubKey("SOFTWARE\Microsoft\SMS\Identification")
$SiteCode = $subKey.GetValue("Site Code")
$MachineName = "__MachineFQDN__"
$ProviderMachineName = "__ProviderMachineName__"
$NALPath = "[""Display=\\$($MachineName)\""]MSWNET:[""SMS_SITE=$($SiteCode)""]\\$($MachineName)\"
#Add primary site server to administrators
$idx = $MachineName.IndexOf(".")
$psname = $MachineName.SubString(0, $idx) +"$"
$domainname = $MachineName.SubString($idx + 1)
$dname = $env:userdomain
$AdminGroupName = (Get-WmiObject -Class Win32_Group -Filter 'LocalAccount = True AND SID = "S-1-5-32-544"').Name
$GroupObj = [ADSI]"WinNT://$env:COMPUTERNAME/$AdminGroupName"
if($GroupObj.IsMember("WinNT://$dname/$psname") -eq $false)
{
$GroupObj.Add("WinNT://$dname/$psname") | out-null
}
$initParams = @{}
# Connect to the site's drive if it is not already present
$LogList += "Setting PS Drive..."
while((Get-PSDrive -Name $SiteCode -PSProvider CMSite -ErrorAction SilentlyContinue) -eq $null)
{
$LogList += "Get drive failed ,retry in 10s. Please wait."
New-PSDrive -Name $SiteCode -PSProvider CMSite -Root $ProviderMachineName @initParams | Out-Null
Start-Sleep -Seconds 10
}
Set-Location "$($SiteCode):\" @initParams
$ActiveSiteServer = Get-CMSiteRole -RoleName "SMS Site Server" -SiteCode $SiteCode
if($ActiveSiteServer.Count -ne 1)
{
# there is passive site server already
$LogList += "$MachineName is already a passive site server , skip running this script."
$LogList += 1
return $LogList
}
$LogList += "Creating cm site system server..."
# Create SMS Site system
New-CMSiteSystemServer -SiteSystemServerName $MachineName -SiteCode $SiteCode -FdmOperation $True
$LogList += "Finished creating cm site system server."
$LogList += "Creating passive site server role on $MachineName ..."
# Create passive site server role
Add-CMPassiveSite -SiteCode $SiteCode -SiteSystemServerName $MachineName -InstallDirectory "C:\sms" -SourceFilePathOption CopySourceFileFromActiveSite
$LogList += "Finished Creating passive site server role on $MachineName ..."
$query = "SELECT * FROM SMS_SCI_SysResUse WHERE SiteCode = '$SiteCode' AND RoleName = 'SMS Site Server'"
if((Invoke-CMWmiQuery -Query $query | ?{$_.SiteSystemStatus -eq 0}).count -eq 1)
{
$LogList += "Finished running the script."
$LogList += 0
return $LogList
}
else
{
$LogList += "Failed to run the script."
$LogList += 2
return $LogList
}
# SIG # Begin signature block
# MIIoSwYJKoZIhvcNAQcCoIIoPDCCKDgCAQExDzANBglghkgBZQMEAgEFADB5Bgor
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCAEIrBii5ilmJSD
# IobZYUuBmVJuBEOXmkIOrnFsP9wyI6CCDXYwggX0MIID3KADAgECAhMzAAADrzBA
# DkyjTQVBAAAAAAOvMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD
# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p
# bmcgUENBIDIwMTEwHhcNMjMxMTE2MTkwOTAwWhcNMjQxMTE0MTkwOTAwWjB0MQsw
# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
# AQDOS8s1ra6f0YGtg0OhEaQa/t3Q+q1MEHhWJhqQVuO5amYXQpy8MDPNoJYk+FWA
# hePP5LxwcSge5aen+f5Q6WNPd6EDxGzotvVpNi5ve0H97S3F7C/axDfKxyNh21MG
# 0W8Sb0vxi/vorcLHOL9i+t2D6yvvDzLlEefUCbQV/zGCBjXGlYJcUj6RAzXyeNAN
# xSpKXAGd7Fh+ocGHPPphcD9LQTOJgG7Y7aYztHqBLJiQQ4eAgZNU4ac6+8LnEGAL
# go1ydC5BJEuJQjYKbNTy959HrKSu7LO3Ws0w8jw6pYdC1IMpdTkk2puTgY2PDNzB
# tLM4evG7FYer3WX+8t1UMYNTAgMBAAGjggFzMIIBbzAfBgNVHSUEGDAWBgorBgEE
# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQURxxxNPIEPGSO8kqz+bgCAQWGXsEw
# RQYDVR0RBD4wPKQ6MDgxHjAcBgNVBAsTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEW
# MBQGA1UEBRMNMjMwMDEyKzUwMTgyNjAfBgNVHSMEGDAWgBRIbmTlUAXTgqoXNzci
# tW2oynUClTBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8vd3d3Lm1pY3Jvc29mdC5j
# b20vcGtpb3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIwMTEtMDctMDguY3JsMGEG
# CCsGAQUFBwEBBFUwUzBRBggrBgEFBQcwAoZFaHR0cDovL3d3dy5taWNyb3NvZnQu
# Y29tL3BraW9wcy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDExXzIwMTEtMDctMDguY3J0
# MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIBAISxFt/zR2frTFPB45Yd
# mhZpB2nNJoOoi+qlgcTlnO4QwlYN1w/vYwbDy/oFJolD5r6FMJd0RGcgEM8q9TgQ
# 2OC7gQEmhweVJ7yuKJlQBH7P7Pg5RiqgV3cSonJ+OM4kFHbP3gPLiyzssSQdRuPY
# 1mIWoGg9i7Y4ZC8ST7WhpSyc0pns2XsUe1XsIjaUcGu7zd7gg97eCUiLRdVklPmp
# XobH9CEAWakRUGNICYN2AgjhRTC4j3KJfqMkU04R6Toyh4/Toswm1uoDcGr5laYn
# TfcX3u5WnJqJLhuPe8Uj9kGAOcyo0O1mNwDa+LhFEzB6CB32+wfJMumfr6degvLT
# e8x55urQLeTjimBQgS49BSUkhFN7ois3cZyNpnrMca5AZaC7pLI72vuqSsSlLalG
# OcZmPHZGYJqZ0BacN274OZ80Q8B11iNokns9Od348bMb5Z4fihxaBWebl8kWEi2O
# PvQImOAeq3nt7UWJBzJYLAGEpfasaA3ZQgIcEXdD+uwo6ymMzDY6UamFOfYqYWXk
# ntxDGu7ngD2ugKUuccYKJJRiiz+LAUcj90BVcSHRLQop9N8zoALr/1sJuwPrVAtx
# HNEgSW+AKBqIxYWM4Ev32l6agSUAezLMbq5f3d8x9qzT031jMDT+sUAoCw0M5wVt
# CUQcqINPuYjbS1WgJyZIiEkBMIIHejCCBWKgAwIBAgIKYQ6Q0gAAAAAAAzANBgkq
# hkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24x
# EDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv
# bjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5
# IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEwOTA5WjB+MQswCQYDVQQG
# EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG
# A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYDVQQDEx9NaWNyb3NvZnQg
# Q29kZSBTaWduaW5nIFBDQSAyMDExMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC
# CgKCAgEAq/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+laUKq4BjgaBEm6f8MMHt03
# a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSHfpRgJGyvnkmc6Whe0t+bU7IKLMOv2akr
# rnoJr9eWWcpgGgXpZnboMlImEi/nqwhQz7NEt13YxC4Ddato88tt8zpcoRb0Rrrg
# OGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnnDb6gE3e+lD3v++MrWhAfTVYoonpy
# 4BI6t0le2O3tQ5GD2Xuye4Yb2T6xjF3oiU+EGvKhL1nkkDstrjNYxbc+/jLTswM9
# sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOEy/S6A4aN91/w0FK/jJSHvMAh
# dCVfGCi2zCcoOCWYOUo2z3yxkq4cI6epZuxhH2rhKEmdX4jiJV3TIUs+UsS1Vz8k
# A/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL5zmhD+kjSbwYuER8ReTB
# w3J64HLnJN+/RpnF78IcV9uDjexNSTCnq47f7Fufr/zdsGbiwZeBe+3W7UvnSSmn
# Eyimp31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3T8HhhUSJxAlMxdSlQy90
# lfdu+HggWCwTXWCVmj5PM4TasIgX3p5O9JawvEagbJjS4NaIjAsCAwEAAaOCAe0w
# ggHpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRIbmTlUAXTgqoXNzcitW2o
# ynUClTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYD
# VR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRyLToCMZBDuRQFTuHqp8cx0SOJNDBa
# BgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2Ny
# bC9wcm9kdWN0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNfMjIuY3JsMF4GCCsG
# AQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDovL3d3dy5taWNyb3NvZnQuY29t
# L3BraS9jZXJ0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNfMjIuY3J0MIGfBgNV
# HSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEFBQcCARYzaHR0cDovL3d3
# dy5taWNyb3NvZnQuY29tL3BraW9wcy9kb2NzL3ByaW1hcnljcHMuaHRtMEAGCCsG
# AQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkAYwB5AF8AcwB0AGEAdABl
# AG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQBn8oalmOBUeRou09h0ZyKb
# C5YR4WOSmUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7v0epo/Np22O/IjWll11l
# hJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r4z4HLimb5j0bpdS1HXeUOeLpZMlEPXh6
# I/MTfaaQdION9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/KmtYSWMfCWluWpiW5IP0
# wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiXmE0OPQvyCInWH8MyGOLwxS3OW560
# STkKxgrCxq2u5bLZ2xWIUUVYODJxJxp/sfQn+N4sOiBpmLJZiWhub6e3dMNABQam
# ASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPDXVJihsMdYzaXht/a8/jyFqGa
# J+HNpZfQ7l1jQeNbB5yHPgZ3BtEGsXUfFL5hYbXw3MYbBL7fQccOKO7eZS/sl/ah
# XJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbSoqKfenoi+kiVH6v7RyOA
# 9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sLgOppO6/8MO0ETI7f33Vt
# Y5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtXcVZOSEXAQsmbdlsKgEhr
# /Xmfwb1tbWrJUnMTDXpQzTGCGiswghonAgEBMIGVMH4xCzAJBgNVBAYTAlVTMRMw
# EQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVN
# aWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNp
# Z25pbmcgUENBIDIwMTECEzMAAAOvMEAOTKNNBUEAAAAAA68wDQYJYIZIAWUDBAIB
# BQCggcwwGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwHAYKKwYBBAGCNwIBCzEO
# MAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIIa5Skku2agyNtUs5jPD7zbY
# OJqD2uT2KcqQaEhrxbMSMGAGCisGAQQBgjcCAQwxUjBQoDKAMABFAHgAdABlAG4A
# ZABNAGkAZwByAGEAdABlAFQAbwBBAHoAdQByAGUALgBlAHgAZaEagBhodHRwOi8v
# d3d3Lm1pY3Jvc29mdC5jb20wDQYJKoZIhvcNAQEBBQAEggEABSKgzkk0m7zyT3aT
# 2Ol+kBA2u4vX43s/Tx6De9IGMyGSFkQl8+EKG9Ic/I+5M60qZdi46gUp1QTXfv1u
# 6uzZP3SgCEaCT/Gcb4pjkeqULgypdBeya/bwFCjBGZVPjkQAZ9foHpfR2JNwWdQ/
# M+SM6XvGcLOO6vCm/yxmf1t9cbt/hVuR8Ioyq9W6k2ECOjgKM3lK+6qApK9id0I0
# hYzNWeW4buX/vxOm/hdxDd1xDWZCvUV8PFz58OGOzR5GF1co9DJuYUXxlPMI1vcm
# 2vPzf/9Matx5m8Y2eD0CSYB+v2e47J7wc5u6OoXKmek6zyT0ZwaFtC7N/lbZsKLD
# HkEdD6GCF5cwgheTBgorBgEEAYI3AwMBMYIXgzCCF38GCSqGSIb3DQEHAqCCF3Aw
# ghdsAgEDMQ8wDQYJYIZIAWUDBAIBBQAwggFSBgsqhkiG9w0BCRABBKCCAUEEggE9
# MIIBOQIBAQYKKwYBBAGEWQoDATAxMA0GCWCGSAFlAwQCAQUABCAT3OEAdBdkIswx
# w4gz8PBeZgmKbkAZzMwViHdeT4XMqwIGZjK+tVKNGBMyMDI0MDUwMjIwNTgwNi4w
# MDZaMASAAgH0oIHRpIHOMIHLMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGlu
# Z3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBv
# cmF0aW9uMSUwIwYDVQQLExxNaWNyb3NvZnQgQW1lcmljYSBPcGVyYXRpb25zMScw
# JQYDVQQLEx5uU2hpZWxkIFRTUyBFU046QTAwMC0wNUUwLUQ5NDcxJTAjBgNVBAMT
# HE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2WgghHtMIIHIDCCBQigAwIBAgIT
# MwAAAevgGGy1tu847QABAAAB6zANBgkqhkiG9w0BAQsFADB8MQswCQYDVQQGEwJV
# UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE
# ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGlt
# ZS1TdGFtcCBQQ0EgMjAxMDAeFw0yMzEyMDYxODQ1MzRaFw0yNTAzMDUxODQ1MzRa
# MIHLMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH
# UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSUwIwYDVQQL
# ExxNaWNyb3NvZnQgQW1lcmljYSBPcGVyYXRpb25zMScwJQYDVQQLEx5uU2hpZWxk
# IFRTUyBFU046QTAwMC0wNUUwLUQ5NDcxJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1l
# LVN0YW1wIFNlcnZpY2UwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDB
# FWgh2lbgV3eJp01oqiaFBuYbNc7hSKmktvJ15NrB/DBboUow8WPOTPxbn7gcmIOG
# mwJkd+TyFx7KOnzrxnoB3huvv91fZuUugIsKTnAvg2BU/nfN7Zzn9Kk1mpuJ27S6
# xUDH4odFiX51ICcKl6EG4cxKgcDAinihT8xroJWVATL7p8bbfnwsc1pihZmcvIuY
# Gnb1TY9tnpdChWr9EARuCo3TiRGjM2Lp4piT2lD5hnd3VaGTepNqyakpkCGV0+cK
# 8Vu/HkIZdvy+z5EL3ojTdFLL5vJ9IAogWf3XAu3d7SpFaaoeix0e1q55AD94ZwDP
# +izqLadsBR3tzjq2RfrCNL+Tmi/jalRto/J6bh4fPhHETnDC78T1yfXUQdGtmJ/u
# tI/ANxi7HV8gAPzid9TYjMPbYqG8y5xz+gI/SFyj+aKtHHWmKzEXPttXzAcexJ1E
# H7wbuiVk3sErPK9MLg1Xb6hM5HIWA0jEAZhKEyd5hH2XMibzakbp2s2EJQWasQc4
# DMaF1EsQ1CzgClDYIYG6rUhudfI7k8L9KKCEufRbK5ldRYNAqddr/ySJfuZv3PS3
# +vtD6X6q1H4UOmjDKdjoW3qs7JRMZmH9fkFkMzb6YSzr6eX1LoYm3PrO1Jea43SY
# zlB3Tz84OvuVSV7NcidVtNqiZeWWpVjfavR+Jj/JOQIDAQABo4IBSTCCAUUwHQYD
# VR0OBBYEFHSeBazWVcxu4qT9O5jT2B+qAerhMB8GA1UdIwQYMBaAFJ+nFV0AXmJd
# g/Tl0mWnG1M1GelyMF8GA1UdHwRYMFYwVKBSoFCGTmh0dHA6Ly93d3cubWljcm9z
# b2Z0LmNvbS9wa2lvcHMvY3JsL01pY3Jvc29mdCUyMFRpbWUtU3RhbXAlMjBQQ0El
# MjAyMDEwKDEpLmNybDBsBggrBgEFBQcBAQRgMF4wXAYIKwYBBQUHMAKGUGh0dHA6
# Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvY2VydHMvTWljcm9zb2Z0JTIwVGlt
# ZS1TdGFtcCUyMFBDQSUyMDIwMTAoMSkuY3J0MAwGA1UdEwEB/wQCMAAwFgYDVR0l
# AQH/BAwwCgYIKwYBBQUHAwgwDgYDVR0PAQH/BAQDAgeAMA0GCSqGSIb3DQEBCwUA
# A4ICAQCDdN8voPd8C+VWZP3+W87c/QbdbWK0sOt9Z4kEOWng7Kmh+WD2LnPJTJKI
# EaxniOct9wMgJ8yQywR8WHgDOvbwqdqsLUaM4NrertI6FI9rhjheaKxNNnBZzHZL
# DwlkL9vCEDe9Rc0dGSVd5Bg3CWknV3uvVau14F55ESTWIBNaQS9Cpo2Opz3cRgAY
# VfaLFGbArNcRvSWvSUbeI2IDqRxC4xBbRiNQ+1qHXDCPn0hGsXfL+ynDZncCfszN
# rlgZT24XghvTzYMHcXioLVYo/2Hkyow6dI7uULJbKxLX8wHhsiwriXIDCnjLVsG0
# E5bR82QgcseEhxbU2d1RVHcQtkUE7W9zxZqZ6/jPmaojZgXQO33XjxOHYYVa/BXc
# Iuu8SMzPjjAAbujwTawpazLBv997LRB0ZObNckJYyQQpETSflN36jW+z7R/nGyJq
# RZ3HtZ1lXW1f6zECAeP+9dy6nmcCrVcOqbQHX7Zr8WPcghHJAADlm5ExPh5xi1tN
# Rk+i6F2a9SpTeQnZXP50w+JoTxISQq7vBij2nitAsSLaVeMqoPi+NXlTUNZ2Ndtb
# Fr6Iir9ZK9ufaz3FxfvDZo365vLOozmQOe/Z+pu4vY5zPmtNiVIcQnFy7JZOiZVD
# I5bIdwQRai2quHKJ6ltUdsi3HjNnieuE72fT4eWhxtmnN5HYCDCCB3EwggVZoAMC
# AQICEzMAAAAVxedrngKbSZkAAAAAABUwDQYJKoZIhvcNAQELBQAwgYgxCzAJBgNV
# BAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4w
# HAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xMjAwBgNVBAMTKU1pY3Jvc29m
# dCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAyMDEwMB4XDTIxMDkzMDE4MjIy
# NVoXDTMwMDkzMDE4MzIyNVowfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hp
# bmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jw
# b3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAw
# ggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDk4aZM57RyIQt5osvXJHm9
# DtWC0/3unAcH0qlsTnXIyjVX9gF/bErg4r25PhdgM/9cT8dm95VTcVrifkpa/rg2
# Z4VGIwy1jRPPdzLAEBjoYH1qUoNEt6aORmsHFPPFdvWGUNzBRMhxXFExN6AKOG6N
# 7dcP2CZTfDlhAnrEqv1yaa8dq6z2Nr41JmTamDu6GnszrYBbfowQHJ1S/rboYiXc
# ag/PXfT+jlPP1uyFVk3v3byNpOORj7I5LFGc6XBpDco2LXCOMcg1KL3jtIckw+DJ
# j361VI/c+gVVmG1oO5pGve2krnopN6zL64NF50ZuyjLVwIYwXE8s4mKyzbnijYjk
# lqwBSru+cakXW2dg3viSkR4dPf0gz3N9QZpGdc3EXzTdEonW/aUgfX782Z5F37Zy
# L9t9X4C626p+Nuw2TPYrbqgSUei/BQOj0XOmTTd0lBw0gg/wEPK3Rxjtp+iZfD9M
# 269ewvPV2HM9Q07BMzlMjgK8QmguEOqEUUbi0b1qGFphAXPKZ6Je1yh2AuIzGHLX
# pyDwwvoSCtdjbwzJNmSLW6CmgyFdXzB0kZSU2LlQ+QuJYfM2BjUYhEfb3BvR/bLU
# HMVr9lxSUV0S2yW6r1AFemzFER1y7435UsSFF5PAPBXbGjfHCBUYP3irRbb1Hode
# 2o+eFnJpxq57t7c+auIurQIDAQABo4IB3TCCAdkwEgYJKwYBBAGCNxUBBAUCAwEA
# ATAjBgkrBgEEAYI3FQIEFgQUKqdS/mTEmr6CkTxGNSnPEP8vBO4wHQYDVR0OBBYE
# FJ+nFV0AXmJdg/Tl0mWnG1M1GelyMFwGA1UdIARVMFMwUQYMKwYBBAGCN0yDfQEB
# MEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMv
# RG9jcy9SZXBvc2l0b3J5Lmh0bTATBgNVHSUEDDAKBggrBgEFBQcDCDAZBgkrBgEE
# AYI3FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB
# /zAfBgNVHSMEGDAWgBTV9lbLj+iiXGJo0T2UkFvXzpoYxDBWBgNVHR8ETzBNMEug
# SaBHhkVodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9N
# aWNSb29DZXJBdXRfMjAxMC0wNi0yMy5jcmwwWgYIKwYBBQUHAQEETjBMMEoGCCsG
# AQUFBzAChj5odHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1Jv
# b0NlckF1dF8yMDEwLTA2LTIzLmNydDANBgkqhkiG9w0BAQsFAAOCAgEAnVV9/Cqt
# 4SwfZwExJFvhnnJL/Klv6lwUtj5OR2R4sQaTlz0xM7U518JxNj/aZGx80HU5bbsP
# MeTCj/ts0aGUGCLu6WZnOlNN3Zi6th542DYunKmCVgADsAW+iehp4LoJ7nvfam++
# Kctu2D9IdQHZGN5tggz1bSNU5HhTdSRXud2f8449xvNo32X2pFaq95W2KFUn0CS9
# QKC/GbYSEhFdPSfgQJY4rPf5KYnDvBewVIVCs/wMnosZiefwC2qBwoEZQhlSdYo2
# wh3DYXMuLGt7bj8sCXgU6ZGyqVvfSaN0DLzskYDSPeZKPmY7T7uG+jIa2Zb0j/aR
# AfbOxnT99kxybxCrdTDFNLB62FD+CljdQDzHVG2dY3RILLFORy3BFARxv2T5JL5z
# bcqOCb2zAVdJVGTZc9d/HltEAY5aGZFrDZ+kKNxnGSgkujhLmm77IVRrakURR6nx
# t67I6IleT53S0Ex2tVdUCbFpAUR+fKFhbHP+CrvsQWY9af3LwUFJfn6Tvsv4O+S3
# Fb+0zj6lMVGEvL8CwYKiexcdFYmNcP7ntdAoGokLjzbaukz5m/8K6TT4JDVnK+AN
# uOaMmdbhIurwJ0I9JZTmdHRbatGePu1+oDEzfbzL6Xu/OHBE0ZDxyKs6ijoIYn/Z
# cGNTTY3ugm2lBRDBcQZqELQdVTNYs6FwZvKhggNQMIICOAIBATCB+aGB0aSBzjCB
# yzELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1Jl
# ZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjElMCMGA1UECxMc
# TWljcm9zb2Z0IEFtZXJpY2EgT3BlcmF0aW9uczEnMCUGA1UECxMeblNoaWVsZCBU
# U1MgRVNOOkEwMDAtMDVFMC1EOTQ3MSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1T
# dGFtcCBTZXJ2aWNloiMKAQEwBwYFKw4DAhoDFQCABol1u1wwwYgUtUowMnqYvbul
# 3qCBgzCBgKR+MHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAw
# DgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24x
# JjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwMA0GCSqGSIb3
# DQEBCwUAAgUA6d3l5zAiGA8yMDI0MDUwMjEwMTM1OVoYDzIwMjQwNTAzMTAxMzU5
# WjB3MD0GCisGAQQBhFkKBAExLzAtMAoCBQDp3eXnAgEAMAoCAQACAhbTAgH/MAcC
# AQACAhN7MAoCBQDp3zdnAgEAMDYGCisGAQQBhFkKBAIxKDAmMAwGCisGAQQBhFkK
# AwKgCjAIAgEAAgMHoSChCjAIAgEAAgMBhqAwDQYJKoZIhvcNAQELBQADggEBAIIC
# EvxdwRQjcNmb61aKj9zC8C9BSs1bDd6lb1wVMfIaMXmwH/2eC5YAbSeR0JPWLE18
# eBpmEDOLkqe0Ndz4MKZ0M2YIusmysNMpKAWYGuUdORORF49O0WDo82hip+5aDs+T
# dChyaIfzL+VWs3A3KgJuWJcX7dDrhEXHdduV8lfBHr9WeCXNfbOQA8jWLB77xcQm
# lfn9rcMy3vVQy4oCiiTP1l5MQZPvdWliftOSXIA1lkS1mN0/Qy5kqfiC7v7VCTT/
# ErHaccwhWuUSQLV8NOzqhVU96DTRmYWRKplReXd+dQrPCd4cvt5lP4L3WAleouuI
# 5shN7lH9FDb19Wun+7UxggQNMIIECQIBATCBkzB8MQswCQYDVQQGEwJVUzETMBEG
# A1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWlj
# cm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFt
# cCBQQ0EgMjAxMAITMwAAAevgGGy1tu847QABAAAB6zANBglghkgBZQMEAgEFAKCC
# AUowGgYJKoZIhvcNAQkDMQ0GCyqGSIb3DQEJEAEEMC8GCSqGSIb3DQEJBDEiBCDg
# ia2fxymvh8+FQNhLsF51iZEFHE5QptZP9SOV9rUIqjCB+gYLKoZIhvcNAQkQAi8x
# geowgecwgeQwgb0EIM63a75faQPhf8SBDTtk2DSUgIbdizXsz76h1JdhLCz4MIGY
# MIGApH4wfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNV
# BAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQG
# A1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTACEzMAAAHr4Bhstbbv
# OO0AAQAAAeswIgQgd7N7LfdMdkVHirHNFdiwGnHRp9pVLZqGxQpoeLqwOx8wDQYJ
# KoZIhvcNAQELBQAEggIABXp0lUKY2JJOUExYqEUFpCFqXosCQON0pYskCL8xeqmS
# SpxP8/inC2ztvOoWVKZeg9gd78Q+SIzkF2Vwhf9uf3tXYQs9obz+GulRlg2HHeGk
# mq94ULp5COWplIx5gajh2R1WS7whLroT5HJCsL8Pj29MKca5L2WyWk5VBBD/NGmZ
# dWrsOfSBDyE1k24QUgoFRAd6GF4vFxgJ5hrskf/g8V/JNHi3APCnJ138plzYi12G
# tVw2cqmr2YPXqKTZnNwrb3yuMpgzRkwwhMqXcrDk7cUFdlTwSj3IozoDQfhFmvmx
# nxEXj6TPK+HFjCTq7392BX6H1T+LyQ6qjgbBF2rHvBvl/cX9hIBGzDyCLNNm1nC/
# 5spXb9Klbt/Cwwd2oEKx8Lb22wOVhCnB2ChOUMYfAMoq+yWkBJXqiUD+d0HVivgB
# 2VxNXp+JogXtQ4O55Z21C/i0Xk5ctwRsKnVz2A2GuofEcr6HXMJmW1IrrzPuJ4/u
# 1s66RSlR1hiX8UqFDvqMikng+SSq4Hi0NXNbXAC+jwDRrxuf07HXtOP8wt2esaDk
# 5SiM6m+CqWz6YX/cA3/7NYcE6VWyTWFCEbLHCp5OsceYlaOfeYFAZPW3ol2dpWMx
# G0sxnbEvbT6+wnGkYRv/K7QMTnfTTKyGpzwl6gBKlbmdIDNBJSJB9JulCgnxVHM=
# SIG # End signature block

View File

@@ -0,0 +1,283 @@
$LogList = @()
$LogList += "Start running add software update point script."
$key = [Microsoft.Win32.RegistryKey]::OpenBaseKey([Microsoft.Win32.RegistryHive]::LocalMachine, [Microsoft.Win32.RegistryView]::Registry32)
$subKey = $key.OpenSubKey("SOFTWARE\Microsoft\ConfigMgr10\Setup")
$uiInstallPath = $subKey.GetValue("UI Installation Directory")
$modulePath = $uiInstallPath+"bin\ConfigurationManager.psd1"
Import-Module $modulePath
$key = [Microsoft.Win32.RegistryKey]::OpenBaseKey([Microsoft.Win32.RegistryHive]::LocalMachine, [Microsoft.Win32.RegistryView]::Registry64)
$subKey = $key.OpenSubKey("SOFTWARE\Microsoft\SMS\Identification")
$SiteCode = $subKey.GetValue("Site Code")
$MachineName = "__MachineFQDN__"
$ProviderMachineName = "__ProviderMachineName__"
$initParams = @{}
# Connect to the site's drive if it is not already present
$LogList += "Setting PS Drive..."
while((Get-PSDrive -Name $SiteCode -PSProvider CMSite -ErrorAction SilentlyContinue) -eq $null)
{
$LogList += "Get drive failed ,retry in 10s. Please wait."
New-PSDrive -Name $SiteCode -PSProvider CMSite -Root $ProviderMachineName @initParams | Out-Null
Start-Sleep -Seconds 10
}
Set-Location "$($SiteCode):\" @initParams
$SystemServer = Get-CMSiteSystemServer -SiteSystemServerName $MachineName
if(!$SystemServer)
{
$LogList += "Creating cm site system server..."
$LogList += New-CMSiteSystemServer -SiteSystemServerName $MachineName
$LogList += "Finished creating cm site system server."
}
else
{
$LogList += "$MachineName is already a Site System Server."
}
if((Get-CMSoftwareUpdatePoint -SiteSystemServerName $MachineName).count -eq 1)
{
$LogList += "$MachineName is already a Software Update Point."
$LogList += 1
return $LogList
}
else
{
$SystemServer = Get-CMSiteSystemServer -SiteSystemServerName $MachineName
$LogList += "Adding cm software update point on $MachineName ..."
$LogList += Add-CMSoftwareUpdatePoint -InputObject $SystemServer -WsusIisPort 8530 -WsusIisSslPort 8531
$LogList += "Finished adding cm software update point on $MachineName ..."
if((Get-CMSoftwareUpdatePoint -SiteSystemServerName $MachineName).count -eq 1)
{
$LogList += "Finished running the script."
$LogList += 0
return $LogList
}
else
{
$LogList += "Failed to run the script."
$LogList += 2
return $LogList
}
}
# SIG # Begin signature block
# MIIoWQYJKoZIhvcNAQcCoIIoSjCCKEYCAQExDzANBglghkgBZQMEAgEFADB5Bgor
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCAwcFNnF2nB1vNp
# bAekZjZB667FxboAEpt7F4XnRc39XaCCDYUwggYDMIID66ADAgECAhMzAAADri01
# UchTj1UdAAAAAAOuMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD
# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p
# bmcgUENBIDIwMTEwHhcNMjMxMTE2MTkwODU5WhcNMjQxMTE0MTkwODU5WjB0MQsw
# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
# AQD0IPymNjfDEKg+YyE6SjDvJwKW1+pieqTjAY0CnOHZ1Nj5irGjNZPMlQ4HfxXG
# yAVCZcEWE4x2sZgam872R1s0+TAelOtbqFmoW4suJHAYoTHhkznNVKpscm5fZ899
# QnReZv5WtWwbD8HAFXbPPStW2JKCqPcZ54Y6wbuWV9bKtKPImqbkMcTejTgEAj82
# 6GQc6/Th66Koka8cUIvz59e/IP04DGrh9wkq2jIFvQ8EDegw1B4KyJTIs76+hmpV
# M5SwBZjRs3liOQrierkNVo11WuujB3kBf2CbPoP9MlOyyezqkMIbTRj4OHeKlamd
# WaSFhwHLJRIQpfc8sLwOSIBBAgMBAAGjggGCMIIBfjAfBgNVHSUEGDAWBgorBgEE
# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUhx/vdKmXhwc4WiWXbsf0I53h8T8w
# VAYDVR0RBE0wS6RJMEcxLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJh
# dGlvbnMgTGltaXRlZDEWMBQGA1UEBRMNMjMwMDEyKzUwMTgzNjAfBgNVHSMEGDAW
# gBRIbmTlUAXTgqoXNzcitW2oynUClTBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8v
# d3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIw
# MTEtMDctMDguY3JsMGEGCCsGAQUFBwEBBFUwUzBRBggrBgEFBQcwAoZFaHR0cDov
# L3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDEx
# XzIwMTEtMDctMDguY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIB
# AGrJYDUS7s8o0yNprGXRXuAnRcHKxSjFmW4wclcUTYsQZkhnbMwthWM6cAYb/h2W
# 5GNKtlmj/y/CThe3y/o0EH2h+jwfU/9eJ0fK1ZO/2WD0xi777qU+a7l8KjMPdwjY
# 0tk9bYEGEZfYPRHy1AGPQVuZlG4i5ymJDsMrcIcqV8pxzsw/yk/O4y/nlOjHz4oV
# APU0br5t9tgD8E08GSDi3I6H57Ftod9w26h0MlQiOr10Xqhr5iPLS7SlQwj8HW37
# ybqsmjQpKhmWul6xiXSNGGm36GarHy4Q1egYlxhlUnk3ZKSr3QtWIo1GGL03hT57
# xzjL25fKiZQX/q+II8nuG5M0Qmjvl6Egltr4hZ3e3FQRzRHfLoNPq3ELpxbWdH8t
# Nuj0j/x9Crnfwbki8n57mJKI5JVWRWTSLmbTcDDLkTZlJLg9V1BIJwXGY3i2kR9i
# 5HsADL8YlW0gMWVSlKB1eiSlK6LmFi0rVH16dde+j5T/EaQtFz6qngN7d1lvO7uk
# 6rtX+MLKG4LDRsQgBTi6sIYiKntMjoYFHMPvI/OMUip5ljtLitVbkFGfagSqmbxK
# 7rJMhC8wiTzHanBg1Rrbff1niBbnFbbV4UDmYumjs1FIpFCazk6AADXxoKCo5TsO
# zSHqr9gHgGYQC2hMyX9MGLIpowYCURx3L7kUiGbOiMwaMIIHejCCBWKgAwIBAgIK
# YQ6Q0gAAAAAAAzANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNV
# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv
# c29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlm
# aWNhdGUgQXV0aG9yaXR5IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEw
# OTA5WjB+MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE
# BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYD
# VQQDEx9NaWNyb3NvZnQgQ29kZSBTaWduaW5nIFBDQSAyMDExMIICIjANBgkqhkiG
# 9w0BAQEFAAOCAg8AMIICCgKCAgEAq/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+la
# UKq4BjgaBEm6f8MMHt03a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSHfpRgJGyvnkmc
# 6Whe0t+bU7IKLMOv2akrrnoJr9eWWcpgGgXpZnboMlImEi/nqwhQz7NEt13YxC4D
# dato88tt8zpcoRb0RrrgOGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnnDb6gE3e+
# lD3v++MrWhAfTVYoonpy4BI6t0le2O3tQ5GD2Xuye4Yb2T6xjF3oiU+EGvKhL1nk
# kDstrjNYxbc+/jLTswM9sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOEy/S6
# A4aN91/w0FK/jJSHvMAhdCVfGCi2zCcoOCWYOUo2z3yxkq4cI6epZuxhH2rhKEmd
# X4jiJV3TIUs+UsS1Vz8kA/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL
# 5zmhD+kjSbwYuER8ReTBw3J64HLnJN+/RpnF78IcV9uDjexNSTCnq47f7Fufr/zd
# sGbiwZeBe+3W7UvnSSmnEyimp31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3
# T8HhhUSJxAlMxdSlQy90lfdu+HggWCwTXWCVmj5PM4TasIgX3p5O9JawvEagbJjS
# 4NaIjAsCAwEAAaOCAe0wggHpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRI
# bmTlUAXTgqoXNzcitW2oynUClTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTAL
# BgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRyLToCMZBD
# uRQFTuHqp8cx0SOJNDBaBgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLm1pY3Jv
# c29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFf
# MDNfMjIuY3JsMF4GCCsGAQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDovL3d3
# dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFf
# MDNfMjIuY3J0MIGfBgNVHSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEF
# BQcCARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9kb2NzL3ByaW1h
# cnljcHMuaHRtMEAGCCsGAQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkA
# YwB5AF8AcwB0AGEAdABlAG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQBn
# 8oalmOBUeRou09h0ZyKbC5YR4WOSmUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7
# v0epo/Np22O/IjWll11lhJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r4z4HLimb5j0b
# pdS1HXeUOeLpZMlEPXh6I/MTfaaQdION9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/
# KmtYSWMfCWluWpiW5IP0wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiXmE0OPQvy
# CInWH8MyGOLwxS3OW560STkKxgrCxq2u5bLZ2xWIUUVYODJxJxp/sfQn+N4sOiBp
# mLJZiWhub6e3dMNABQamASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPDXVJi
# hsMdYzaXht/a8/jyFqGaJ+HNpZfQ7l1jQeNbB5yHPgZ3BtEGsXUfFL5hYbXw3MYb
# BL7fQccOKO7eZS/sl/ahXJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbS
# oqKfenoi+kiVH6v7RyOA9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sL
# gOppO6/8MO0ETI7f33VtY5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtX
# cVZOSEXAQsmbdlsKgEhr/Xmfwb1tbWrJUnMTDXpQzTGCGiowghomAgEBMIGVMH4x
# CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt
# b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01p
# Y3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTECEzMAAAOuLTVRyFOPVR0AAAAA
# A64wDQYJYIZIAWUDBAIBBQCggcwwGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQw
# HAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIHQR
# Stq/0gv7LHfV89lSQM1WjydWDhoe9iadz2py03pCMGAGCisGAQQBgjcCAQwxUjBQ
# oDKAMABFAHgAdABlAG4AZABNAGkAZwByAGEAdABlAFQAbwBBAHoAdQByAGUALgBl
# AHgAZaEagBhodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20wDQYJKoZIhvcNAQEBBQAE
# ggEAAsH2XOebmJVQJ6gV29KRSRPoeK4/J7ECU/qIh7SYI0YtceQcEKql9Seyl/7u
# 21L+XaXehmtLcfLzZRlz5a2EOXxZ5aOi8RTAOl8AKfmhmcVMCWX/QELdsI28kt7D
# CSv0YbRfspmgGGHtBAUqqbYlvBbBfbTo3JuoJ9Aoqd0vo6ytxjF7292nP9biLttv
# RfR8FKtCUecwWwleUzD0Dnw+lGtrkhtgHYqtgMERikoIh1Z9J30JDPxd8w+IzQez
# GPhpt/iolw0/eJw+M2BYNeLvjP9KbbEmIprxCQdwIxSbp+GsrrbGafCvRQKK0iRi
# pTdpT7SW9rqCQArcUr5OLjeDfqGCF5YwgheSBgorBgEEAYI3AwMBMYIXgjCCF34G
# CSqGSIb3DQEHAqCCF28wghdrAgEDMQ8wDQYJYIZIAWUDBAIBBQAwggFRBgsqhkiG
# 9w0BCRABBKCCAUAEggE8MIIBOAIBAQYKKwYBBAGEWQoDATAxMA0GCWCGSAFlAwQC
# AQUABCB3Aa1TOgtxoBCYTP4s4atljAIQ2clPHC1Z+BJ5nSRaMwIGZjK+tVKpGBIy
# MDI0MDUwMjIwNTgxMS41M1owBIACAfSggdGkgc4wgcsxCzAJBgNVBAYTAlVTMRMw
# EQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVN
# aWNyb3NvZnQgQ29ycG9yYXRpb24xJTAjBgNVBAsTHE1pY3Jvc29mdCBBbWVyaWNh
# IE9wZXJhdGlvbnMxJzAlBgNVBAsTHm5TaGllbGQgVFNTIEVTTjpBMDAwLTA1RTAt
# RDk0NzElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZaCCEe0w
# ggcgMIIFCKADAgECAhMzAAAB6+AYbLW27zjtAAEAAAHrMA0GCSqGSIb3DQEBCwUA
# MHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdS
# ZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMT
# HU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwMB4XDTIzMTIwNjE4NDUzNFoX
# DTI1MDMwNTE4NDUzNFowgcsxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5n
# dG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9y
# YXRpb24xJTAjBgNVBAsTHE1pY3Jvc29mdCBBbWVyaWNhIE9wZXJhdGlvbnMxJzAl
# BgNVBAsTHm5TaGllbGQgVFNTIEVTTjpBMDAwLTA1RTAtRDk0NzElMCMGA1UEAxMc
# TWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZTCCAiIwDQYJKoZIhvcNAQEBBQAD
# ggIPADCCAgoCggIBAMEVaCHaVuBXd4mnTWiqJoUG5hs1zuFIqaS28nXk2sH8MFuh
# SjDxY85M/FufuByYg4abAmR35PIXHso6fOvGegHeG6+/3V9m5S6AiwpOcC+DYFT+
# d83tnOf0qTWam4nbtLrFQMfih0WJfnUgJwqXoQbhzEqBwMCKeKFPzGuglZUBMvun
# xtt+fCxzWmKFmZy8i5gadvVNj22el0KFav0QBG4KjdOJEaMzYunimJPaUPmGd3dV
# oZN6k2rJqSmQIZXT5wrxW78eQhl2/L7PkQveiNN0Usvm8n0gCiBZ/dcC7d3tKkVp
# qh6LHR7WrnkAP3hnAM/6LOotp2wFHe3OOrZF+sI0v5OaL+NqVG2j8npuHh8+EcRO
# cMLvxPXJ9dRB0a2Yn+60j8A3GLsdXyAA/OJ31NiMw9tiobzLnHP6Aj9IXKP5oq0c
# daYrMRc+21fMBx7EnUQfvBu6JWTewSs8r0wuDVdvqEzkchYDSMQBmEoTJ3mEfZcy
# JvNqRunazYQlBZqxBzgMxoXUSxDULOAKUNghgbqtSG518juTwv0ooIS59FsrmV1F
# g0Cp12v/JIl+5m/c9Lf6+0PpfqrUfhQ6aMMp2OhbeqzslExmYf1+QWQzNvphLOvp
# 5fUuhibc+s7Ul5rjdJjOUHdPPzg6+5VJXs1yJ1W02qJl5ZalWN9q9H4mP8k5AgMB
# AAGjggFJMIIBRTAdBgNVHQ4EFgQUdJ4FrNZVzG7ipP07mNPYH6oB6uEwHwYDVR0j
# BBgwFoAUn6cVXQBeYl2D9OXSZacbUzUZ6XIwXwYDVR0fBFgwVjBUoFKgUIZOaHR0
# cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jcmwvTWljcm9zb2Z0JTIwVGlt
# ZS1TdGFtcCUyMFBDQSUyMDIwMTAoMSkuY3JsMGwGCCsGAQUFBwEBBGAwXjBcBggr
# BgEFBQcwAoZQaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9N
# aWNyb3NvZnQlMjBUaW1lLVN0YW1wJTIwUENBJTIwMjAxMCgxKS5jcnQwDAYDVR0T
# AQH/BAIwADAWBgNVHSUBAf8EDDAKBggrBgEFBQcDCDAOBgNVHQ8BAf8EBAMCB4Aw
# DQYJKoZIhvcNAQELBQADggIBAIN03y+g93wL5VZk/f5bztz9Bt1tYrSw631niQQ5
# aeDsqaH5YPYuc8lMkogRrGeI5y33AyAnzJDLBHxYeAM69vCp2qwtRozg2t6u0joU
# j2uGOF5orE02cFnMdksPCWQv28IQN71FzR0ZJV3kGDcJaSdXe69Vq7XgXnkRJNYg
# E1pBL0KmjY6nPdxGABhV9osUZsCs1xG9Ja9JRt4jYgOpHELjEFtGI1D7WodcMI+f
# SEaxd8v7KcNmdwJ+zM2uWBlPbheCG9PNgwdxeKgtVij/YeTKjDp0ju5QslsrEtfz
# AeGyLCuJcgMKeMtWwbQTltHzZCByx4SHFtTZ3VFUdxC2RQTtb3PFmpnr+M+ZqiNm
# BdA7fdePE4dhhVr8Fdwi67xIzM+OMABu6PBNrClrMsG/33stEHRk5s1yQljJBCkR
# NJ+U3fqNb7PtH+cbImpFnce1nWVdbV/rMQIB4/713LqeZwKtVw6ptAdftmvxY9yC
# EckAAOWbkTE+HnGLW01GT6LoXZr1KlN5Cdlc/nTD4mhPEhJCru8GKPaeK0CxItpV
# 4yqg+L41eVNQ1nY121sWvoiKv1kr259rPcXF+8Nmjfrm8s6jOZA579n6m7i9jnM+
# a02JUhxCcXLslk6JlUMjlsh3BBFqLaq4conqW1R2yLceM2eJ64TvZ9Ph5aHG2ac3
# kdgIMIIHcTCCBVmgAwIBAgITMwAAABXF52ueAptJmQAAAAAAFTANBgkqhkiG9w0B
# AQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNV
# BAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEyMDAG
# A1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTAw
# HhcNMjEwOTMwMTgyMjI1WhcNMzAwOTMwMTgzMjI1WjB8MQswCQYDVQQGEwJVUzET
# MBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMV
# TWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1T
# dGFtcCBQQ0EgMjAxMDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAOTh
# pkzntHIhC3miy9ckeb0O1YLT/e6cBwfSqWxOdcjKNVf2AX9sSuDivbk+F2Az/1xP
# x2b3lVNxWuJ+Slr+uDZnhUYjDLWNE893MsAQGOhgfWpSg0S3po5GawcU88V29YZQ
# 3MFEyHFcUTE3oAo4bo3t1w/YJlN8OWECesSq/XJprx2rrPY2vjUmZNqYO7oaezOt
# gFt+jBAcnVL+tuhiJdxqD89d9P6OU8/W7IVWTe/dvI2k45GPsjksUZzpcGkNyjYt
# cI4xyDUoveO0hyTD4MmPfrVUj9z6BVWYbWg7mka97aSueik3rMvrg0XnRm7KMtXA
# hjBcTyziYrLNueKNiOSWrAFKu75xqRdbZ2De+JKRHh09/SDPc31BmkZ1zcRfNN0S
# idb9pSB9fvzZnkXftnIv231fgLrbqn427DZM9ituqBJR6L8FA6PRc6ZNN3SUHDSC
# D/AQ8rdHGO2n6Jl8P0zbr17C89XYcz1DTsEzOUyOArxCaC4Q6oRRRuLRvWoYWmEB
# c8pnol7XKHYC4jMYctenIPDC+hIK12NvDMk2ZItboKaDIV1fMHSRlJTYuVD5C4lh
# 8zYGNRiER9vcG9H9stQcxWv2XFJRXRLbJbqvUAV6bMURHXLvjflSxIUXk8A8Fdsa
# N8cIFRg/eKtFtvUeh17aj54WcmnGrnu3tz5q4i6tAgMBAAGjggHdMIIB2TASBgkr
# BgEEAYI3FQEEBQIDAQABMCMGCSsGAQQBgjcVAgQWBBQqp1L+ZMSavoKRPEY1Kc8Q
# /y8E7jAdBgNVHQ4EFgQUn6cVXQBeYl2D9OXSZacbUzUZ6XIwXAYDVR0gBFUwUzBR
# BgwrBgEEAYI3TIN9AQEwQTA/BggrBgEFBQcCARYzaHR0cDovL3d3dy5taWNyb3Nv
# ZnQuY29tL3BraW9wcy9Eb2NzL1JlcG9zaXRvcnkuaHRtMBMGA1UdJQQMMAoGCCsG
# AQUFBwMIMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIBhjAP
# BgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNX2VsuP6KJcYmjRPZSQW9fOmhjE
# MFYGA1UdHwRPME0wS6BJoEeGRWh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2kv
# Y3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNybDBaBggrBgEF
# BQcBAQROMEwwSgYIKwYBBQUHMAKGPmh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9w
# a2kvY2VydHMvTWljUm9vQ2VyQXV0XzIwMTAtMDYtMjMuY3J0MA0GCSqGSIb3DQEB
# CwUAA4ICAQCdVX38Kq3hLB9nATEkW+Geckv8qW/qXBS2Pk5HZHixBpOXPTEztTnX
# wnE2P9pkbHzQdTltuw8x5MKP+2zRoZQYIu7pZmc6U03dmLq2HnjYNi6cqYJWAAOw
# Bb6J6Gngugnue99qb74py27YP0h1AdkY3m2CDPVtI1TkeFN1JFe53Z/zjj3G82jf
# ZfakVqr3lbYoVSfQJL1AoL8ZthISEV09J+BAljis9/kpicO8F7BUhUKz/AyeixmJ
# 5/ALaoHCgRlCGVJ1ijbCHcNhcy4sa3tuPywJeBTpkbKpW99Jo3QMvOyRgNI95ko+
# ZjtPu4b6MhrZlvSP9pEB9s7GdP32THJvEKt1MMU0sHrYUP4KWN1APMdUbZ1jdEgs
# sU5HLcEUBHG/ZPkkvnNtyo4JvbMBV0lUZNlz138eW0QBjloZkWsNn6Qo3GcZKCS6
# OEuabvshVGtqRRFHqfG3rsjoiV5PndLQTHa1V1QJsWkBRH58oWFsc/4Ku+xBZj1p
# /cvBQUl+fpO+y/g75LcVv7TOPqUxUYS8vwLBgqJ7Fx0ViY1w/ue10CgaiQuPNtq6
# TPmb/wrpNPgkNWcr4A245oyZ1uEi6vAnQj0llOZ0dFtq0Z4+7X6gMTN9vMvpe784
# cETRkPHIqzqKOghif9lwY1NNje6CbaUFEMFxBmoQtB1VM1izoXBm8qGCA1AwggI4
# AgEBMIH5oYHRpIHOMIHLMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3Rv
# bjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0
# aW9uMSUwIwYDVQQLExxNaWNyb3NvZnQgQW1lcmljYSBPcGVyYXRpb25zMScwJQYD
# VQQLEx5uU2hpZWxkIFRTUyBFU046QTAwMC0wNUUwLUQ5NDcxJTAjBgNVBAMTHE1p
# Y3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2WiIwoBATAHBgUrDgMCGgMVAIAGiXW7
# XDDBiBS1SjAyepi9u6XeoIGDMIGApH4wfDELMAkGA1UEBhMCVVMxEzARBgNVBAgT
# Cldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29m
# dCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENB
# IDIwMTAwDQYJKoZIhvcNAQELBQACBQDp3eXnMCIYDzIwMjQwNTAyMTAxMzU5WhgP
# MjAyNDA1MDMxMDEzNTlaMHcwPQYKKwYBBAGEWQoEATEvMC0wCgIFAOnd5ecCAQAw
# CgIBAAICFtMCAf8wBwIBAAICE3swCgIFAOnfN2cCAQAwNgYKKwYBBAGEWQoEAjEo
# MCYwDAYKKwYBBAGEWQoDAqAKMAgCAQACAwehIKEKMAgCAQACAwGGoDANBgkqhkiG
# 9w0BAQsFAAOCAQEAggIS/F3BFCNw2ZvrVoqP3MLwL0FKzVsN3qVvXBUx8hoxebAf
# /Z4LlgBtJ5HQk9YsTXx4GmYQM4uSp7Q13PgwpnQzZgi6ybKw0ykoBZga5R05E5EX
# j07RYOjzaGKn7loOz5N0KHJoh/Mv5VazcDcqAm5Ylxft0OuERcd125XyV8Eev1Z4
# Jc19s5ADyNYsHvvFxCaV+f2twzLe9VDLigKKJM/WXkxBk+91aWJ+05JcgDWWRLWY
# 3T9DLmSp+ILu/tUJNP8SsdpxzCFa5RJAtXw07OqFVT3oNNGZhZEqmVF5d351Cs8J
# 3hy+3mU/gvdYCV6i64jmyE3uUf0UNvX1a6f7tTGCBA0wggQJAgEBMIGTMHwxCzAJ
# BgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25k
# MR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jv
# c29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMzAAAB6+AYbLW27zjtAAEAAAHrMA0G
# CWCGSAFlAwQCAQUAoIIBSjAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwLwYJ
# KoZIhvcNAQkEMSIEIGcPcUhmHJBONXZvJSJrqbjyBegRLHgkXIJryOeirEjUMIH6
# BgsqhkiG9w0BCRACLzGB6jCB5zCB5DCBvQQgzrdrvl9pA+F/xIENO2TYNJSAht2L
# NezPvqHUl2EsLPgwgZgwgYCkfjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2Fz
# aGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENv
# cnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAx
# MAITMwAAAevgGGy1tu847QABAAAB6zAiBCB3s3st90x2RUeKsc0V2LAacdGn2lUt
# mobFCmh4urA7HzANBgkqhkiG9w0BAQsFAASCAgCkrNCee8+q+c3PUrhHPcfmu8D7
# 0WksVyRH6SWecfE1pvcRpVeHUAwGJYZrUZIH8GaCNqCpFgFIZk50/i08AFJ/cjZq
# 3kFs7KbMLQjoV40QdxBOb62rkHtBWqLdKoOl85O5ty83a+L5uKx64p2irOHzpeeA
# MUeKOLWGZxXzbVdEI3mwT8hT73QWqKtS75BXSm85xM5z8/nYMUZT6sKMMa6VcxQ4
# j3MjtHZKsBxN8DdUI9frc+iMUbmW4G9Lsf2N/gbm4v1Nlhn0MEkFI4D3XBoDPrwi
# 0RPchjx8sr2aM5FXwNEktE/Re7MZLDdcrfgLyllrbMn/HksiLxz0g+v8qD/fIVP7
# aCvwMhAq7+OW/WxA3OKZI5Fxk0I98EryoPvyRY7EgJfjU2QEZTM+EzSUYnvWzRML
# xf5SmrfJFGXqUtxHviiYNaYUVm1wHVUjvcG8tg8DOvjWLdtbxAFUQ1Oeekn8+IOc
# kUSiIkscbVTd/l4RPByhwTQtsteNSETmcsXfoF3kC1n+Go6vRhWyfNhciWR2211D
# +O9YHrIVS8rHLZtm5bUEO1oDLmSGzQyOmAtY/RW1mArZUgii6QayNU7RBeyWNK3Q
# +cW1bQfKj6ZZcWf0aRMRSn3v0FCsa88taLBcUd23p+mQ4X+domb0ptjL7YvukWtU
# VoxcKEiwAjuAQV4iWQ==
# SIG # End signature block

View File

@@ -0,0 +1,282 @@
$LogList = @()
$LogList += "Start running add software update point (HTTPS) script."
$key = [Microsoft.Win32.RegistryKey]::OpenBaseKey([Microsoft.Win32.RegistryHive]::LocalMachine, [Microsoft.Win32.RegistryView]::Registry32)
$subKey = $key.OpenSubKey("SOFTWARE\Microsoft\ConfigMgr10\Setup")
$uiInstallPath = $subKey.GetValue("UI Installation Directory")
$modulePath = $uiInstallPath+"bin\ConfigurationManager.psd1"
Import-Module $modulePath
$key = [Microsoft.Win32.RegistryKey]::OpenBaseKey([Microsoft.Win32.RegistryHive]::LocalMachine, [Microsoft.Win32.RegistryView]::Registry64)
$subKey = $key.OpenSubKey("SOFTWARE\Microsoft\SMS\Identification")
$SiteCode = $subKey.GetValue("Site Code")
$MachineName = "__MachineFQDN__"
$ProviderMachineName = "__ProviderMachineName__"
$WsusSsl =__WsusSsl__
$initParams = @{}
# Connect to the site's drive if it is not already present
$LogList += "Setting PS Drive..."
while((Get-PSDrive -Name $SiteCode -PSProvider CMSite -ErrorAction SilentlyContinue) -eq $null)
{
$LogList += "Get drive failed ,retry in 10s. Please wait."
New-PSDrive -Name $SiteCode -PSProvider CMSite -Root $ProviderMachineName @initParams | Out-Null
Start-Sleep -Seconds 10
}
Set-Location "$($SiteCode):\" @initParams
$SystemServer = Get-CMSiteSystemServer -SiteSystemServerName $MachineName
if(!$SystemServer)
{
$LogList += "Creating cm site system server..."
$LogList += New-CMSiteSystemServer -SiteSystemServerName $MachineName
$LogList += "Finished creating cm site system server."
}
else
{
$LogList += "$MachineName is already a Site System Server."
}
if((Get-CMSoftwareUpdatePoint -SiteSystemServerName $MachineName).count -eq 1)
{
$LogList += "$MachineName is already a Software Update Point."
$LogList += 1
return $LogList
}
else
{
$SystemServer = Get-CMSiteSystemServer -SiteSystemServerName $MachineName
$LogList += "Adding cm software update point on $MachineName ..."
$LogList += Add-CMSoftwareUpdatePoint -InputObject $SystemServer -WsusIisPort 8530 -WsusIisSslPort 8531 -WsusSsl $WsusSsl
$LogList += "Finished adding cm software update point on $MachineName ..."
if((Get-CMSoftwareUpdatePoint -SiteSystemServerName $MachineName).count -eq 1)
{
$LogList += "Finished running the script."
$LogList += 0
return $LogList
}
else
{
$LogList += "Failed to run the script."
$LogList += 2
return $LogList
}
}
# SIG # Begin signature block
# MIIn8AYJKoZIhvcNAQcCoIIn4TCCJ90CAQExDzANBglghkgBZQMEAgEFADB5Bgor
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCByugQpLXQKgW6N
# tNtEgPiBgp5EiHArlb3AZyqNT7Ii+6CCDYUwggYDMIID66ADAgECAhMzAAADri01
# UchTj1UdAAAAAAOuMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD
# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p
# bmcgUENBIDIwMTEwHhcNMjMxMTE2MTkwODU5WhcNMjQxMTE0MTkwODU5WjB0MQsw
# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
# AQD0IPymNjfDEKg+YyE6SjDvJwKW1+pieqTjAY0CnOHZ1Nj5irGjNZPMlQ4HfxXG
# yAVCZcEWE4x2sZgam872R1s0+TAelOtbqFmoW4suJHAYoTHhkznNVKpscm5fZ899
# QnReZv5WtWwbD8HAFXbPPStW2JKCqPcZ54Y6wbuWV9bKtKPImqbkMcTejTgEAj82
# 6GQc6/Th66Koka8cUIvz59e/IP04DGrh9wkq2jIFvQ8EDegw1B4KyJTIs76+hmpV
# M5SwBZjRs3liOQrierkNVo11WuujB3kBf2CbPoP9MlOyyezqkMIbTRj4OHeKlamd
# WaSFhwHLJRIQpfc8sLwOSIBBAgMBAAGjggGCMIIBfjAfBgNVHSUEGDAWBgorBgEE
# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUhx/vdKmXhwc4WiWXbsf0I53h8T8w
# VAYDVR0RBE0wS6RJMEcxLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJh
# dGlvbnMgTGltaXRlZDEWMBQGA1UEBRMNMjMwMDEyKzUwMTgzNjAfBgNVHSMEGDAW
# gBRIbmTlUAXTgqoXNzcitW2oynUClTBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8v
# d3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIw
# MTEtMDctMDguY3JsMGEGCCsGAQUFBwEBBFUwUzBRBggrBgEFBQcwAoZFaHR0cDov
# L3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDEx
# XzIwMTEtMDctMDguY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIB
# AGrJYDUS7s8o0yNprGXRXuAnRcHKxSjFmW4wclcUTYsQZkhnbMwthWM6cAYb/h2W
# 5GNKtlmj/y/CThe3y/o0EH2h+jwfU/9eJ0fK1ZO/2WD0xi777qU+a7l8KjMPdwjY
# 0tk9bYEGEZfYPRHy1AGPQVuZlG4i5ymJDsMrcIcqV8pxzsw/yk/O4y/nlOjHz4oV
# APU0br5t9tgD8E08GSDi3I6H57Ftod9w26h0MlQiOr10Xqhr5iPLS7SlQwj8HW37
# ybqsmjQpKhmWul6xiXSNGGm36GarHy4Q1egYlxhlUnk3ZKSr3QtWIo1GGL03hT57
# xzjL25fKiZQX/q+II8nuG5M0Qmjvl6Egltr4hZ3e3FQRzRHfLoNPq3ELpxbWdH8t
# Nuj0j/x9Crnfwbki8n57mJKI5JVWRWTSLmbTcDDLkTZlJLg9V1BIJwXGY3i2kR9i
# 5HsADL8YlW0gMWVSlKB1eiSlK6LmFi0rVH16dde+j5T/EaQtFz6qngN7d1lvO7uk
# 6rtX+MLKG4LDRsQgBTi6sIYiKntMjoYFHMPvI/OMUip5ljtLitVbkFGfagSqmbxK
# 7rJMhC8wiTzHanBg1Rrbff1niBbnFbbV4UDmYumjs1FIpFCazk6AADXxoKCo5TsO
# zSHqr9gHgGYQC2hMyX9MGLIpowYCURx3L7kUiGbOiMwaMIIHejCCBWKgAwIBAgIK
# YQ6Q0gAAAAAAAzANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNV
# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv
# c29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlm
# aWNhdGUgQXV0aG9yaXR5IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEw
# OTA5WjB+MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE
# BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYD
# VQQDEx9NaWNyb3NvZnQgQ29kZSBTaWduaW5nIFBDQSAyMDExMIICIjANBgkqhkiG
# 9w0BAQEFAAOCAg8AMIICCgKCAgEAq/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+la
# UKq4BjgaBEm6f8MMHt03a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSHfpRgJGyvnkmc
# 6Whe0t+bU7IKLMOv2akrrnoJr9eWWcpgGgXpZnboMlImEi/nqwhQz7NEt13YxC4D
# dato88tt8zpcoRb0RrrgOGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnnDb6gE3e+
# lD3v++MrWhAfTVYoonpy4BI6t0le2O3tQ5GD2Xuye4Yb2T6xjF3oiU+EGvKhL1nk
# kDstrjNYxbc+/jLTswM9sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOEy/S6
# A4aN91/w0FK/jJSHvMAhdCVfGCi2zCcoOCWYOUo2z3yxkq4cI6epZuxhH2rhKEmd
# X4jiJV3TIUs+UsS1Vz8kA/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL
# 5zmhD+kjSbwYuER8ReTBw3J64HLnJN+/RpnF78IcV9uDjexNSTCnq47f7Fufr/zd
# sGbiwZeBe+3W7UvnSSmnEyimp31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3
# T8HhhUSJxAlMxdSlQy90lfdu+HggWCwTXWCVmj5PM4TasIgX3p5O9JawvEagbJjS
# 4NaIjAsCAwEAAaOCAe0wggHpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRI
# bmTlUAXTgqoXNzcitW2oynUClTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTAL
# BgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRyLToCMZBD
# uRQFTuHqp8cx0SOJNDBaBgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLm1pY3Jv
# c29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFf
# MDNfMjIuY3JsMF4GCCsGAQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDovL3d3
# dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFf
# MDNfMjIuY3J0MIGfBgNVHSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEF
# BQcCARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9kb2NzL3ByaW1h
# cnljcHMuaHRtMEAGCCsGAQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkA
# YwB5AF8AcwB0AGEAdABlAG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQBn
# 8oalmOBUeRou09h0ZyKbC5YR4WOSmUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7
# v0epo/Np22O/IjWll11lhJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r4z4HLimb5j0b
# pdS1HXeUOeLpZMlEPXh6I/MTfaaQdION9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/
# KmtYSWMfCWluWpiW5IP0wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiXmE0OPQvy
# CInWH8MyGOLwxS3OW560STkKxgrCxq2u5bLZ2xWIUUVYODJxJxp/sfQn+N4sOiBp
# mLJZiWhub6e3dMNABQamASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPDXVJi
# hsMdYzaXht/a8/jyFqGaJ+HNpZfQ7l1jQeNbB5yHPgZ3BtEGsXUfFL5hYbXw3MYb
# BL7fQccOKO7eZS/sl/ahXJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbS
# oqKfenoi+kiVH6v7RyOA9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sL
# gOppO6/8MO0ETI7f33VtY5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtX
# cVZOSEXAQsmbdlsKgEhr/Xmfwb1tbWrJUnMTDXpQzTGCGcEwghm9AgEBMIGVMH4x
# CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt
# b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01p
# Y3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTECEzMAAAOuLTVRyFOPVR0AAAAA
# A64wDQYJYIZIAWUDBAIBBQCggcwwGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQw
# HAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIHs7
# qYWzTyiuB42lJMRDByM5Nx6t0SiTp6TFpPpRN5P4MGAGCisGAQQBgjcCAQwxUjBQ
# oDKAMABFAHgAdABlAG4AZABNAGkAZwByAGEAdABlAFQAbwBBAHoAdQByAGUALgBl
# AHgAZaEagBhodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20wDQYJKoZIhvcNAQEBBQAE
# ggEAsFHvAwKACz7B24wHIA8D/V78YtgnzhehE4ZbdhHBS/W40VjtE5pXjasa2zLK
# 5hW+s2sirO6Iygp1pjwS5B9RFuUEJC4oG4h5D/AqEmwP/oLDsffrKQzVK/5Y+vB1
# H8PGodVbrtnVBtxcRLM8BYXsnFS5IB922EBz9F6nhYM6FJFH+FjYWdmz+Q6YcH4u
# RdWFkZUts9mUn1q6RtIMBgakObg/LNt4ZRWgvtflKjKUM4uGGOF7TUMCfs0lKI21
# ZbTqlMCaqRtWUV9UabRqcpdnOcK2q6TOeK4rIh21C0Xs6e+zPMBhAhYoe+7xNB6A
# MU6uFTfFKJO+a4SSIFyVOwAMkqGCFy0wghcpBgorBgEEAYI3AwMBMYIXGTCCFxUG
# CSqGSIb3DQEHAqCCFwYwghcCAgEDMQ8wDQYJYIZIAWUDBAIBBQAwggFZBgsqhkiG
# 9w0BCRABBKCCAUgEggFEMIIBQAIBAQYKKwYBBAGEWQoDATAxMA0GCWCGSAFlAwQC
# AQUABCAs3VF3hSGIc1OxcInzdplI1JoPcHRtmVfV9lLDf+7YFQIGZjOqeGBbGBMy
# MDI0MDUwMjIwNTgwNy41NTFaMASAAgH0oIHYpIHVMIHSMQswCQYDVQQGEwJVUzET
# MBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMV
# TWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQLEyRNaWNyb3NvZnQgSXJlbGFu
# ZCBPcGVyYXRpb25zIExpbWl0ZWQxJjAkBgNVBAsTHVRoYWxlcyBUU1MgRVNOOjg2
# REYtNEJCQy05MzM1MSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBTZXJ2
# aWNloIIRfDCCBycwggUPoAMCAQICEzMAAAHdXVcdldStqhsAAQAAAd0wDQYJKoZI
# hvcNAQELBQAwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAO
# BgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEm
# MCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwHhcNMjMxMDEy
# MTkwNzA5WhcNMjUwMTEwMTkwNzA5WjCB0jELMAkGA1UEBhMCVVMxEzARBgNVBAgT
# Cldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29m
# dCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9zb2Z0IElyZWxhbmQgT3BlcmF0
# aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjo4NkRGLTRCQkMt
# OTMzNTElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZTCCAiIw
# DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKhOA5RE6i53nHURH4lnfKLp+9Jv
# ipuTtctairCxMUSrPSy5CWK2DtriQP+T52HXbN2g7AktQ1pQZbTDGFzK6d03vYYN
# rCPuJK+PRsP2FPVDjBXy5mrLRFzIHHLaiAaobE5vFJuoxZ0ZWdKMCs8acjhHUmfa
# Y+79/CR7uN+B4+xjJqwvdpU/mp0mAq3earyH+AKmv6lkrQN8zgrcbCgHwsqvvqT6
# lEFqYpi7uKn7MAYbSeLe0pMdatV5EW6NVnXMYOTRKuGPfyfBKdShualLo88kG7qa
# 2mbA5l77+X06JAesMkoyYr4/9CgDFjHUpcHSODujlFBKMi168zRdLerdpW0bBX9E
# Dux2zBMMaEK8NyxawCEuAq7++7ktFAbl3hUKtuzYC1FUZuUl2Bq6U17S4CKsqR3i
# tLT9qNcb2pAJ4jrIDdll5Tgoqef5gpv+YcvBM834bXFNwytd3ujDD24P9Dd8xfVJ
# vumjsBQQkK5T/qy3HrQJ8ud1nHSvtFVi5Sa/ubGuYEpS8gF6GDWN5/KbveFkdsoT
# VIPo8pkWhjPs0Q7nA5+uBxQB4zljEjKz5WW7BA4wpmFm24fhBmRjV4Nbp+n78cgA
# jvDSfTlA6DYBcv2kx1JH2dIhaRnSeOXePT6hMF0Il598LMu0rw35ViUWcAQkUNUT
# xRnqGFxz5w+ZusMDAgMBAAGjggFJMIIBRTAdBgNVHQ4EFgQUbqL1toyPUdpFyyHS
# DKWj0I4lw/EwHwYDVR0jBBgwFoAUn6cVXQBeYl2D9OXSZacbUzUZ6XIwXwYDVR0f
# BFgwVjBUoFKgUIZOaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jcmwv
# TWljcm9zb2Z0JTIwVGltZS1TdGFtcCUyMFBDQSUyMDIwMTAoMSkuY3JsMGwGCCsG
# AQUFBwEBBGAwXjBcBggrBgEFBQcwAoZQaHR0cDovL3d3dy5taWNyb3NvZnQuY29t
# L3BraW9wcy9jZXJ0cy9NaWNyb3NvZnQlMjBUaW1lLVN0YW1wJTIwUENBJTIwMjAx
# MCgxKS5jcnQwDAYDVR0TAQH/BAIwADAWBgNVHSUBAf8EDDAKBggrBgEFBQcDCDAO
# BgNVHQ8BAf8EBAMCB4AwDQYJKoZIhvcNAQELBQADggIBAC5U2bINLgXIHWbMcqVu
# f9jkUT/K8zyLBvu5h8JrqYR2z/eaO2yo1Ooc9Shyvxbe9GZDu7kkUzxSyJ1IZksZ
# Zw6FDq6yZNT3PEjAEnREpRBL8S+mbXg+O4VLS0LSmb8XIZiLsaqZ0fDEcv3HeA+/
# y/qKnCQWkXghpaEMwGMQzRkhGwcGdXr1zGpQ7HTxvfu57xFxZX1MkKnWFENJ6urd
# +4teUgXj0ngIOx//l3XMK3Ht8T2+zvGJNAF+5/5qBk7nr079zICbFXvxtidNN5eo
# XdW+9rAIkS+UGD19AZdBrtt6dZ+OdAquBiDkYQ5kVfUMKS31yHQOGgmFxuCOzTpW
# HalrqpdIllsy8KNsj5U9sONiWAd9PNlyEHHbQZDmi9/BNlOYyTt0YehLbDovmZUN
# azk79Od/A917mqCdTqrExwBGUPbMP+/vdYUqaJspupBnUtjOf/76DAhVy8e/e6zR
# 98PkplmliO2brL3Q3rD6+ZCVdrGM9Rm6hUDBBkvYh+YjmGdcQ5HB6WT9Rec8+qDH
# mbhLhX4Zdaard5/OXeLbgx2f7L4QQQj3KgqjqDOWInVhNE1gYtTWLHe4882d/k7L
# ui0K1g8EZrKD7maOrsJLKPKlegceJ9FCqY1sDUKUhRa0EHUW+ZkKLlohKrS7Fwjd
# rINWkPBgbQznCjdE2m47QjTbMIIHcTCCBVmgAwIBAgITMwAAABXF52ueAptJmQAA
# AAAAFTANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldh
# c2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBD
# b3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUg
# QXV0aG9yaXR5IDIwMTAwHhcNMjEwOTMwMTgyMjI1WhcNMzAwOTMwMTgzMjI1WjB8
# MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVk
# bW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1N
# aWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDCCAiIwDQYJKoZIhvcNAQEBBQAD
# ggIPADCCAgoCggIBAOThpkzntHIhC3miy9ckeb0O1YLT/e6cBwfSqWxOdcjKNVf2
# AX9sSuDivbk+F2Az/1xPx2b3lVNxWuJ+Slr+uDZnhUYjDLWNE893MsAQGOhgfWpS
# g0S3po5GawcU88V29YZQ3MFEyHFcUTE3oAo4bo3t1w/YJlN8OWECesSq/XJprx2r
# rPY2vjUmZNqYO7oaezOtgFt+jBAcnVL+tuhiJdxqD89d9P6OU8/W7IVWTe/dvI2k
# 45GPsjksUZzpcGkNyjYtcI4xyDUoveO0hyTD4MmPfrVUj9z6BVWYbWg7mka97aSu
# eik3rMvrg0XnRm7KMtXAhjBcTyziYrLNueKNiOSWrAFKu75xqRdbZ2De+JKRHh09
# /SDPc31BmkZ1zcRfNN0Sidb9pSB9fvzZnkXftnIv231fgLrbqn427DZM9ituqBJR
# 6L8FA6PRc6ZNN3SUHDSCD/AQ8rdHGO2n6Jl8P0zbr17C89XYcz1DTsEzOUyOArxC
# aC4Q6oRRRuLRvWoYWmEBc8pnol7XKHYC4jMYctenIPDC+hIK12NvDMk2ZItboKaD
# IV1fMHSRlJTYuVD5C4lh8zYGNRiER9vcG9H9stQcxWv2XFJRXRLbJbqvUAV6bMUR
# HXLvjflSxIUXk8A8FdsaN8cIFRg/eKtFtvUeh17aj54WcmnGrnu3tz5q4i6tAgMB
# AAGjggHdMIIB2TASBgkrBgEEAYI3FQEEBQIDAQABMCMGCSsGAQQBgjcVAgQWBBQq
# p1L+ZMSavoKRPEY1Kc8Q/y8E7jAdBgNVHQ4EFgQUn6cVXQBeYl2D9OXSZacbUzUZ
# 6XIwXAYDVR0gBFUwUzBRBgwrBgEEAYI3TIN9AQEwQTA/BggrBgEFBQcCARYzaHR0
# cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9Eb2NzL1JlcG9zaXRvcnkuaHRt
# MBMGA1UdJQQMMAoGCCsGAQUFBwMIMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBB
# MAsGA1UdDwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNX2VsuP
# 6KJcYmjRPZSQW9fOmhjEMFYGA1UdHwRPME0wS6BJoEeGRWh0dHA6Ly9jcmwubWlj
# cm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dF8yMDEwLTA2
# LTIzLmNybDBaBggrBgEFBQcBAQROMEwwSgYIKwYBBQUHMAKGPmh0dHA6Ly93d3cu
# bWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljUm9vQ2VyQXV0XzIwMTAtMDYtMjMu
# Y3J0MA0GCSqGSIb3DQEBCwUAA4ICAQCdVX38Kq3hLB9nATEkW+Geckv8qW/qXBS2
# Pk5HZHixBpOXPTEztTnXwnE2P9pkbHzQdTltuw8x5MKP+2zRoZQYIu7pZmc6U03d
# mLq2HnjYNi6cqYJWAAOwBb6J6Gngugnue99qb74py27YP0h1AdkY3m2CDPVtI1Tk
# eFN1JFe53Z/zjj3G82jfZfakVqr3lbYoVSfQJL1AoL8ZthISEV09J+BAljis9/kp
# icO8F7BUhUKz/AyeixmJ5/ALaoHCgRlCGVJ1ijbCHcNhcy4sa3tuPywJeBTpkbKp
# W99Jo3QMvOyRgNI95ko+ZjtPu4b6MhrZlvSP9pEB9s7GdP32THJvEKt1MMU0sHrY
# UP4KWN1APMdUbZ1jdEgssU5HLcEUBHG/ZPkkvnNtyo4JvbMBV0lUZNlz138eW0QB
# jloZkWsNn6Qo3GcZKCS6OEuabvshVGtqRRFHqfG3rsjoiV5PndLQTHa1V1QJsWkB
# RH58oWFsc/4Ku+xBZj1p/cvBQUl+fpO+y/g75LcVv7TOPqUxUYS8vwLBgqJ7Fx0V
# iY1w/ue10CgaiQuPNtq6TPmb/wrpNPgkNWcr4A245oyZ1uEi6vAnQj0llOZ0dFtq
# 0Z4+7X6gMTN9vMvpe784cETRkPHIqzqKOghif9lwY1NNje6CbaUFEMFxBmoQtB1V
# M1izoXBm8qGCAtgwggJBAgEBMIIBAKGB2KSB1TCB0jELMAkGA1UEBhMCVVMxEzAR
# BgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1p
# Y3Jvc29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9zb2Z0IElyZWxhbmQg
# T3BlcmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjo4NkRG
# LTRCQkMtOTMzNTElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2Vydmlj
# ZaIjCgEBMAcGBSsOAwIaAxUANiNHGWXbNaDPxnyiDbEOciSjFhCggYMwgYCkfjB8
# MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVk
# bW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1N
# aWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDANBgkqhkiG9w0BAQUFAAIFAOne
# KPAwIhgPMjAyNDA1MDIyMzAwMDBaGA8yMDI0MDUwMzIzMDAwMFoweDA+BgorBgEE
# AYRZCgQBMTAwLjAKAgUA6d4o8AIBADALAgEAAgMChb4CAf8wBwIBAAICEW0wCgIF
# AOnfenACAQAwNgYKKwYBBAGEWQoEAjEoMCYwDAYKKwYBBAGEWQoDAqAKMAgCAQAC
# AwehIKEKMAgCAQACAwGGoDANBgkqhkiG9w0BAQUFAAOBgQAWrWoEheXdsNh6F10G
# V75SmZSzO+e6KlIJAz4a9gNkA/iIWl2FkI71JTedkFnajtOt61x8eAgXtyTi2A2C
# RZcZna8aeU8Cut9WP1aQj2Bqoxfu64NcU/HJFqOQ5oLCzel2bH+U8hLDGsm0ZwaI
# LlhRMaIy66vpbtQdyXm0byFhTDGCBA0wggQJAgEBMIGTMHwxCzAJBgNVBAYTAlVT
# MRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQK
# ExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1l
# LVN0YW1wIFBDQSAyMDEwAhMzAAAB3V1XHZXUraobAAEAAAHdMA0GCWCGSAFlAwQC
# AQUAoIIBSjAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwLwYJKoZIhvcNAQkE
# MSIEIBdouR/hYhF1K+uqt+lO7hMyebL+w7UNVyzWNGQDky0UMIH6BgsqhkiG9w0B
# CRACLzGB6jCB5zCB5DCBvQQgYf8OLZplrE94mZx7R9FZN+1AjdNpUcWPkYjjesAx
# Y2YwgZgwgYCkfjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQ
# MA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9u
# MSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMAITMwAAAd1d
# Vx2V1K2qGwABAAAB3TAiBCA/lBI100BkxEB55UhYNh+4YF70NoCY+GK2hItManwf
# XjANBgkqhkiG9w0BAQsFAASCAgCDUfbjXapAxzN5PqvOTQr8/u0S+0XxmoJe28xA
# S0VylHV/fcuiYMqGUP4gCETAiJq+XU96g8gfHt1jAC741I38habr8bwn5bgAAFrI
# O2wsSmM5jW2sptmeDHFe8rof8TFmGCNwZuOrWEDQf4Vy18V9J2kln1rEYYaF9csI
# w7a0++u1tr4Uqs6KqqyDQ5WrTVBe8R58HHVlow5bBPSGJU5F2p8NZ1FbpBXb6w4/
# uTDmdvl+l1s3JuzkrqibiMDdGyx2rpl/BUHXy3oHc+gc3/A7/gs5+QQD1C29Zf9E
# GN1C04Qc8KKqUsQUr1POspk5ff0GTa2N37rtlkQlMsoHASeVRoPUdcfo6y4rRcNw
# cz6gCLXsFmxXyyeVFgJqSW9apKmY/3RNl9jXJPiasNKCLesj6iFP41C3W/cW1UHC
# hfj1BNWUw99K3X8IWIthcbdYIoAXkLPQV/iD4/Y45lKN2/ni11QvOm53dWk4LlvP
# UL0aikcvVjMRbNt78LoGP0+22U5gyCyhrYbrwGx7sVeAhTmNutk7UoN5v7xnPxeb
# NjwT1rExQwv5eSTwiKJWqnRB5SEvnPvdvkvR6xYcrhC5z7BXHT+eLLo9n0We6UCp
# sAZCwEyJie14lSavrCE92/cW3PdXXDaQ7k+qfATQRrb2EOqMe26vtgyAPksMd5cD
# 4qGXSQ==
# SIG # End signature block

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,579 @@
'--------------------------------------------------------------------
' Portswitch.vbs
' Usage: Portswitch (HTTP port number)
' Example:Portswitch 1337
' (c) Microsoft Corporation. All rights reserved.
'
' This script will set the HTTP port on which the
' ConfigMgr Advanced Client will use to communicate with the Management Point.
' This script is intended to be used with software distribution.
' Because file associations can change it is recommended that you execute portswitch.vbs in the
' following way:
'
' The command line provided in the package's program should be "wscript.exe portswitch.vbs
' (HTTP port number) (optional: HTTPS port number)"
'
' Example: "Wscript.exe portswitch.vbs 1337 31337"
'
'
' To properly generate pass/fail status for software distribution you must do the following:
' 1) In the ConfigMgr package, set the MIF matching properties to the following:
' MIF Filename: "Portswitch.mif"
' 2) In the ConfigMgr Program, you must specify that the "Program will reboot"
' (this is because CCMExec restarts)
'
'--------------------------------------------------------------------
Dim objShell 'This establishes the variable Shell that will become the WScript.Shell object.
Dim nPortValue, nSslPortValue, nReadValue 'Holds the value passed as a command argument
Dim CCMService
Const EVENT_SUCESS = 0
Const EVENT_FAILED = 2
Const Reg_PortKey = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CCM\HttpPort" 'Set constant as the registry path to the desired key.
Const Reg_PortKeySSL = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CCM\HttpsPort" 'SSL port for ConfigMgr client
' Create a WScript.Shell oject
Set objShell = Wscript.CreateObject("Wscript.Shell")
' check the argument count
iNumberOfArguments = Wscript.Arguments.Count
If iNumberOfArguments > 2 or iNumberOfArguments < 1 Then
objShell.LogEvent EVENT_FAILED, _
"Portswitch.vbs was executed with no specified port. " & _
"Usage: Portswitch (HTTP port number) " & _
"(optional HTTPS port number). Examples: ""Portswitch 8080"" or ""PortSwitch 8080 8443"""
FailAndQuit
End if
On Error Resume Next
' Validate the port arguments, and set the ports in the registry
nPortValue = CLng(Wscript.Arguments.Item(0))
ValidatePort nPortValue
' If we have an SSL port, validate it, too.
If iNumberOfArguments = 2 Then
nSslPortValue = CLng(Wscript.Arguments.Item(1))
If nSslPortValue = nPortValue Then
objShell.LogEvent EVENT_FAILED, _
"Portswitch.vbs had an invalid port specification: HTTP and HTTPS ports cannot be identical."
FailAndQuit
End If
ValidatePort nSslPortValue
WriteRegKey Reg_PortKeySSL, nSslPortValue
End If
WriteRegKey Reg_PortKey, nPortValue
Set objWmiservice = GetObject("winmgmts:root\cimv2:Win32_Service.Name=""CCMExec""")
' Stop the CCMExec so the port change may be picked up by the client.
errReturnCode = objWMIService.StopService()
If errReturnCode <> 0 Then
objShell.LogEvent EVENT_FAILED, _
"Portswitch.vbs was unable to stop the CCMExec service: (Err=" & errReturnCode & ")"
FailAndQuit
End If
' Wait for the ccmexec service to stop (to a maximum of 10 minutes)
Dim dWaitUntil
dWaitUntil = DateAdd("n", 10, Now)
Do While (objWMIService.InterrogateService() <> 6) And (Now < dWaitUntil)
' The service is still running
WScript.Sleep 1000
Loop
' Did the service stop?
If objWMIService.InterrogateService() <> 6 then
objShell.LogEvent EVENT_FAILED, _
"Portswitch.vbs timed out trying to stop the CCMExec service after 3 minutes."
FailAndQuit
End If
If Err.number <> 0 Then
objShell.LogEvent EVENT_FAILED, _
"Portswitch.vbs - An error occured: " & Err.Description
FailAndQuit
End If
' Generate a success status mif
WriteStatusMIF(true)
' Starting CCMExec so the port change may be picked up by the client.
errReturnCode = objWMIService.StartService ()
If iNumberOfArguments = 2 Then
objShell.LogEvent EVENT_SUCCESS, _
"The ConfigMgr Advanced Client has been successfully set to communicate with the MP on ports " & nPortValue & " (HTTP) and " & nSslPortValue & " (HTTPS)"
Else
objShell.LogEvent EVENT_SUCCESS, _
"The ConfigMgr Advanced Client has been successfully set to communicate with the MP on port " & nPortValue
End If
WScript.Quit(0)
' -----------------------------
ErrorHandler:
objShell.LogEvent EVENT_FAILED, _
"Portswitch failed with an internal error: " & Err.Description
FailAndQuit
' -----------------------------
Sub ValidatePort(nPort)
If Err.number <> 0 Then
objShell.LogEvent EVENT_FAILED, _
"Portswitch.vbs - An invalid port number was specified (Valid ports are 1-65535). " & _
"Usage: Portswitch (HTTP port number) Example: Portswitch 8080"
FailAndQuit
End If
' Check the port value
If nPort < 1 or nPort > 65535 then
objShell.LogEvent EVENT_FAILED, _
"Portswitch.vbs was executed with an invalid port number (" & nPort & "). Port numbers must fall " & _
"between 1-65535 Usage: Portswitch (HTTP port number) Example: Portswitch 8080"
FailAndQuit
End if
End Sub
' -----------------------------
Sub WriteRegKey(sRegKey, nPort)
nReadValue = objShell.RegRead(sRegKey)
If nReadValue then
' Write current path to registry key and read it to become constant for script.
objShell.RegWrite (sRegKey), nPort, "REG_DWORD"
nReadValue = objShell.RegRead(sRegKey)
else
objShell.LogEvent EVENT_FAILED, _
"Portswitch is unable to modify the Registry. The Registry Key is not present. This must be an RTM Advanced Client or a Legacy Client."
FailAndQuit
End If
End Sub
' -----------------------------
Sub FailAndQuit()
WriteStatusMIF(false)
WScript.Quit(1)
End Sub
' -----------------------------
Sub WriteStatusMIF(bSuccess)
' Writing a status MIF for SWDist to return a success or a failure to execute
Const ForWriting = 2
Const TemporaryFolder = 2
Set objFSO = CreateObject("Scripting.FileSystemObject")
Dim strTempDir
strTempDir = objFSO.GetSpecialFolder(TemporaryFolder)
Set objFile = objFSO.CreateTextFile(strTempDir & "\portswitch.mif", ForWriting)
objFile.Writeline ("START COMPONENT")
objFile.Writeline ("NAME = ""WORKSTATION""")
objFile.Writeline (" START GROUP")
objFile.Writeline (" NAME = ""ComponentID""")
objFile.Writeline (" ID = 1")
objFile.Writeline (" CLASS = ""DMTF|ComponentID|1.0""")
objFile.Writeline (" START ATTRIBUTE")
objFile.Writeline (" NAME = ""Manufacturer""")
objFile.Writeline (" ID = 1")
objFile.Writeline (" ACCESS = READ-ONLY")
objFile.Writeline (" STORAGE = SPECIFIC")
objFile.Writeline (" TYPE = STRING(64)")
objFile.Writeline (" VALUE = ""Microsoft""")
objFile.Writeline (" END ATTRIBUTE")
objFile.Writeline (" START ATTRIBUTE")
objFile.Writeline (" NAME = ""Product""")
objFile.Writeline (" ID = 2")
objFile.Writeline (" ACCESS = READ-ONLY")
objFile.Writeline (" STORAGE = SPECIFIC")
objFile.Writeline (" TYPE = STRING(64)")
objFile.Writeline (" VALUE = ""Portswitch""")
objFile.Writeline (" END ATTRIBUTE")
objFile.Writeline (" START ATTRIBUTE")
objFile.Writeline (" NAME = ""Version""")
objFile.Writeline (" ID = 3")
objFile.Writeline (" ACCESS = READ-ONLY")
objFile.Writeline (" STORAGE = SPECIFIC")
objFile.Writeline (" TYPE = STRING(64)")
objFile.Writeline (" VALUE = ""1.0""")
objFile.Writeline (" END ATTRIBUTE")
objFile.Writeline (" START ATTRIBUTE")
objFile.Writeline (" NAME = ""Locale""")
objFile.Writeline (" ID = 4")
objFile.Writeline (" ACCESS = READ-ONLY")
objFile.Writeline (" STORAGE = SPECIFIC")
objFile.Writeline (" TYPE = STRING(16)")
objFile.Writeline (" VALUE = ""ENU""")
objFile.Writeline (" END ATTRIBUTE")
objFile.Writeline (" START ATTRIBUTE")
objFile.Writeline (" NAME = ""Serial Number""")
objFile.Writeline (" ID = 5")
objFile.Writeline (" ACCESS = READ-ONLY")
objFile.Writeline (" STORAGE = SPECIFIC")
objFile.Writeline (" TYPE = STRING(64)")
objFile.Writeline (" VALUE = """"")
objFile.Writeline (" END ATTRIBUTE")
objFile.Writeline (" START ATTRIBUTE")
objFile.Writeline (" NAME = ""Installation""")
objFile.Writeline (" ID = 6")
objFile.Writeline (" ACCESS = READ-ONLY")
objFile.Writeline (" STORAGE = SPECIFIC")
objFile.Writeline (" TYPE = STRING(64)")
objFile.Writeline (" VALUE = ""DateTime""")
objFile.Writeline (" END ATTRIBUTE")
objFile.Writeline (" END GROUP")
objFile.Writeline (" START GROUP")
objFile.Writeline (" NAME = ""InstallStatus""")
objFile.Writeline (" ID = 2")
objFile.Writeline (" CLASS = ""MICROSOFT|JOBSTATUS|1.0""")
objFile.Writeline (" START ATTRIBUTE")
objFile.Writeline (" NAME = ""Status""")
objFile.Writeline (" ID = 1")
objFile.Writeline (" ACCESS = READ-ONLY")
objFile.Writeline (" STORAGE = SPECIFIC")
objFile.Writeline (" TYPE = STRING(32)")
' Pass or fail this status mif?
If bSuccess = true then
objFile.Writeline (" VALUE = ""Success""")
else
objFile.Writeline (" VALUE = ""Failed""")
End if
objFile.Writeline (" END ATTRIBUTE")
objFile.Writeline (" START ATTRIBUTE")
objFile.Writeline (" NAME = ""Description""")
objFile.Writeline (" ID = 2")
objFile.Writeline (" ACCESS = READ-ONLY")
objFile.Writeline (" STORAGE = SPECIFIC")
objFile.Writeline (" TYPE = STRING(128)")
If bSuccess = true and iNumberOfArguments = 2 then
objFile.Writeline (" VALUE = ""The ConfigMgr Advanced Client has been successfully set to communicate with the MP on ports " & nPortValue & " (HTTP) and " & nSslPortValue & " (HTTPS)""")
ElseIf bSuccess = true then
objFile.Writeline (" VALUE = ""The ConfigMgr Advanced Client has been successfully set to communicate with the MP on ports " & nPortValue & """")
Else
objFile.Writeline (" VALUE = ""The ConfigMgr Advanced Client has not been set to communicate with the MP on the specified port. See the client's Application Event Log for more details""")
End If
objFile.Writeline (" END ATTRIBUTE")
objFile.Writeline (" END GROUP")
objFile.Writeline ("END COMPONENT")
End Sub
'' SIG '' Begin signature block
'' SIG '' MIIn+wYJKoZIhvcNAQcCoIIn7DCCJ+gCAQExDzANBglg
'' SIG '' hkgBZQMEAgEFADB3BgorBgEEAYI3AgEEoGkwZzAyBgor
'' SIG '' BgEEAYI3AgEeMCQCAQEEEE7wKRaZJ7VNj+Ws4Q8X66sC
'' SIG '' AQACAQACAQACAQACAQAwMTANBglghkgBZQMEAgEFAAQg
'' SIG '' kNoyQ+kEDMJy5X6lruwNc6Pgdomi/DC06UKEA/dNZYmg
'' SIG '' gg2FMIIGAzCCA+ugAwIBAgITMwAAA64tNVHIU49VHQAA
'' SIG '' AAADrjANBgkqhkiG9w0BAQsFADB+MQswCQYDVQQGEwJV
'' SIG '' UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH
'' SIG '' UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBv
'' SIG '' cmF0aW9uMSgwJgYDVQQDEx9NaWNyb3NvZnQgQ29kZSBT
'' SIG '' aWduaW5nIFBDQSAyMDExMB4XDTIzMTExNjE5MDg1OVoX
'' SIG '' DTI0MTExNDE5MDg1OVowdDELMAkGA1UEBhMCVVMxEzAR
'' SIG '' BgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1v
'' SIG '' bmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv
'' SIG '' bjEeMBwGA1UEAxMVTWljcm9zb2Z0IENvcnBvcmF0aW9u
'' SIG '' MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
'' SIG '' 9CD8pjY3wxCoPmMhOkow7ycCltfqYnqk4wGNApzh2dTY
'' SIG '' +YqxozWTzJUOB38VxsgFQmXBFhOMdrGYGpvO9kdbNPkw
'' SIG '' HpTrW6hZqFuLLiRwGKEx4ZM5zVSqbHJuX2fPfUJ0Xmb+
'' SIG '' VrVsGw/BwBV2zz0rVtiSgqj3GeeGOsG7llfWyrSjyJqm
'' SIG '' 5DHE3o04BAI/NuhkHOv04euiqJGvHFCL8+fXvyD9OAxq
'' SIG '' 4fcJKtoyBb0PBA3oMNQeCsiUyLO+voZqVTOUsAWY0bN5
'' SIG '' YjkK4nq5DVaNdVrrowd5AX9gmz6D/TJTssns6pDCG00Y
'' SIG '' +Dh3ipWpnVmkhYcByyUSEKX3PLC8DkiAQQIDAQABo4IB
'' SIG '' gjCCAX4wHwYDVR0lBBgwFgYKKwYBBAGCN0wIAQYIKwYB
'' SIG '' BQUHAwMwHQYDVR0OBBYEFIcf73Spl4cHOFoll27H9COd
'' SIG '' 4fE/MFQGA1UdEQRNMEukSTBHMS0wKwYDVQQLEyRNaWNy
'' SIG '' b3NvZnQgSXJlbGFuZCBPcGVyYXRpb25zIExpbWl0ZWQx
'' SIG '' FjAUBgNVBAUTDTIzMDAxMis1MDE4MzYwHwYDVR0jBBgw
'' SIG '' FoAUSG5k5VAF04KqFzc3IrVtqMp1ApUwVAYDVR0fBE0w
'' SIG '' SzBJoEegRYZDaHR0cDovL3d3dy5taWNyb3NvZnQuY29t
'' SIG '' L3BraW9wcy9jcmwvTWljQ29kU2lnUENBMjAxMV8yMDEx
'' SIG '' LTA3LTA4LmNybDBhBggrBgEFBQcBAQRVMFMwUQYIKwYB
'' SIG '' BQUHMAKGRWh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9w
'' SIG '' a2lvcHMvY2VydHMvTWljQ29kU2lnUENBMjAxMV8yMDEx
'' SIG '' LTA3LTA4LmNydDAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3
'' SIG '' DQEBCwUAA4ICAQBqyWA1Eu7PKNMjaaxl0V7gJ0XBysUo
'' SIG '' xZluMHJXFE2LEGZIZ2zMLYVjOnAGG/4dluRjSrZZo/8v
'' SIG '' wk4Xt8v6NBB9ofo8H1P/XidHytWTv9lg9MYu++6lPmu5
'' SIG '' fCozD3cI2NLZPW2BBhGX2D0R8tQBj0FbmZRuIucpiQ7D
'' SIG '' K3CHKlfKcc7MP8pPzuMv55Tox8+KFQD1NG6+bfbYA/BN
'' SIG '' PBkg4tyOh+exbaHfcNuodDJUIjq9dF6oa+Yjy0u0pUMI
'' SIG '' /B1t+8m6rJo0KSoZlrpesYl0jRhpt+hmqx8uENXoGJcY
'' SIG '' ZVJ5N2Skq90LViKNRhi9N4U+e8c4y9uXyomUF/6viCPJ
'' SIG '' 7huTNEJo75ehIJba+IWd3txUEc0R3y6DT6txC6cW1nR/
'' SIG '' LTbo9I/8fQq538G5IvJ+e5iSiOSVVkVk0i5m03Awy5E2
'' SIG '' ZSS4PVdQSCcFxmN4tpEfYuR7AAy/GJVtIDFlUpSgdXok
'' SIG '' pSui5hYtK1R9enXXvo+U/xGkLRc+qp4De3dZbzu7pOq7
'' SIG '' V/jCyhuCw0bEIAU4urCGIip7TI6GBRzD7yPzjFIqeZY7
'' SIG '' S4rVW5BRn2oEqpm8Su6yTIQvMIk8x2pwYNUa2339Z4gW
'' SIG '' 5xW21eFA5mLpo7NRSKRQms5OgAA18aCgqOU7Ds0h6q/Y
'' SIG '' B4BmEAtoTMl/TBiyKaMGAlEcdy+5FIhmzojMGjCCB3ow
'' SIG '' ggVioAMCAQICCmEOkNIAAAAAAAMwDQYJKoZIhvcNAQEL
'' SIG '' BQAwgYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNo
'' SIG '' aW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQK
'' SIG '' ExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xMjAwBgNVBAMT
'' SIG '' KU1pY3Jvc29mdCBSb290IENlcnRpZmljYXRlIEF1dGhv
'' SIG '' cml0eSAyMDExMB4XDTExMDcwODIwNTkwOVoXDTI2MDcw
'' SIG '' ODIxMDkwOVowfjELMAkGA1UEBhMCVVMxEzARBgNVBAgT
'' SIG '' Cldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAc
'' SIG '' BgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEoMCYG
'' SIG '' A1UEAxMfTWljcm9zb2Z0IENvZGUgU2lnbmluZyBQQ0Eg
'' SIG '' MjAxMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC
'' SIG '' ggIBAKvw+nIQHC6t2G6qghBNNLrytlghn0IbKmvpWlCq
'' SIG '' uAY4GgRJun/DDB7dN2vGEtgL8DjCmQawyDnVARQxQtOJ
'' SIG '' DXlkh36UYCRsr55JnOloXtLfm1OyCizDr9mpK656Ca/X
'' SIG '' llnKYBoF6WZ26DJSJhIv56sIUM+zRLdd2MQuA3WraPPL
'' SIG '' bfM6XKEW9Ea64DhkrG5kNXimoGMPLdNAk/jj3gcN1Vx5
'' SIG '' pUkp5w2+oBN3vpQ97/vjK1oQH01WKKJ6cuASOrdJXtjt
'' SIG '' 7UORg9l7snuGG9k+sYxd6IlPhBryoS9Z5JA7La4zWMW3
'' SIG '' Pv4y07MDPbGyr5I4ftKdgCz1TlaRITUlwzluZH9TupwP
'' SIG '' rRkjhMv0ugOGjfdf8NBSv4yUh7zAIXQlXxgotswnKDgl
'' SIG '' mDlKNs98sZKuHCOnqWbsYR9q4ShJnV+I4iVd0yFLPlLE
'' SIG '' tVc/JAPw0XpbL9Uj43BdD1FGd7P4AOG8rAKCX9vAFbO9
'' SIG '' G9RVS+c5oQ/pI0m8GLhEfEXkwcNyeuBy5yTfv0aZxe/C
'' SIG '' HFfbg43sTUkwp6uO3+xbn6/83bBm4sGXgXvt1u1L50kp
'' SIG '' pxMopqd9Z4DmimJ4X7IvhNdXnFy/dygo8e1twyiPLI9A
'' SIG '' N0/B4YVEicQJTMXUpUMvdJX3bvh4IFgsE11glZo+TzOE
'' SIG '' 2rCIF96eTvSWsLxGoGyY0uDWiIwLAgMBAAGjggHtMIIB
'' SIG '' 6TAQBgkrBgEEAYI3FQEEAwIBADAdBgNVHQ4EFgQUSG5k
'' SIG '' 5VAF04KqFzc3IrVtqMp1ApUwGQYJKwYBBAGCNxQCBAwe
'' SIG '' CgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMA8GA1UdEwEB
'' SIG '' /wQFMAMBAf8wHwYDVR0jBBgwFoAUci06AjGQQ7kUBU7h
'' SIG '' 6qfHMdEjiTQwWgYDVR0fBFMwUTBPoE2gS4ZJaHR0cDov
'' SIG '' L2NybC5taWNyb3NvZnQuY29tL3BraS9jcmwvcHJvZHVj
'' SIG '' dHMvTWljUm9vQ2VyQXV0MjAxMV8yMDExXzAzXzIyLmNy
'' SIG '' bDBeBggrBgEFBQcBAQRSMFAwTgYIKwYBBQUHMAKGQmh0
'' SIG '' dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMv
'' SIG '' TWljUm9vQ2VyQXV0MjAxMV8yMDExXzAzXzIyLmNydDCB
'' SIG '' nwYDVR0gBIGXMIGUMIGRBgkrBgEEAYI3LgMwgYMwPwYI
'' SIG '' KwYBBQUHAgEWM2h0dHA6Ly93d3cubWljcm9zb2Z0LmNv
'' SIG '' bS9wa2lvcHMvZG9jcy9wcmltYXJ5Y3BzLmh0bTBABggr
'' SIG '' BgEFBQcCAjA0HjIgHQBMAGUAZwBhAGwAXwBwAG8AbABp
'' SIG '' AGMAeQBfAHMAdABhAHQAZQBtAGUAbgB0AC4gHTANBgkq
'' SIG '' hkiG9w0BAQsFAAOCAgEAZ/KGpZjgVHkaLtPYdGcimwuW
'' SIG '' EeFjkplCln3SeQyQwWVfLiw++MNy0W2D/r4/6ArKO79H
'' SIG '' qaPzadtjvyI1pZddZYSQfYtGUFXYDJJ80hpLHPM8QotS
'' SIG '' 0LD9a+M+By4pm+Y9G6XUtR13lDni6WTJRD14eiPzE32m
'' SIG '' kHSDjfTLJgJGKsKKELukqQUMm+1o+mgulaAqPyprWElj
'' SIG '' HwlpblqYluSD9MCP80Yr3vw70L01724lruWvJ+3Q3fMO
'' SIG '' r5kol5hNDj0L8giJ1h/DMhji8MUtzluetEk5CsYKwsat
'' SIG '' ruWy2dsViFFFWDgycScaf7H0J/jeLDogaZiyWYlobm+n
'' SIG '' t3TDQAUGpgEqKD6CPxNNZgvAs0314Y9/HG8VfUWnduVA
'' SIG '' KmWjw11SYobDHWM2l4bf2vP48hahmifhzaWX0O5dY0Hj
'' SIG '' Wwechz4GdwbRBrF1HxS+YWG18NzGGwS+30HHDiju3mUv
'' SIG '' 7Jf2oVyW2ADWoUa9WfOXpQlLSBCZgB/QACnFsZulP0V3
'' SIG '' HjXG0qKin3p6IvpIlR+r+0cjgPWe+L9rt0uX4ut1eBrs
'' SIG '' 6jeZeRhL/9azI2h15q/6/IvrC4DqaTuv/DDtBEyO3991
'' SIG '' bWORPdGdVk5Pv4BXIqF4ETIheu9BCrE/+6jMpF3BoYib
'' SIG '' V3FWTkhFwELJm3ZbCoBIa/15n8G9bW1qyVJzEw16UM0x
'' SIG '' ghnOMIIZygIBATCBlTB+MQswCQYDVQQGEwJVUzETMBEG
'' SIG '' A1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
'' SIG '' ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9u
'' SIG '' MSgwJgYDVQQDEx9NaWNyb3NvZnQgQ29kZSBTaWduaW5n
'' SIG '' IFBDQSAyMDExAhMzAAADri01UchTj1UdAAAAAAOuMA0G
'' SIG '' CWCGSAFlAwQCAQUAoIHeMBkGCSqGSIb3DQEJAzEMBgor
'' SIG '' BgEEAYI3AgEEMBwGCisGAQQBgjcCAQsxDjAMBgorBgEE
'' SIG '' AYI3AgEVMC8GCSqGSIb3DQEJBDEiBCA0WmhIyaCB433Q
'' SIG '' btKGvSlstI+NGeScr9S1mJTSgSORSDByBgorBgEEAYI3
'' SIG '' AgEMMWQwYqBEgEIARABlAHMAawB0AG8AcABBAG4AYQBs
'' SIG '' AHkAdABpAGMAcwBMAG8AZwBzAEMAbwBsAGwAZQBjAHQA
'' SIG '' bwByAC4AcABzADGhGoAYaHR0cDovL3d3dy5taWNyb3Nv
'' SIG '' ZnQuY29tMA0GCSqGSIb3DQEBAQUABIIBAJ9zK+4HpCF+
'' SIG '' MUnwpdesD9BH6r7upuQnz2Islc44ygwusOykI7QwsqTM
'' SIG '' 0zimy+ptdC3/LT2tobs3Qg/fbLvTqpQpvjtO4Lb/4j5o
'' SIG '' beSb75ATIe/PiTxCtU/2ItsxBNZq/vciBHBPcQrjOxw0
'' SIG '' c+bdqsqoKkViOngFhOnezGpmj3LsiSn697jifm7top4m
'' SIG '' hEhMML0ekqqfOQ4KP3TUF9ltBWrDCjiDaEyP//w6o56c
'' SIG '' KEHJQ2JFFIuedJ9ACLgW85h/RY1cuJAXN6+79JuLHQgT
'' SIG '' 7PurvxR+idMyjCWNXCXYy13ZVKYryNA9gmtH6OQxi3ht
'' SIG '' oIFv78IMoqfwXgEAIK1/9PuhghcoMIIXJAYKKwYBBAGC
'' SIG '' NwMDATGCFxQwghcQBgkqhkiG9w0BBwKgghcBMIIW/QIB
'' SIG '' AzEPMA0GCWCGSAFlAwQCAQUAMIIBWQYLKoZIhvcNAQkQ
'' SIG '' AQSgggFIBIIBRDCCAUACAQEGCisGAQQBhFkKAwEwMTAN
'' SIG '' BglghkgBZQMEAgEFAAQgSr696137b/L1iZdh+gDumG0i
'' SIG '' y7UFdJv/wZFbrf7GFXYCBmYzqJqqQxgTMjAyNDA1MDIy
'' SIG '' MDU1NDYuMzg1WjAEgAIB9KCB2KSB1TCB0jELMAkGA1UE
'' SIG '' BhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNV
'' SIG '' BAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBD
'' SIG '' b3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9zb2Z0IEly
'' SIG '' ZWxhbmQgT3BlcmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQL
'' SIG '' Ex1UaGFsZXMgVFNTIEVTTjozQkQ0LTRCODAtNjlDMzEl
'' SIG '' MCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2Vy
'' SIG '' dmljZaCCEXcwggcnMIIFD6ADAgECAhMzAAAB5Y9qwPM9
'' SIG '' tAujAAEAAAHlMA0GCSqGSIb3DQEBCwUAMHwxCzAJBgNV
'' SIG '' BAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYD
'' SIG '' VQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQg
'' SIG '' Q29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBU
'' SIG '' aW1lLVN0YW1wIFBDQSAyMDEwMB4XDTIzMTAxMjE5MDcz
'' SIG '' NVoXDTI1MDExMDE5MDczNVowgdIxCzAJBgNVBAYTAlVT
'' SIG '' MRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdS
'' SIG '' ZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9y
'' SIG '' YXRpb24xLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5k
'' SIG '' IE9wZXJhdGlvbnMgTGltaXRlZDEmMCQGA1UECxMdVGhh
'' SIG '' bGVzIFRTUyBFU046M0JENC00QjgwLTY5QzMxJTAjBgNV
'' SIG '' BAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2Uw
'' SIG '' ggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCp
'' SIG '' e+A62rtjuiy6yTtx8k7zvWl2ov/3jcj+TC1ma5lBjTiT
'' SIG '' D8DCNPFfcwX0TzXLnK3iGEsiR45DCFBprodKz1ef9vlA
'' SIG '' ixqzdT++5/X6v5nc1zDdRc6mjx3ShJSp3iUPEenD+Ha7
'' SIG '' thspprda6xnDXvNNAnA+nfzXaKJppHdfelajrY2RQNV1
'' SIG '' rvhrBQXlh4ns/z5ZanDP3lp7ZEDLNJStM5gnx/gbu4tY
'' SIG '' fhQ0UfBe1s1K/+zN44VXT6QH6ts2AgPGVSzYBIs2PrxZ
'' SIG '' oMfsw7rlPxgoQyu5JQ3AsPv4FaBLkjpeXJULMnVkIySV
'' SIG '' +2dslftSguhtSVaqT93aSjwD/+LnTaqUeRyHm/E2tSX4
'' SIG '' 0VM0r96ko3ucvUWE/wI1jWEO4LHs7g1jP/HGddZHKNSb
'' SIG '' 1MjkPMfyQ5DBakkcI9b/pnOiyipY//3Vghvx8PaaXZVi
'' SIG '' V+qbA3rELkEexVe3gqlf5X2o6C6Tzcf/cxdXb/MlwXc5
'' SIG '' liT3gontl2kJ6wCg6pRt817sfbTUJs9i/ek3cZyDtjhp
'' SIG '' mMQQAGQFqCm5rWCPgos+AmMjtBZuWd0+NGuXeyibn7Re
'' SIG '' gk6HHHP1Kf46RX0IrS343e9XEvnCwnqEPqtJ9CAC71fm
'' SIG '' nGxDaLkjq47/0LWOBSIx5SOc3ScyZxrJFSeaM4Y4tGEb
'' SIG '' HL9VsCRQLssgjELy3Zj3XQIDAQABo4IBSTCCAUUwHQYD
'' SIG '' VR0OBBYEFN//n4e7TXMxInxF5QkIBTl4DIeqMB8GA1Ud
'' SIG '' IwQYMBaAFJ+nFV0AXmJdg/Tl0mWnG1M1GelyMF8GA1Ud
'' SIG '' HwRYMFYwVKBSoFCGTmh0dHA6Ly93d3cubWljcm9zb2Z0
'' SIG '' LmNvbS9wa2lvcHMvY3JsL01pY3Jvc29mdCUyMFRpbWUt
'' SIG '' U3RhbXAlMjBQQ0ElMjAyMDEwKDEpLmNybDBsBggrBgEF
'' SIG '' BQcBAQRgMF4wXAYIKwYBBQUHMAKGUGh0dHA6Ly93d3cu
'' SIG '' bWljcm9zb2Z0LmNvbS9wa2lvcHMvY2VydHMvTWljcm9z
'' SIG '' b2Z0JTIwVGltZS1TdGFtcCUyMFBDQSUyMDIwMTAoMSku
'' SIG '' Y3J0MAwGA1UdEwEB/wQCMAAwFgYDVR0lAQH/BAwwCgYI
'' SIG '' KwYBBQUHAwgwDgYDVR0PAQH/BAQDAgeAMA0GCSqGSIb3
'' SIG '' DQEBCwUAA4ICAQAz+sIThYw9WnfBpBCfaCwbr3453TMh
'' SIG '' kPUeB4ASkpT7d6WtF1S3IpqyZQ5yhoBQYlsCOlzoMPNo
'' SIG '' XaJQ4jAwSy1kTEyR1lXlGNYFOFwfDjiMQXPf0PN829XN
'' SIG '' EVhLqYAuPCPm/tsdlTYBiVLECMj0dj4l0IU+T8nqzIGo
'' SIG '' PTkqHUIxcKTXRoq52tq6VdtxFMBXjuft6El+CXgjWb4M
'' SIG '' lDsyqcjL6lWrm6PhpX/6bH1ubSHDI2VbdHpbMH6tKiTU
'' SIG '' IKGIqW2k77+8ZosVCRk24sWIn08AIrz3CjXXorGZrbbO
'' SIG '' zh2wDO/eWbyi0hKl4kVIw2Gcnh8gMrDBAC2yIXV4BxIe
'' SIG '' tCqGcs5QV891cRIqxO54bnDcDNrVYjpcCOxJHlOYbnXL
'' SIG '' Z1whueSbjMP8G+3O9USopmQPyl5VqZgb5CZAdAWREvDg
'' SIG '' hg3fs2P0/QZ06fLIt+k6pfOFX6WHvYh5suz6qsajBdgp
'' SIG '' +KtmtJhDJ6Qa7gxhP4EfXPElSdp7ZAEcuUn5brifzAet
'' SIG '' ckb09ZlMd5cqaTttnj4wY58KBL1cWw409Y4XTDXXrzrg
'' SIG '' 3iRs0SyvRzZkwwvk3WUJY/lTICJvGXhCETRdKGr4hfkG
'' SIG '' XFGS1s1m2Kusg6JPBGShYkUeaLQaBi72mBacQWVBPJpy
'' SIG '' yrg5WKG468Ye5Z8K8Vf3zMtBfX0qNicRZrS4LTCCB3Ew
'' SIG '' ggVZoAMCAQICEzMAAAAVxedrngKbSZkAAAAAABUwDQYJ
'' SIG '' KoZIhvcNAQELBQAwgYgxCzAJBgNVBAYTAlVTMRMwEQYD
'' SIG '' VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25k
'' SIG '' MR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24x
'' SIG '' MjAwBgNVBAMTKU1pY3Jvc29mdCBSb290IENlcnRpZmlj
'' SIG '' YXRlIEF1dGhvcml0eSAyMDEwMB4XDTIxMDkzMDE4MjIy
'' SIG '' NVoXDTMwMDkzMDE4MzIyNVowfDELMAkGA1UEBhMCVVMx
'' SIG '' EzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1Jl
'' SIG '' ZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3Jh
'' SIG '' dGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3Rh
'' SIG '' bXAgUENBIDIwMTAwggIiMA0GCSqGSIb3DQEBAQUAA4IC
'' SIG '' DwAwggIKAoICAQDk4aZM57RyIQt5osvXJHm9DtWC0/3u
'' SIG '' nAcH0qlsTnXIyjVX9gF/bErg4r25PhdgM/9cT8dm95VT
'' SIG '' cVrifkpa/rg2Z4VGIwy1jRPPdzLAEBjoYH1qUoNEt6aO
'' SIG '' RmsHFPPFdvWGUNzBRMhxXFExN6AKOG6N7dcP2CZTfDlh
'' SIG '' AnrEqv1yaa8dq6z2Nr41JmTamDu6GnszrYBbfowQHJ1S
'' SIG '' /rboYiXcag/PXfT+jlPP1uyFVk3v3byNpOORj7I5LFGc
'' SIG '' 6XBpDco2LXCOMcg1KL3jtIckw+DJj361VI/c+gVVmG1o
'' SIG '' O5pGve2krnopN6zL64NF50ZuyjLVwIYwXE8s4mKyzbni
'' SIG '' jYjklqwBSru+cakXW2dg3viSkR4dPf0gz3N9QZpGdc3E
'' SIG '' XzTdEonW/aUgfX782Z5F37ZyL9t9X4C626p+Nuw2TPYr
'' SIG '' bqgSUei/BQOj0XOmTTd0lBw0gg/wEPK3Rxjtp+iZfD9M
'' SIG '' 269ewvPV2HM9Q07BMzlMjgK8QmguEOqEUUbi0b1qGFph
'' SIG '' AXPKZ6Je1yh2AuIzGHLXpyDwwvoSCtdjbwzJNmSLW6Cm
'' SIG '' gyFdXzB0kZSU2LlQ+QuJYfM2BjUYhEfb3BvR/bLUHMVr
'' SIG '' 9lxSUV0S2yW6r1AFemzFER1y7435UsSFF5PAPBXbGjfH
'' SIG '' CBUYP3irRbb1Hode2o+eFnJpxq57t7c+auIurQIDAQAB
'' SIG '' o4IB3TCCAdkwEgYJKwYBBAGCNxUBBAUCAwEAATAjBgkr
'' SIG '' BgEEAYI3FQIEFgQUKqdS/mTEmr6CkTxGNSnPEP8vBO4w
'' SIG '' HQYDVR0OBBYEFJ+nFV0AXmJdg/Tl0mWnG1M1GelyMFwG
'' SIG '' A1UdIARVMFMwUQYMKwYBBAGCN0yDfQEBMEEwPwYIKwYB
'' SIG '' BQUHAgEWM2h0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9w
'' SIG '' a2lvcHMvRG9jcy9SZXBvc2l0b3J5Lmh0bTATBgNVHSUE
'' SIG '' DDAKBggrBgEFBQcDCDAZBgkrBgEEAYI3FAIEDB4KAFMA
'' SIG '' dQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw
'' SIG '' AwEB/zAfBgNVHSMEGDAWgBTV9lbLj+iiXGJo0T2UkFvX
'' SIG '' zpoYxDBWBgNVHR8ETzBNMEugSaBHhkVodHRwOi8vY3Js
'' SIG '' Lm1pY3Jvc29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9N
'' SIG '' aWNSb29DZXJBdXRfMjAxMC0wNi0yMy5jcmwwWgYIKwYB
'' SIG '' BQUHAQEETjBMMEoGCCsGAQUFBzAChj5odHRwOi8vd3d3
'' SIG '' Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0Nl
'' SIG '' ckF1dF8yMDEwLTA2LTIzLmNydDANBgkqhkiG9w0BAQsF
'' SIG '' AAOCAgEAnVV9/Cqt4SwfZwExJFvhnnJL/Klv6lwUtj5O
'' SIG '' R2R4sQaTlz0xM7U518JxNj/aZGx80HU5bbsPMeTCj/ts
'' SIG '' 0aGUGCLu6WZnOlNN3Zi6th542DYunKmCVgADsAW+iehp
'' SIG '' 4LoJ7nvfam++Kctu2D9IdQHZGN5tggz1bSNU5HhTdSRX
'' SIG '' ud2f8449xvNo32X2pFaq95W2KFUn0CS9QKC/GbYSEhFd
'' SIG '' PSfgQJY4rPf5KYnDvBewVIVCs/wMnosZiefwC2qBwoEZ
'' SIG '' QhlSdYo2wh3DYXMuLGt7bj8sCXgU6ZGyqVvfSaN0DLzs
'' SIG '' kYDSPeZKPmY7T7uG+jIa2Zb0j/aRAfbOxnT99kxybxCr
'' SIG '' dTDFNLB62FD+CljdQDzHVG2dY3RILLFORy3BFARxv2T5
'' SIG '' JL5zbcqOCb2zAVdJVGTZc9d/HltEAY5aGZFrDZ+kKNxn
'' SIG '' GSgkujhLmm77IVRrakURR6nxt67I6IleT53S0Ex2tVdU
'' SIG '' CbFpAUR+fKFhbHP+CrvsQWY9af3LwUFJfn6Tvsv4O+S3
'' SIG '' Fb+0zj6lMVGEvL8CwYKiexcdFYmNcP7ntdAoGokLjzba
'' SIG '' ukz5m/8K6TT4JDVnK+ANuOaMmdbhIurwJ0I9JZTmdHRb
'' SIG '' atGePu1+oDEzfbzL6Xu/OHBE0ZDxyKs6ijoIYn/ZcGNT
'' SIG '' TY3ugm2lBRDBcQZqELQdVTNYs6FwZvKhggLTMIICPAIB
'' SIG '' ATCCAQChgdikgdUwgdIxCzAJBgNVBAYTAlVTMRMwEQYD
'' SIG '' VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25k
'' SIG '' MR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24x
'' SIG '' LTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJh
'' SIG '' dGlvbnMgTGltaXRlZDEmMCQGA1UECxMdVGhhbGVzIFRT
'' SIG '' UyBFU046M0JENC00QjgwLTY5QzMxJTAjBgNVBAMTHE1p
'' SIG '' Y3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2WiIwoBATAH
'' SIG '' BgUrDgMCGgMVAPeNohrmBa7BOMM1g3fORKTOkYsKoIGD
'' SIG '' MIGApH4wfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldh
'' SIG '' c2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNV
'' SIG '' BAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UE
'' SIG '' AxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAw
'' SIG '' DQYJKoZIhvcNAQEFBQACBQDp3icNMCIYDzIwMjQwNTAy
'' SIG '' MjI1MTU3WhgPMjAyNDA1MDMyMjUxNTdaMHMwOQYKKwYB
'' SIG '' BAGEWQoEATErMCkwCgIFAOneJw0CAQAwBgIBAAIBCDAH
'' SIG '' AgEAAgIRVzAKAgUA6d94jQIBADA2BgorBgEEAYRZCgQC
'' SIG '' MSgwJjAMBgorBgEEAYRZCgMCoAowCAIBAAIDB6EgoQow
'' SIG '' CAIBAAIDAYagMA0GCSqGSIb3DQEBBQUAA4GBADaQqHja
'' SIG '' OqoHQOVEUxJ0LoKdCagtOxJfD3099ShJlCv3vUni6+3H
'' SIG '' GPKMH46NjPwqRE+gazyrJAR1sEnnrM+jlmA6Ybde0GlC
'' SIG '' 7NQUjSVI/LU9ie9XkodPq28cc5KXmny1roGN3UByBene
'' SIG '' hsSHrJ63JCzv//vI4XGwGemjCYKmz3oYMYIEDTCCBAkC
'' SIG '' AQEwgZMwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldh
'' SIG '' c2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNV
'' SIG '' BAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UE
'' SIG '' AxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAC
'' SIG '' EzMAAAHlj2rA8z20C6MAAQAAAeUwDQYJYIZIAWUDBAIB
'' SIG '' BQCgggFKMBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRAB
'' SIG '' BDAvBgkqhkiG9w0BCQQxIgQgO/d+xJXyipEnhQB5YCKb
'' SIG '' /510ev/Bpllc+uySGfDQNiIwgfoGCyqGSIb3DQEJEAIv
'' SIG '' MYHqMIHnMIHkMIG9BCAVqdP//qjxGFhe2YboEXeb8I/p
'' SIG '' Aof01CwhbxUH9U697TCBmDCBgKR+MHwxCzAJBgNVBAYT
'' SIG '' AlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQH
'' SIG '' EwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29y
'' SIG '' cG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1l
'' SIG '' LVN0YW1wIFBDQSAyMDEwAhMzAAAB5Y9qwPM9tAujAAEA
'' SIG '' AAHlMCIEIIxI1X5ALp6rnWH5V1diADKb7ruIm50/mvcH
'' SIG '' f/g5juuhMA0GCSqGSIb3DQEBCwUABIICAGNonK74S7hT
'' SIG '' zX8qp/LdUDLYemNFd6lC/VyG/wGUm1KRz7xb+chJDA9z
'' SIG '' rEumYQR8ZvS6B6bhbhRMi34xoAKA/saTgtGDr/zT3hGp
'' SIG '' n79JJt4F9d/bBUwt2am+PIX+PbnQl90VUYqGVml21fbE
'' SIG '' bmym5kuOWPa3ro59yMZ7QcKs1ZFYSNzUNacQ52XuGsZP
'' SIG '' 07l77Nm5ECWPzXfuBCmbDsxeK7LDBCeptTO3DAIrtkDf
'' SIG '' p+dx2eO4d0E3bqQ0buISKCh/ERqVP+D5kvFx4xE/z8ag
'' SIG '' RazCysLFvzElldhnWf0+6+AOgT++2r0LKJf52NpytAA+
'' SIG '' TBw4tgFQKhai5+jn5k0Y7r0kyFtQ76r7szNbobPKkxEB
'' SIG '' v69Gwq9prlezA7knth/NjnZdFgkmiMTJkX4BS23Kouvn
'' SIG '' 2Hz5qMZk3bcS4UM+wyOr85xq8DeN8hVj9eiUWTOlXEJQ
'' SIG '' lGD+o196BgWD+Yi1Rap3K84gXyXOpbXK83aYDlWGCJxo
'' SIG '' fAga1ZUIhqol7Q++SMllOjmKcGb+1kSRUFo30BaEaT81
'' SIG '' 8cViNmglvbi4fCWG38dhhWKxDil+4LLMjPsKyS6tnEvS
'' SIG '' VWB2iv/l1hDfTeCarsJVxnPbQY8vo4mE2vVBhA8Bwc/E
'' SIG '' oZpQMEDaKUHHCJ+qlAKwmnbqbWH1+Kj3FRJeU5MvKR22
'' SIG '' aeejB/WQJnsi
'' SIG '' End signature block

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
ServerTools/DPJobMgr.exe Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.