Aller au contenu
Contact us

FAQ : PowerShell

Tous les groupes de questions : FAQ IDE

Puis-je exécuter mes propres scripts PowerShell dans une tâche ?

Oui, dans une étape PowerShell. Pendant son exécution, le script peut lire des Variables SMART Migration, les définir et écrire dans le journal de session. Votre propre script s'exécute quelle que soit la stratégie d'exécution ; un script qui charge un module tel que PnP.PowerShell nécessite RemoteSigned : dans PowerShell lancé en tant qu'administrateur, Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine.

En savoir plus : PowerShell · Exemples PowerShell

Comment transmettre des Variables entre une tâche et mon script ?

$MyVariable = Get-FlowVariable -Name "[<My Variable>]" lit une Variable SMART Migration dans PowerShell, et Set-FlowVariable -Name "[<My Variable>]" -Value $MyVariable en réécrit une. Les Variables de type Password peuvent être lues (leur valeur n'est pas écrite dans la console), mais pas définies.

En savoir plus : Get-FlowVariable · Set-FlowVariable

Comment écrire dans le journal de session depuis un script ?

Avec Add-FlowLogRow -LogType "Information" -Message "…". Cette commande est asynchrone : vous suivez donc la progression du script dans l'onglet Tâche de l'étape pendant son exécution. -LogType peut aussi valoir Warning, Error (traité selon le paramètre On error de l'étape), StopJob, qui arrête la tâche, ou ExitGroup, qui quitte l'étape Groupe en cours.

En savoir plus : Add-FlowLogRow

Comment me connecter à SharePoint depuis un script ?

Avec Connect-PnPOnline, en utilisant une connexion SharePoint de SMART Migration : SMART Migration génère les commandes qui récupèrent ses informations d'authentification (Get-FlowSPConnection avec -Property Url, AppId ou AppSecret) et construit à partir d'elles l'instruction Connect-PnPOnline.

En savoir plus : Connect-PnPOnline depuis SMART Migration · Exemples PowerShell

Que dois-je installer pour PnP PowerShell ?

PowerShell 7.2 ou une version ultérieure (winget install --id Microsoft.Powershell --source winget dans PowerShell exécuté en tant qu'administrateur), puis le module PnP.PowerShell, ainsi qu'une stratégie d'exécution qui permet le chargement du module : RemoteSigned, avec Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine (Restricted, la valeur par défaut de Windows 11, le bloque). Visual Studio Code n'est nécessaire que pour personnaliser les modules.

En savoir plus : Installation de PnP.PowerShell