0

現在、ランダムなパスワードを生成するスクリプトがあり、別の関数を使用して、さまざまなタスクのためにこのパスワード リストから読み取ります。これらのパスワードを使用している間、変数 let's call に渡されます$password。そう、

$password = FindPassword "blah"

印刷する$passwordと、次のように返されます。Q@48$$!y@&$^

これに関する問題は、それを使用してファイル内の単語を置き換えると、その単語の$passwordいずれかが欠落していることです$Q@48$!y@&$^

置換に使用しているコードは次のとおりです。

(Get-Content $Some_File) |
    Foreach-Object {$_ -replace "PASSWORD","${Password}"} | Set-Content $Some_File

2 つの $$ を連続して表示する方法を知っている人はいますか? 特殊文字が適切に処理されるように、次のようなものを使用しようとしましたが、 $ を機能させることができません:

$password = $password.Replace("`^","`^")
$password = $password.Replace("`@","`@")
$password = $password.Replace("`&","`&")
$password = $password.Replace("`!","`!")
$password = $password.Replace("\`$","\`$")

また、

$password = $password.Replace("`$","``$")

動作しますが、次回パスワードが異なる場合、それはこの特定の例にのみ固有のものです。

4

1 に答える 1