Question
Script d'ouverture de session
- Jaggi Laurent
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
- Messages : 8
- Remerciements reçus 0
Dans le cadre de la migration de nos serveurs TS 2003 vers du TS 2008, j'aimerais automatiser certaines tâches comme par exemple:
Mon idée était de réaliser ces tâches lors de la première connexion de l'utilisateur sur les nouveaux serveurs à l'aide d'un script d'ouverture de session. Ma question va peut-être vous paraître stupide mais est-ce que je peux écrire mon script en Powershell en sachant que mon domaine est basé sur SBS 2003 et de l'exécuter à l'aide d'une GPO?
Mes premiers tests ne sont pas concluants. A première vue la GPO fonctionne mais pas le script.
Connexion ou Créer un compte pour participer à la conversation.
- Jaggi Laurent
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
- Messages : 8
- Remerciements reçus 0
[code:1]Set objShell = CreateObject(\"Wscript.Shell\"«»)
objShell.Run(\"powershell.exe -noexit c:\scripts\test.ps1\"«»)
[/code:1]
Par contre, pour 2008, il aurait ajouté un onglet permettant l'exécution d'un ps1. A vérifier
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
-
- Hors Ligne
- Modérateur
-
Je confirme ! Pour utiliser des scripts de logon PowerShell avec un DC 2003 / postes Windows XP, il faut passer par un vbs ou cmd pour lancer le script PowerShell.
Par contre, avec Windows Server 2008 R2 et non pas 2008, couplé à des postes Windows 7, il y a bien un onglet spécifique pour exécuter des scripts PowerShell au logon ou au logoff des utilisateurs et/ou des ordinateurs.
Voir la copie d'écran ci-dessous:
<br><br>Message édité par: Arnaud, à: 17/11/09 23:31
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Pièces jointes :
Connexion ou Créer un compte pour participer à la conversation.
- Jaggi Laurent
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
- Messages : 8
- Remerciements reçus 0
Tout d'abord merci pour ta confirmation. Maintenant je me pose la question suivante: Est-ce que cela a un sens d'écrire les logon scripts en powershell et de l'exécuter en vbs?
Il est vrai que ma première idée était d'utiliser la puissance et la souplesse du powershell pour effectuer mes scripts. Sans oublier, le fait que j'apprenne un nouveau language qui va être très utile à l'avenir. D'ailleurs, j'attends avec impatience le facteur qui doit m'apporter votre livre...
Par contre après quelques tests de GPO sur un DC 2003 SBS, il s'avère que j'ai des problèmes avec la provenance du script. En effet, lors de l'ouverture de sesession j'obtiens le message suivant:
Avertissement de sécurité
N'exécutez que des scripts que vous approuvez. Bien que les scripts en
provenance d'Internet puissent être utiles, ce script est susceptible
d'endommager votre ordinateur. Voulez-vous exécuter
\\FQDN\SysVol\FQDN\Policies\{817D92EE-2821-4B0C-94F5-D36BAE89
4F8B}\User\Scripts\Logon\testGPO.ps1 ?
[N] Ne pas exécuter [O] Exécuter une foisSuspendre [?] Aide
(la valeur par défaut est « N ») :
Est-ce qu'il y a un moyen pour faire passer les scripts d'un domaine sans devoir demander une confirmation à l'utilisateur et sans définir ExecutionPolicy à Bypass?
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
-
- Hors Ligne
- Modérateur
-
Est-ce que cela a un sens d'écrire les logon scripts en powershell et de l'exécuter en vbs?
Effectivement on peut se poser la question... Même si j'adore PowerShell, j'aurais tendance à penser que ça a peu de sens de faire cela. En effet, cela va nous créer des contraintes car il va falloir s'assurer que PowerShell soit bien installé sur toutes les machines de son domaine et d'être sur que ces dernières aient bien la bonne stratégie d'exécution. Ceci étant, ce dernier point peut se règler facilement par GPO. De plus le lancement de PowerShell prend quelques secondes de plus que VBS; ce qui pour un script de logon peut être pénalisant.
Si par contre si tu es un domaine Windows 2008 R2 avec des postes Windows 7, alors là le discours n'est plus du tout le même...
Est-ce qu'il y a un moyen pour faire passer les scripts d'un domaine sans devoir demander une confirmation à l'utilisateur et sans définir ExecutionPolicy à Bypass?
Il n'y a pas de confirmation si tu configure tes machines avec la stratégie RemoteSigned ou si tu exécutes des scripts signés et que la chaine de certificats peut être vérifiée.
Par contre si tu es en mode RemoteSigned et que tu cherches à exécuter un script téléchargé d'internet tu auras un avertissement de sécurité jusqu'à ce que tu débloques le script (voir chapitre 5 de notre livre, si tu es équipé...
Arnaud
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Connexion ou Créer un compte pour participer à la conversation.
- Jaggi Laurent
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
- Messages : 8
- Remerciements reçus 0
Si par contre si tu es un domaine Windows 2008 R2 avec des postes Windows 7, alors là le discours n'est plus du tout le même...
Mon domaine est basé sur du SBS 2003 R2 mais je vais quand même utiliser le powershell pour travailler sur la migration des mes serveurs TS 2008 R2 car il est déjà installé en natif.
Il n'y a pas de confirmation si tu configure tes machines avec la stratégie RemoteSigned
Lors de l'exécution du script de logon et bien que la stratégie d'exécution soit définit à RemoteSigned, Powershell demendait une confirmation à l'utilisateur. Il dectectait la provenance de mon script comme étant Internet alors qu'il se trouvait sur le partage SYSVOL de mon contrôleur de domaine.
Afin de contourner ce problème, il faut ajouter le chemin UNC de son domaine (Exemple: \\mondomaine.local) dans la zone Intranet d'Internet Explorer. Qui a dit qu'Internet Explorer pouvait être désinstallé de Windows
Vous trouverez plus d'informations sur cette KB
J'espère que cela pourra être utile ...
Laurent<br><br>Message édité par: ljaggi, à: 19/11/09 13:36
Connexion ou Créer un compte pour participer à la conversation.
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Script d'ouverture de session