1

I am working on PowerShell. In that am trying to change the values of an existing config file values with the help of PowerShell and its working well. But I faced a new task as below and strucked here in converting the values in PowerShell to override in my config file. For this task, I referred this link

If had a Code like this :

   <?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <section name="service.tasks" type="HRNetTaskService.TaskConfigurationSection, TaskService" />

  </configSections>
  <connectionStrings>
    <add name="Production" connectionString="" providerName="System.Data.SqlClient" />
  </connectionStrings>
  <appSettings>
    <add key="RestServiceUrl" value="XXXXXXXXXXX" />   
  </appSettings>

  <service.tasks>
    <tasks>
      <!-- App.config specified tasks are always recurring starting from whenever The Service first schedules it -->

      <task name="ExpireRequirements" taskName="ExpireRequirements" recurrenceFactor="1" recurrenceType="Days" executeTime="01:00">
        <parameters>
          <param key="entityID">00000000-0000-0000-0000-000000000E01</param>
        </parameters>
      </task>
      <task name="RequestExpiredRequirementsTask" taskName="RequestExpiredRequirementsTask" recurrenceFactor="1" recurrenceType="Days" executeTime="01:00">
        <parameters>
          <param key="entityID">00000000-0000-0000-0000-000000000E01</param>
          <param key="CopyBatchSize">50</param>
        </parameters>
      </task>
      <task name="UpdateRequirementChecksEffectiveDateTask" taskName="UpdateRequirementChecksEffectiveDateTask" recurrenceFactor="1" recurrenceType="Days" executeTime="01:00">
        <parameters>
          <param key="entityID">00000000-0000-0000-0000-000000000E01</param>
        </parameters>
      </task>     
      <task name="PeoplenetMatchAssignmentRefresh" taskName="PeoplenetMatchAssignmentRefresh">
        <parameters>
          <param key="checkInterval">300000</param>
          <param key="batchCount">100</param>
        </parameters>
      </task>
    </tasks>
  </service.tasks>

  <system.net>
    <connectionManagement>
      <add address="*" maxconnection="48" />
    </connectionManagement>
  </system.net>
  <system.runtime.remoting>
    <application name="server">
      <channels>
        <channel ref="tcp" port="8090">
          <serverProviders>
            <formatter ref="soap" typeFilterLevel="Full" />
            <formatter ref="binary" typeFilterLevel="Full" />
          </serverProviders>
        </channel>
      </channels>
    </application>
  </system.runtime.remoting>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  </startup> 

</configuration>

How to change the values inside the service.tasks tag and system.runtime.remoting tags.

3

1 Answer 1

3

Refer to this code to update entityID value in ExpireRequirements task element (specify config file path in argument:-webCofig xxx):

param(
[string]$webConfig
)
 $doc = (Get-Content $webConfig) -as [Xml]
 $root=$doc.get_DocumentElement()
 $ExpireRequirementsTask=$root."service.tasks"."tasks"."task" | where {$_.name -eq 'ExpireRequirements'}
 Write-Output $ExpireRequirementsTask
 $ExpireRequirementsTaskEntityID=$ExpireRequirementsTask."parameters"."param" | where {$_.key -eq 'entityID'}
 Write-Output $ExpireRequirementsTaskEntityID
 $ExpireRequirementsTaskEntityID.InnerText="11111111-0000-0000-0000-000000000E01"
 $doc.Save($webConfig)
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.