gpt4 book ai didi

xml - 使用 Powershell 更新 Azure 服务配置文件

转载 作者:行者123 更新时间:2023-12-02 23:49:11 24 4
gpt4 key购买 nike

我正在尝试编写一个 powershell 脚本来更新下面的每个 DiagnosticsConnectionString 和 DataConnectionString 值,但我似乎无法使用

找到每个单独的角色节点
$serviceconfig.ServiceConfiguration.SelectSingleNode("Role[@name='MyService_WorkerRole']")

执行echo $serviceconfig.ServiceConfiguration.Role为我列出了两个角色节点,所以我知道它到目前为止正在工作,但在那之后我没有取得太大成功。

其中 $serviceConfig 包含以下 XML:

<?xml version="1.0"?>
<ServiceConfiguration serviceName="MyService" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration">
<Role name="MyService_WorkerRole">
<Instances count="1" />
<ConfigurationSettings>
<Setting name="DiagnosticsConnectionString" value="really long string" />
<Setting name="DataConnectionString" value="really long string 2" />
</ConfigurationSettings>
</Role>
<Role name="MyService_WebRole">
<Instances count="1" />
<ConfigurationSettings>
<Setting name="DiagnosticsConnectionString" value="really long string 3" />
<Setting name="DataConnectionString" value="really long string 4" />
</ConfigurationSettings>
</Role>
</ServiceConfiguration>

最佳答案

我会跳过 XPath,只使用 PowerShell 进行过滤。

$serviceConfig.ServiceConfiguration.Role |
? { $_.name -eq 'MyService_WorkerRole' } |
% { $_.ConfigurationSettings.Setting } |
? { $_.name -like 'Diag*' } |
% { $_.value = 'sup' }

此时如果我们做这样的事情...

$serviceConfig.ServiceConfiguration.Role[1].ConfigurationSettings.OuterXml

我们会得到这个...

<ConfigurationSettings xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration">
<Setting name="DiagnosticsConnectionString" value="sup" />
<Setting name="DataConnectionString" value="really long string 2" />
</ConfigurationSettings>

关于xml - 使用 Powershell 更新 Azure 服务配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2467187/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com