2011-01-11 5 views
5

Sto provando a connettermi a una condivisione di rete tramite PowerShell. La condivisione di rete è su un dominio diverso, quindi devo fornire le credenziali. Dal momento che New-PSDrive non supporta le credenziali, stavo per utilizzare l'uso netto , ma sono preoccupato di inserire il mio nome utente/password proprio lì in chiaro nello script. Ho forzato ConvertTo-SecureString per creare una stringa sicura dalla mia password e quindi ho usato ConvertFrom-SecureString e memorizzato il risultato in un file. Poi, ho tirato fuori il file come questo e provato uso netto:PowerShell: Come posso connettermi a una cartella di rete su un dominio diverso con nome utente/password memorizzato non in chiaro

$password = Get-Content <locationOfStoredPasswordFile> | ConvertTo-SecureString 
net use q: "\\server\share" $password /user:domain\username 

Ma uso netto non riconosce la stringa protetta.

Qualcuno ha qualche idea su come memorizzare le credenziali in modo che uso netto li possa utilizzare? Grazie!

risposta

7

Ecco due funzioni che uso per crittografare/decifrare le stringhe. Sono stati adattati da un post di powershell.com, ma non ho il link a portata di mano. L'idea è che il tuo file di password memorizzerebbe l'output di Protect-String e poi riconvertirà in una stringa normale, leggerà il file e chiamerà UnProtect-String, quel valore restituito da UnProtect stringa sarebbe la tua variabile $ password.

####################### 
function Protect-String 
{ 
    param([string]$InputString) 
    $secure = ConvertTo-SecureString $InputString -asPlainText -force 
    $export = $secure | ConvertFrom-SecureString 
    write-output $export 

} #Protect-String 

####################### 
function UnProtect-String 
{ 
    param([string]$InputString) 

    $secure = ConvertTo-SecureString $InputString 
    $helper = New-Object system.Management.Automation.PSCredential("SQLPSX", $secure) 
    $plain = $helper.GetNetworkCredential().Password 
    write-output $plain 

} #UnProtect-String 
+1

Brillante, funziona. Grazie mille! – Jeshii