所以基本上我想编写一个Powershell脚本,它将导出最近1天的Windows Server Backup备份日志,将信息格式化为一个漂亮的小表,然后SMTP将其发送到客户本地Exchange之外的外部位置。我有一个可以用于此目的的智能主机,以及凭证等。
但是我不希望以纯文本形式将Pow和Shell中的UN和密码存储起来,或者让脚本以纯文本格式运行。
有解决方法吗?
干杯!
答案 0 :(得分:0)
我设法通过将密码作为安全字符串并保存它来解决类似的问题,作为加密的标准字符串&#34;到一个名为&#34; 帐户的文件。用户 .pwd&#34;其中帐户是与密码关联的帐户的名称,而用户是生成安全字符串的用户(只有此用户才能解密该文件)。< / p>
这与@Keith使用的方法非常相似,如果您在上面的问题评论中遵循链接。下面的方法更容易理解,因为它不直接与[System.Runtime.InteropServices.Marshal]
类一起玩。
更多地涉及从文件内容转换密码,但这是一个逐步完成整个过程的示例:
# Create credential object by prompting user for data
$Credential = Get-Credential
# Encrypt the password to disk
$Credential.Password | ConvertFrom-SecureString | Out-File Account.User.pwd
# Now to read it back again...
$SecureString = Get-Content Account.User.pwd | ConvertTo-SecureString
# Create credential object programmatically
$NewCred = New-Object System.Management.Automation.PSCredential("Account",$SecureString)
# Reveal the password!
$NewCred.GetNetworkCredential().Password
关于这种方法的想法:
更多信息: