不是新编码,但我之前一直在使用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>
你走在正确的轨道上,但你并不是说你有错误或表现出来。然而,根据您迄今为止的经验,我确信您已经知道PowerShell提供了用于处理XML的cmdlet。
用---看他们
Get-Command -Name '*xml*' | ft -a
或使用---从MS PowerShellGallery.com获取其他XML模块
Find-Module -Name '*xml*' | ft -a
---并安装符合您所需目标的那个。
当然,有很多关于这个主题的例子和视频。搜索“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')
甚至只是直接在IIS服务器上使用WebAdministration module。
您应该查看AppDynamics代理安装PowerShell扩展:https://www.appdynamics.com/community/exchange/extension/dotnet-agent-installation-with-remote-management-powershell-extension/
它应该能够处理您尝试执行的操作而无需手动生成xml,请检查pdf以获取高级选项并阅读有关Add-IIS Application Monitoring cmdlet的信息
它不能做的是更新的东西,如“多业务应用程序”和“自定义节点名称”配置。 (你也无法在安装向导中执行此操作)