File C:\liveedu\AIMPORT\ImportUser.ps1 cannot be loaded. The file C:\liveedu\AI
MPORT\ImportUser.ps1 is not digitally signed. The script will not execute on th
e system. Please see "get-help about_signing" for more details..
Pour cela il suffit de changer le mode de sécurité
Set-ExecutionPolicy Unrestricted
Mais au lancement des scripts maison l’invite de commande oblige l’utilisateur à appuyer sur R
C:\Liveedu\AImport>powershell.exe c:\liveedu\aimport\login.ps1
Security Warning
Run only scripts that you trust. While scripts from the Internet can be useful,
this script can potentially harm your computer. Do you want to run
C:\liveedu\AIMPORT\ImportUser.ps1?
[D] Do not run [R] Run once [S] Suspend [?] Help (default is "D"):
La vérification de sécurité des script se fait au niveau de l’API "Attachment Execution Service" (AES)
Tout fichier téléchargé d’internet ou non signé en exécution passe par service en powershell. La méthode appelée est IAttachmentExecute et ajoute un identifier au fichier. Si le fichier ne détient pas d’identifier signé alors le fichier est considéré comme non sécurisé.
Pou connaitre si un fichier est sécurisé il suffit d’appeler la méthode System.Security.Policy.Zone.CreateFromUrl. qui va nous fournir l’information de la zonede sécurité du fichier.
les fichiers non signés ou téléchargés à partir d’internet son en ZoneId : Internet = 3, scripts dans powershell :ZoneId :
SecurityZone
{
NoZone = -1,
MyComputer = 0,
Intranet = 1,
Trusted = 2,
Internet = 3,
Untrusted = 4,
}
Pour passer les fichier en signé, il faut le mettre en ZoneId 2.
Pour modifier l’identifier du fichier ps1 :
1. Télécharger un fichier powershell exemple le Remote PowerShell CSVParser http://go.microsoft.com/fwlink/?LinkID=142060
· Ouvrir le flux de données Zone.Indentifier avec Notepad :
Démarrer executer la commande suivante :
Une fenêtre notepad s’ouvre avec le titre Parser.Ps1 :Zone.Identifier
notepad c:\MonRepertoire\Parser.Ps1:Zone.Identifier
2.
3. Modifier le contenu pour seulement avoir :
[ZoneTransfer]
ZoneId=2
4. Enregistrer le ficher Fichier/Enregistrer ou Crtl/S
5. Lancer powershell
6. Taper la commande Set-ExecutionPolicy RemoteSigned et fermer Powershell
7. Vous pouvez maintenant lancer le parser sans avoir de messages d’erreur
http://blogs.msdn.com/powershell/archive/2007/03/07/how-does-the-remotesigned-execution-policy-work.aspx
http://www.hanselman.com/blog/SigningPowerShellScripts.aspx
------------------------------------ Administrateur Viacesi Mail Live@Edu http://viacesi.spaces.live.com ------------------------------------