È un po 'difficile decifrare ciò che stai cercando di fare ...
Modificare; come menzionato da Ryan, attualmente lo stai già specificando come una stringa ...
Ma in alcuni codici, ho usato la seguente funzione quando utilizzo Read-Host e SecureStrings
function AskSecureQ ([String]$Question, [String]$Foreground="Yellow", [String]$Background="Blue") {
Write-Host $Question -ForegroundColor $Foreground -BackgroundColor $Background -NoNewLine
Return (Read-Host -AsSecureString)
}
Nel tuo caso, lo chiameresti nel modo seguente;
Param (
[Parameter(Mandatory=$True)]
[string]$FileLocation,
[Parameter(Mandatory=$True)]
[string]$password = AskSecureQ "Type the password you would like to set all the users to"
)
EDIT: dati commenti, e solo per il gusto di farlo ... ecco un metodo alternativo usato per convertire la stringa sicura sopra in testo normale all'interno di 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) )
}
Lo useresti così;
$PWPlain = ConvertTo-PlainText $password
Riassumendo, prendi la password in maschera, è una stringa sicura, puoi quindi scomporla in testo normale per usarla altrove, un vero esempio di parola sarebbe se alcuni programmi CLI accettano solo password che vengono passate in loro come testo semplice, questo aiuta con l'automazione in cui non si desidera codificare una password nel proprio script.