首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PowerShell : PSSession内的ConvertTo-SecureString和ConvertFrom-SecureString问题

PowerShell : PSSession内的ConvertTo-SecureString和ConvertFrom-SecureString问题
EN

Stack Overflow用户
提问于 2020-03-25 02:43:34
回答 2查看 808关注 0票数 0

我尝试在两个Powershell脚本中使用ConvertTo-和ConvertFrom-SecureString,但我遇到了一个问题,即使用动态配置文件生成加密的密码,然后在同一台机器上使用相同的配置文件读取/解密它们。

我的脚本要求交互式用户(IU)键入任务用户(TU)的凭据。逻辑是在IU的powershell会话中为TU创建PSSession,从纯文本(或读主机)生成安全字符串,并将其转换为常规字符串以将其导出到文件。

代码语言:javascript
复制
$scriptUser = Read-Host "Entrez le nom de l'utilisateur qui va chiffrer/utiliser le fichier de mot de passe (domain\user)"
$scriptCredential = Get-Credential -Message "Veuillez entrer le mot de passe de l'utilisateur $scriptUser" -User $scriptUser

$Crypt = New-PSSession -Credential $scriptCredential -ComputerName localhost
if ($Crypt)
{
    Enter-PSSession $Crypt
    $Texte = "JULIEN"
    ConvertTo-SecureString $Texte -AsPlainText -Force | ConvertFrom-SecureString | Set-Content -Path C:\PathToFile\testcrypt_adm_task.txt
    Exit-PSSession
}

但是当我尝试通过TU (交互式或任务调度程序)使用ConvertFrom-SecureString读取文件内容时:不可能!

代码语言:javascript
复制
> PS C:\PathToFile> Get-Content .\testcrypt_adm_task.txt |
> convertto-securestring convertto-securestring : Key not valid for use
> in specified state. At line:1 char:40
> + Get-Content .\testcrypt_adm_task.txt | convertto-securestring
> +                                        ~~~~~~~~~~~~~~~~~~~~~~
>     + CategoryInfo          : InvalidArgument: (:) [ConvertTo-SecureString], CryptographicException
>     + FullyQualifiedErrorId : ImportSecureString_InvalidArgument_CryptographicError,Microsoft.PowerShell.Commands.Conv    ertToSecureStringCommand

如果我对IU执行完全相同的命令,没有问题,就好像用于加密Securestring的密钥绑定到了IU,而不是TU。

关键是我真的很难理解PSSession真正加载了什么,因为我的IU而不是TU可以读取安全字符串,即使加密操作是在具有TU证书的PSSession中完成的……

Enter-PSSession不是意味着真正进入一个会话,以及所有的环境吗?关于Enter-PSSession加载的环境,我是否遗漏了什么?

谢谢你的帮忙

EN

回答 2

Stack Overflow用户

发布于 2020-03-25 06:44:47

Import-clixml是将PowerShell对象保存到磁盘的唯一方法。Export-clixml允许您将文件导入到PowerShell对象中。

尝试将"| Set-Content -Path C:\PathToFile\testcrypt_adm_task.txt“更改为"| Export-Clixml -Path C:\PathToFile\testcrypt_adm_task.txt”

当您准备好阅读它时,使用$mysavedpassword = import-clixml c:\PathToFile\testcrypt_adm_task.txt

票数 0
EN

Stack Overflow用户

发布于 2021-02-19 16:40:52

可能您使用不同的用户创建了secure-string,并试图使用不同的用户转换回纯文本。请使用相同的用户使其安全,并将其转换回纯文本。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60837357

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档