Lo so che vi ho già spiegato come ci si connette alla PowerShell, ma è anche vero che farlo spesso nell’arco di una giornata lavorativa potrebbe seriamente mettere alla prova la pazienza del dover inserire ogni volta la propria password, nello script suggerito infatti vi ho detto che basta mettere un “-credential mario.rossi@dominio.tld” per mostrare il popup dove inserire solo la password, e se si automatizzasse anche questa operazione saltando direttamente nella console comandi?
Fattibile, tramite un file testuale che contiene la nostra password ovviamente criptata precedentemente. L’operazione è semplice e subito dopo vi basterà modificare lo script originale suggerito nel mio precedente articolo a riguardo per poter immediatamente lavorare in PowerShell sul vostro Exchange, ecco come fare.
Criptazione della password
La prima operazione da eseguire è salvare la vostra password criptata all’interno di un file testuale che terrete poi nel disco fisso della vostra macchina (o dove preferite) così da farlo raggiungere facilmente dallo script ps1 di collegamento. Per farlo aprite PowerShell e digitate il comando:
$credential = Get-Credential -credential mario.rossi@dominio.tld $credential.Password | ConvertFrom-SecureString | Set-Content c:\pshell\password.txt
Manco a dirlo dovrete cambiare quel “mario.rossi@dominio.tld” con un account amministratore dell’Exchange e quel C:\pshell\ecc. con una cartella realmente esistente dove salvare il file “password.txt” che potrà poi essere utilizzato in seguito.
Modifica dello script di collegamento
A questo punto bisognerà dire allo script di collegamento di utilizzare un utente preciso e la password nel file appena salvato. Ecco il risultato ritoccato:
$User = "mario.rossi@dominio.tld" $PWord = Get-Content C:\pshell\password.txt | ConvertTo-SecureString $Credential = New-Object –TypeName System.Management.Automation.PSCredential –ArgumentList $User, $PWord $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell/ -Credential $Credential -Authentication Basic -AllowRedirection Import-PSSession $Session
Dovrete toccare solo due variabili, ancora una volta si tratta dell’account amministrativo (veri variabile $User) e la posizione del file con la password (vedi $PWord). Eseguendo lo script da PowerShell, a meno di errori, questo si autenticherà immediatamente alla vostra console senza alcun intervento da parte vostra. Potrete ora lanciare i comandi che vi interessano senza più dover inserire utente e password :-)
Anche in questo caso occorrerà ricordarsi di chiudere la sessione (Remove-PSSession) al termine del lavoro e pure stavolta vi ho modificato il documento Wiki così da poter scaricare facilmente il ps1 già pronto (public.gfsolone.com/wiki/doku.php?id=o365:pshellconnect) ;-)
L'articolo potrebbe non essere aggiornato
Questo post è stato scritto più di 5 mesi fa, potrebbe non essere aggiornato. Per qualsiasi dubbio ti invito a lasciare un commento per chiedere ulteriori informazioni! :-)