我在PS中編寫了一個緩存用戶提供的密碼的函數。它通過加密密碼並將其保存到磁盤來完成此操作,然後將加密密碼和密鑰作爲安全字符串保存在全局變量中。這樣下次調用該函數時,它就可以訪問該密鑰。在x分鐘後,作業從磁盤刪除文件,並且如果會話關閉,加密密鑰將丟失。PowerShell全局範圍的替代
通過我的代碼運行PSScriptAnalyzer它是(正確)抱怨使用全局變量。這是一個問題,因爲在某些情況下,我可能很想將其推送到存儲庫,所以我不能忽略該錯誤。
我也不想將密鑰保存到磁盤,因爲在PS會話結束時不會清理密鑰。
有沒有更合適的地方我可以存儲這些數據? (當會話關閉,將獲得擦拭)
ETA
我正在尋找一個替代品在全球範圍內存儲數據,不會跨越PowerShell會話持續。即當我關閉窗口時,數據丟失。我已經在磁盤上加密了數據,我想在會話結束時丟棄加密密鑰。
你可以嘗試註冊表 –
@KirillPashkov,將有同樣的問題,因爲文件系統,它是不是抹在會議結束 - 所以這將是可能得到的註冊表項,並解密文件。 –
使用'Export-CliXML':[「Export-CliXml cmdlet使用Windows Data Protection API加密憑證對象,這可以確保只有您的用戶帳戶才能解密憑證對象的內容。」](https:// technet .microsoft.com/en-us/library/hh849916.aspx) – TessellatingHeckler