将凭据存储在Powershell SecureString中的磁盘上有多危险?

基本上,我想cachingNew-PSSession所需的凭据,并将它们提供给脚本,这样他们就不用唠叨人了。

如果我使用export-clixml或类似的方式在磁盘上存储PSCredential,那么添加的风险有多大,而不是保留在会话variables中?

PSCredential使用该机器私钥对string进行encryption。 encryption的数据与运动时的静态保护级别相同。 encryption级别取决于正在使用的证书,因此请检查您的环境的机器自动注册证书模板(如果使用的话)。 或者,您可以只查看相关机器上的证书。

话虽如此, string可以很容易地解密与PowerShell的一个class轮(使用.NET而不是内置的cmdlet)。 所有人需要的是访问系统和文件。 我强烈build议你看看其他的select,如本地托pipe的密码pipe理工具。

从访问angular度来看,你的服务器如何被locking? 谁有权访问服务器,如果有人获得该密码,可以做些什么? 大多数人可以阅读你的脚本,找出密码的用途,最终将其用于恶意目的。 即使其encryption。

如果是我,我会看几个不同的select:

  1. 如果您还没有这样做,请将脚本作为具有所需凭据的计划任务运行。 如果这是不可行的,因为它是一种不同types的凭证。 选项2/3将是更优选的。

    1. 看看像“秘密服务器” http://thycotic.com/products/secret-server/这种types的解决scheme有API,所以你可以从API的访问凭据。

    2. 有像“JAMS” http://www.jamsscheduler.com/这样的工具,也可以存储凭据和运行任务/脚本作为特定的帐户。 你也可以做一些事情,比如build立工作stream程。