1

스크립트를 특정 사용자로 실행할 때 오류가 발생하지만 내 사용자 계정으로는 오류가 발생합니다. Windows 2012R2입니다. Powershell 모듈이 설치되어 얼마 동안 사용되었지만 다른 계정을 사용하면 실행되지 않습니다. 내가 실행할 수 있었기 때문에 스크립트 내에서 누락 된 파일이나 오류가있는 명령을 배제 할 수있는 것 같습니다. 나머지 스크립트는 이것에 의존합니다. 또한 자동화를 통해 명령을 실행하는 서비스 계정을 사용하여 convertto-securestring 옵션을 실행했지만 여전히 작동하지 않습니다.ConvertTo-SecureString 키가 지정된 상태에서 사용하기에 적합하지 않습니다.

이것은 내가이

line 4 $pwdTxt = Get-Content "E:\temp\ExportedPassword.txt" 
line 5 $securePwd = $pwdTxt | ConvertTo-SecureString 

ConvertTo-SecureString : Key not valid for use in specified state. 
At E:\temp\get_user_cliffsv4.ps1:5 char:24 
+ $securePwd = $pwdTxt | ConvertTo-SecureString 
+      ~~~~~~~~~~~~~~~~~~~~~~ 
+ CategoryInfo   : InvalidArgument: (:) [ConvertTo-SecureString], 
CryptographicException 
+ FullyQualifiedErrorId : 
ImportSecureString_InvalidArgument_CryptographicError,Microsoft.PowerShell. 
Commands.ConvertToSecureStringCommand 

내가 통해 스크립트를 여러 번 실행 한 사용자 B로 실행하려고 후 오류 메시지가

$password = "password" 
$secureStringPwd = $password | ConvertTo-SecureString -AsPlainText -Force 
$secureStringText = $secureStringPwd | ConvertFrom-SecureString 
Set-Content "E:\temp\ExportedPassword.txt" $secureStringText` 

암호를 변환하기 위해 실행 된 보안 암호 스크립트입니다 자동화 소프트웨어 였지만 테스트 할 때이 오류로 인해 개인 계정으로 명령을 실행하고 테스트를 완료 할 수 있도록이 문제를 해결하기 위해 해당 옵션을 호출했습니다. 제 질문은 제가 사용하고있는 계정이 특정 권리가 누락 되었습니까? 해당 계정 아래에 Powershell 확장을 설치해야합니까? 아니면 PS 또는 서비스 계정에서이 스크립트를 실행할 수 있도록 서버에서 설정하거나 변경할 수 있습니까? 미리 감사드립니다!

+0

; SecureStrings, Credentials 등은 기본적으로 사용자 특정 키를 사용하여 암호화되므로 서로 다른 사용자 계정간에 공유 (또는 : 유출) 될 수 없습니다. –

+0

예, 시스템 계정으로 작업하는 것이므로 사용자가 실행하는 서비스보다 좋습니다. 우리는 이러한 방식으로 서비스를 실행하는 각 호스트에 키를 생성하는 프로세스를 갖추고 있습니다. –

답변

0

이 문제는 서비스 계정의 명령 실행 기능이 아니기 때문에 시스템 계정에서 명령을 실행 중이므로 전달하는 보안 암호를 사용할 수 없었습니다. 스크립트를 시스템 계정을 사용하여 실행하도록 예약 한 스크립트를 제공하는이 링크를 발견하여 암호 파일을 올바르게 사용하고 자격 증명을 올바르게 전달하는 시스템에서 파일을 생성했습니다. 코드를 호스팅 한 Keith Francis와 사이트에 감사 드리며 항상 지원을 제공하는 지역 사회에 매우 감사드립니다. 당신이 자신을 발견 한 것처럼

https://community.spiceworks.com/scripts/show/3517-use-powershell-securestring-with-windows-system-account