Es ist ein wenig schwer zu entziffern, was Sie versuchen zu tun ...
Bearbeiten; Wie von Ryan erwähnt, geben Sie es derzeit bereits als Zeichenfolge an ...
In einigen Codes habe ich jedoch die folgende Funktion verwendet, wenn ich Read-Host und SecureStrings verwendet habe
function AskSecureQ ([String]$Question, [String]$Foreground="Yellow", [String]$Background="Blue") {
Write-Host $Question -ForegroundColor $Foreground -BackgroundColor $Background -NoNewLine
Return (Read-Host -AsSecureString)
}
In Ihrem Fall würden Sie es wie folgt aufrufen:
Param (
[Parameter(Mandatory=$True)]
[string]$FileLocation,
[Parameter(Mandatory=$True)]
[string]$password = AskSecureQ "Type the password you would like to set all the users to"
)
BEARBEITEN: Gegebene Kommentare, und nur zum Teufel ... hier ist eine alternative Methode, um die obige sichere Zeichenfolge in Powershell in einfachen Text umzuwandeln.
# Taking a secure password and converting to plain text
Function ConvertTo-PlainText( [security.securestring]$secure ) {
$marshal = [Runtime.InteropServices.Marshal]
$marshal::PtrToStringAuto( $marshal::SecureStringToBSTR($secure) )
}
Sie würden es so verwenden;
$PWPlain = ConvertTo-PlainText $password
Zusammenfassend lässt sich sagen, dass Sie das Kennwort maskiert verwenden. Es ist eine sichere Zeichenfolge. Sie können es dann zur Verwendung an anderer Stelle in einfachen Text zerlegen. Ein Beispiel für ein echtes Wort wäre, wenn bestimmte CLI-Programme nur Kennwörter akzeptieren, die als einfacher Text an sie übergeben werden Hilft bei der Automatisierung, bei der Sie kein Kennwort fest in Ihr Skript codieren möchten.