【问题标题】:Edit web.config using get-content and replace in powershell使用 get-content 编辑 web.config 并在 powershell 中替换
【发布时间】:2021-04-11 22:09:52
【问题描述】:

我是 Powershell 命令的新手,我使用 get-content 然后 .replace 在服务器上编辑 web.config 的一部分,我想知道这种编辑 web.config 的方法是否安全?

谢谢

【问题讨论】:

  • 使用字符串方法(例如 -Replace)直接查看和插入序列化字符串(例如 XML)是一个坏主意。相反,您应该使用相关的解析器来搜索和替换具有更简单语法并处理几个陷阱的项目。与其他几个问题一样,此答案应涵盖您的一般问题:Powershell regex for replacing text between two strings

标签: c# asp.net powershell server web-config


【解决方案1】:

一句话,没有。

web.config 是一个 XML 文件,应作为 XML 文档进行编辑。文件内容是文本(而不是二进制),但问题是必须维护 XML 元素结构。将文件编辑为文本容易出错,例如混淆打开/关闭元素顺序、丢失元素和编码保留的字符。

如果一个人在编辑 XML 时犯了一个错误,因为它是一个普通的文本文件,任何期望它是一个有效的 XML 文档的应用程序都会抛出一个错误,因为该文件是无效的。

老实说, 可以更新 XML 配置,因为它是一个文本文件。不过,为什么要冒险呢?由于 .Net 以及 Powershell 能够解析和处理 XML,将配置文件加载为 XML 文档,更新内容并保存。通过将其作为 XML 文档进行处理,.Net 库将关心如何处理该文件,以便结果始终是一个有效的 XML 文件。

existing的问题,所以,请尝试搜索“powershell web.config $setting-you-want-to-change”以了解类似情况。

另外,配置可以通过web administration cmdlets更新,例如添加SSL settings

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多