Как мне обновить агент AppDynamics .net через Powershell? - PullRequest
0 голосов
/ 16 апреля 2019

не новичок в кодировании, но я раньше работал в python, стряхивая ржавчину с моего Powershell и работая с xml.Мы пытаемся автоматизировать развертывание агента AppDynamics .net, и у нас есть часть развертывания, а также обновления.Сейчас я пытаюсь включить конкретные приложения и уровни, работающие на IIS.Итак, опять стряхиваю ржавчину здесь, но я пытаюсь найти простой скрипт для обновления config.xml, чтобы добавить приложение и обновить уровень из IIS.Это не сложный xml-файл, но любая помощь или руководство будут полезны

Просто попытаться найти правильный синтаксис для правильного обновления узлов и аргументов

#Current work
$config = "mylocation\config.xml"
$configuration = $config
[xml]$xml = New-Object XML
$xml.load($configuration)
#what will make this work !!! I have tried a few things but it's been a 
while and I am having to read up on xml again :|
$xml.Save($configuration)

#what I need updated
<?xml version="1.0" encoding="utf-8"?>
<appdynamics-agent xmlns:xsd="http://stuff.com" xmlns:xsi="http://stuff.com">
  <controller host="test.saas.appdynamics.com" port="123" ssl="true" enable_tls12="true">
  <applications> #need to create this
    <application default="true" name="app1" /> #need to add the default='true' if there is more than one app
    <application name="App2"/> #this 
  </applications> #this
    <account name="testacct" password="123456" />
  </controller>
  <machine-agent />
  <app-agents>
    <IIS>
      <applications> #there by default with the default settings 
        <application controller-application="app1" path="/app1path" site="WebSite1"> # need to add this
          <tier name="app1-1" /> #and this
        </application> #this too
        <application controller-application="app2" path="/app2path" site="WebSite2"> #some more
          <tier name="app2-2" /> #you guessed it
        </application> #this as well
      </applications> #ends with this
    </IIS>
  </app-agents>
</appdynamics-agent>

Ответы [ 2 ]

0 голосов
/ 16 апреля 2019

Вы должны проверить установку приложения PowerDhell для агента AppDynamics: https://www.appdynamics.com/community/exchange/extension/dotnet-agent-installation-with-remote-management-powershell-extension/

Он должен иметь возможность обрабатывать то, что вы пытаетесь сделать, без необходимости вручную генерировать xml, проверить расширенные параметры в pdf и прочитать о командлете Add-IISApplicationMonitoring

Что он не может сделать, так это более новые настройки, такие как «несколько бизнес-приложений» и «настраиваемое имя узла». (Что вы не можете сделать в мастере установки)

0 голосов
/ 16 апреля 2019

Вы на правильном пути, но вы не говорите, что у вас есть ошибки или показывает. Тем не менее, исходя из вашего опыта на сегодняшний день, я уверен, что вы уже знаете, что PowerShell предоставляет командлеты для работы с XML.

Смотрите их, используя ---

Get-Command -Name '*xml*' | ft -a  

или получите другие модули XML с MS PowerShellGallery.com, используя ---

Find-Module -Name '*xml*' | ft -a 

--- и установите те, которые соответствуют вашим нужным целям.

И, конечно, есть множество примеров и видео по этой теме. Поиск по «PowerShell, работающему с XML» дает вам много хитов.

Основы данных PowerShell: XML

По большей части то, что вы найдете, очень похоже на то, что вы уже опубликовали. Тем не менее, вы говорите, что хотите добавить узлы / элементы, но этого нет в вашем посте, поэтому что-то вроде приведенного ниже должно помочь.

$xml = [xml](Get-Content C:\file.xml)
$elem = $xml.Configuration.ConfigSections.AppendChild($xml.CreateNode([System.Xml.XmlNodeType]::Element,'section',$null))
$elem.SetAttribute('name','something')
$xml.Save('C:\file.xml')

Или даже просто с помощью модуля WebAdministration на сервере IIS напрямую.

...