আপনি যা করার চেষ্টা করছেন তা বোঝা কিছুটা শক্ত ...
সম্পাদনা করুন; রায়ান যেমন উল্লেখ করেছে, আপনি ইতিমধ্যে এটি ইতিমধ্যে একটি স্ট্রিং হিসাবে নির্দিষ্ট করছেন ...
তবে কিছু কোডে, আমি পড়ুন-হোস্ট এবং সিকিউরস্ট্রিং ব্যবহার করার সময় নিম্নলিখিত ফাংশনটি ব্যবহার করেছি
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"
)
সম্পাদনা: মন্তব্য দেওয়া হয়েছে, এবং কেবল এটির জন্যই ... এখানে উপরের সুরক্ষিত স্ট্রিংটিকে পাওয়ারশেলের অভ্যন্তরে সরল পাঠ্যে রূপান্তর করার জন্য একটি বিকল্প পদ্ধতি ব্যবহার করা হয়েছে;
# 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
খুব সংক্ষিপ্তসার হিসাবে, আপনি পাসওয়ার্ডটি মুখোশযুক্ত করে নিন, এটি একটি সুরক্ষিত স্ট্রিং, আপনি অন্য কোথাও ব্যবহারের জন্য এটি সরল পাঠ্য হিসাবে ভেঙে ফেলতে পারেন, সত্যিকারের শব্দের উদাহরণ হ'ল যদি নির্দিষ্ট সিএলআই প্রোগ্রামগুলি কেবল পাসওয়ার্ডগুলিকে কেবল সরল পাঠ হিসাবে প্রেরণ করে তবেই এটি গ্রহণ করে অটোমেশনে সহায়তা করে যেখানে আপনি আপনার স্ক্রিপ্টে একটি পাসওয়ার্ড হার্ড কোড করতে চান না ..