【问题标题】: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 的方法是否安全?
谢谢
【问题讨论】:
标签:
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。