เป็นการยากที่จะถอดรหัสสิ่งที่คุณพยายามทำ ...
แก้ไข; เช่นที่ถูกกล่าวถึงโดย 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 บางโปรแกรมยอมรับรหัสผ่านที่ถูกส่งผ่านเป็นข้อความธรรมดาเท่านั้น ช่วยด้วยระบบอัตโนมัติที่คุณไม่ต้องการรหัสยากรหัสผ่านลงในสคริปต์ของคุณ ..