如何处理密码中的引号。 PowerShell foreach 循环

How to handle quotes in passwords. PowerShell foreach loops

我高低搜索都没有结果。问题是在 AD 中创建多个服务帐户并从 csv 列表中分配随机生成的密码时。如果密码包含单引号或双引号,变量将失败,因为它更改了终止引号。如果一个变量用单引号括起来并且只要里面有偶数个引号,它就可以工作,但是当有奇数个引号时,它总是失败。有没有办法解决这个问题?

问题出在 .CSV 文件上。格式正确的 .CSV 文件会将引号字符转义。

例如示例 .CSV 文件:

UserName,Password
JSmith,"double""quote"
ASmith,single'quote
BSmith,"a space"

如果 .CSV 文件格式不正确,PowerShell 将无能为力。例如我总是使用 Excel 来生成和保存 .CSV 文件,因为它会自动为我转义引号字符。

否则,您将不得不将您的文件视为文本列表,并且您将不得不自己手动解析它。