당신이하려는 일을 해독하는 것은 조금 어렵습니다 ...
편집하다; Ryan이 언급했듯이 현재 이미 문자열로 지정하고 있습니다 ...
그러나 일부 코드에서는 Read-Host 및 SecureStrings를 사용할 때 다음 함수를 사용했습니다.
function AskSecureQ ([String]$Question, [String]$Foreground="Yellow", [String]$Background="Blue") {
Write-Host $Question -ForegroundColor $Foreground -BackgroundColor $Background -NoNewLine
Return (Read-Host -AsSecureString)
}
귀하의 경우 다음을 수행하여 전화하십시오.
Param (
[Parameter(Mandatory=$True)]
[string]$FileLocation,
[Parameter(Mandatory=$True)]
[string]$password = AskSecureQ "Type the password you would like to set all the users to"
)
편집 : 주어진 의견과 그 지옥을 위해 ... 여기 위의 안전한 문자열을 Powershell 내에서 일반 텍스트로 변환하는 데 사용되는 대체 방법이 있습니다.
# Taking a secure password and converting to plain text
Function ConvertTo-PlainText( [security.securestring]$secure ) {
$marshal = [Runtime.InteropServices.Marshal]
$marshal::PtrToStringAuto( $marshal::SecureStringToBSTR($secure) )
}
당신은 이것을 이렇게 사용할 것입니다;
$PWPlain = ConvertTo-PlainText $password
너무 요약하면, 당신은 마스크로 암호를 취하고, 안전한 문자열입니다, 그리고 다른 곳에서 사용하기 위해 이것을 일반 텍스트로 나눌 수 있습니다. 실제 CLI 예제는 특정 CLI 프로그램이 암호를 일반 텍스트로 전달하는 것만 받아들이는 경우입니다. 스크립트에 암호를 하드 코딩하고 싶지 않은 자동화를 도와줍니다.