Meilleur auteur de réponses
Action powershell sur ExhangeOnline en tâche planifiée - connexion

Question
-
Bonjour à tous,
Actuellement en pleine migration Exchange 2013 local vers office 365, je m'interroge actuellement sur la possibilité d'effectuer des actions planifiées et automatisées sur Exchange Online.
Sur notre Exchange onpremise, on avait paramétré certaines actions Powershell en tâche planifiées (par exemple récupérer la taille des BAL, activer/désactiver ActiveSync à certaines heures, archivages de BAL, etc...)
Le problème c'est que pour ouvrir une session powsershell sur Exchange Online, on est obligé de s'authentifier manuellement suite à la commande suivante :
$UserCredential = Get-Credential$Session
New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection
As t'on moyen d'automatiser cela, en pré rentrant un couple identifiant/mdp par exemple ?
Le but serait de pouvoir continuer à utiliser nos tâches planifiées sur Exchange Online.
Merci d'avance,
Réponses
-
C'est possible, mais je te le déconseille : l'enregistrement du couple user/password, même "chiffré", reste réversible. En cas de corruption du serveur, tout office365 est perdu.
Tu peux sécuriser un peu plus en t'appuyant sur l'utilisation de KeePass : il existe des solutions pour ouvrir la base KeePass depuis PowerShell et récupérer un couple user/pass (il suffit alors de convertir le texte en SecureString). Voir ici : https://archive.codeplex.com/?p=keepassps
- Modifié Loïc Veirman mercredi 14 février 2018 20:04
- Marqué comme réponse shinobitom mercredi 21 février 2018 13:20
-
Bonjour,
Je rejoins Loic sur la partie sécurité.
Sinon si vous souhaitez vraiment le faire voici le bout de code.$RemoteUser = "email@company.com" $RemotePWord = ConvertTo-SecureString –String "MyPassword" –AsPlainText -Force $UserCredential = New-Object –TypeName System.Management.Automation.PSCredential –ArgumentList $RemoteUser, $RemotePWord New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection
Laute El Manssouri | Blog: http://technet365.fr
- Marqué comme réponse shinobitom mercredi 21 février 2018 13:20
Toutes les réponses
-
C'est possible, mais je te le déconseille : l'enregistrement du couple user/password, même "chiffré", reste réversible. En cas de corruption du serveur, tout office365 est perdu.
Tu peux sécuriser un peu plus en t'appuyant sur l'utilisation de KeePass : il existe des solutions pour ouvrir la base KeePass depuis PowerShell et récupérer un couple user/pass (il suffit alors de convertir le texte en SecureString). Voir ici : https://archive.codeplex.com/?p=keepassps
- Modifié Loïc Veirman mercredi 14 février 2018 20:04
- Marqué comme réponse shinobitom mercredi 21 février 2018 13:20
-
Bonjour,
Je rejoins Loic sur la partie sécurité.
Sinon si vous souhaitez vraiment le faire voici le bout de code.$RemoteUser = "email@company.com" $RemotePWord = ConvertTo-SecureString –String "MyPassword" –AsPlainText -Force $UserCredential = New-Object –TypeName System.Management.Automation.PSCredential –ArgumentList $RemoteUser, $RemotePWord New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection
Laute El Manssouri | Blog: http://technet365.fr
- Marqué comme réponse shinobitom mercredi 21 février 2018 13:20
-