Powershell 错误:ConvertTo SecureString:密钥在指定状态下无效

Powershell 错误:ConvertTo SecureString:密钥在指定状态下无效,powershell,Powershell,我们有一个脚本,用于将密码存储到文本文件中,然后邮件脚本从密码文本文件中调用/重用该密码以运行主脚本。 更改密码后,我发现以下错误 Script used to generate secure password: "Password" | ConvertTo-SecureString -AsPlainText -Force | ConvertFrom-SecureString | Out-File "D:\Scripts\Password.txt" 我们现在得到的错误是: At C:\Scri

我们有一个脚本,用于将密码存储到文本文件中,然后邮件脚本从密码文本文件中调用/重用该密码以运行主脚本。 更改密码后,我发现以下错误

Script used to generate secure password:
"Password" | ConvertTo-SecureString -AsPlainText -Force | ConvertFrom-SecureString | Out-File "D:\Scripts\Password.txt"
我们现在得到的错误是:

At C:\Scripts\Lync_HealthCheck_Prod.ps1:1199 char:82
+ $PasswrdS = Get-Content C:\Windows\System32\SecStrng.sec | convertto-securest
ring <<<<
    + CategoryInfo          : InvalidArgument: (:) [ConvertTo-SecureString], C
   ryptographicException
    + FullyQualifiedErrorId : ImportSecureString_InvalidArgument_Cryptographic
   Error,Microsoft.PowerShell.Commands.ConvertToSecureStringCommand

New-Object : Exception calling ".ctor" with "2" argument(s): "Cannot process ar
gument because the value of argument "password" is null. Change the value of ar
gument "password" to a non-null value."
At C:\Scripts\Lync_HealthCheck_Prod.ps1:1218 char:27
+  $Creds1      = New-Object <<<<  System.Management.Automation.PSCredential -A
rgumentList $CheckUser1, $PasswrdS
    + CategoryInfo          : InvalidOperation: (:) [New-Object], MethodInvoca
   tionException
    + FullyQualifiedErrorId : ConstructorInvokedThrowException,Microsoft.Power
   Shell.Commands.NewObjectCommand
位于C:\Scripts\Lync\u HealthCheck\u Prod.ps1:1199 char:82
+$PasswrdS=Get Content C:\Windows\System32\SecStrng.sec | convertto securest

ring错误消息声称您正在处理
null
值:

无法处理参数,因为参数“password”的值为空

因此,请仔细检查您是否确实从密码文件中读取了正确的内容。
C:\Windows\System32
中的位置提示进程从错误的位置查找密码文件

$PasswrdS = Get-Content C:\Windows\System32\SecStrng.sec

错误消息声称您正在处理
null
值:

无法处理参数,因为参数“password”的值为空

因此,再次检查您是否确实从密码文件中读取了良好的内容。
C:\Windows\System32
中的位置提示进程正在错误的位置查找它

$PasswrdS = Get-Content C:\Windows\System32\SecStrng.sec

完全相同的问题,因为sec文件上的NTFS权限不匹配。获取内容正常,但不调用ConvertToSecureString。 创建密码文件的用户不是执行程序的用户。 我为两个用户对该文件进行了完全控制。现在没事了


更准确地说:我连接了运行、删除和重新创建包含凭据的安全文件所需的帐户。由于sec文件上的NTFS权限不匹配,此文件仅适用于此帐户

完全相同的问题。获取内容正常,但不调用ConvertToSecureString。 创建密码文件的用户不是执行程序的用户。 我为两个用户对该文件进行了完全控制。现在没事了


更准确地说:我连接了运行、删除和重新创建包含凭据的安全文件所需的帐户。根据错误消息,此文件仅适用于此帐户

@Christian.K。它明确表示正在从system32读取
SecStrng.sec
文件,并通过管道传输到
ConvertTo SecureString
@Christian.K,而不是根据错误消息。它明确表示正在从system32读取
SecStrng.sec
文件并通过管道传输到
ConvertTo SecureString
。这与
密钥在指定状态下无效有什么关系
?这与
密钥在指定状态下无效有什么关系