我正在使用Powershell腳本從一個文件中讀取一個ssh密鑰和已知的主機,並將其寫入另一個文件。如何使用Powershell中的New-Item cmdlet將SSH私鑰寫入文件?
我閱讀
$SshPrivateKey = Get-Content 'ssh-keys\id_rsa'
關鍵然後我寫與
New-Item -path $SshKeysDir -Name $SshPrivateKeyFile -Value $SshPrivateKey -ItemType file -force
這正常使用公鑰的newfile中。但出於某種奇怪的原因,它不適用於私鑰。新的文件只有
System.Object[]
作爲一種變通方法我目前使用
$SshPrivateKey > $testpath
其正確寫入文件結束。也寫作內容到控制檯呈現預期的私鑰
Write-Output $SshPrivateKey
什麼最困擾我的是,它適用於其他文件,如公鑰或已知主機的事實。只是不用於私鑰文件。 的公鑰工作命令如下
New-Item -path $SshKeysDir -Name $SshPublicKeyFile -Value $SshPublicKey -ItemType file -force
一個區別我看到的是,公共密鑰是公開密鑰的情況下,多與單行。
任何人都可以點亮這個神祕的東西嗎?
如果你正在用'Get-Content'來閱讀,你爲什麼不用'Set-Content'編寫它?如果意圖是複製文件,爲什麼不使用'Copy-Item'? – Remko
感謝您的提示!我對Powershell非常陌生,並且我不瞭解Set-Content。只要輸入來自實際上可能在我的用例中更改的文件,Copy-Item就可能是一個很好的解決方案。 –