Catégories
Expert Windows 10

PowerShell : « Exécution de scripts est désactivée », comment l’activer

Vous devez exécuter un script PowerShell sur un poste de travail ou un serveur mais celui-ci refuse de dérouler comme prévu ? Le message d’erreur n’est pas forcément explicite, en tout cas pas du tout pour une personne qui n’est pas administrateur système et réseau ou technicien informatique. Dans le message d’erreur indiqué, on peut trouver l’information « Exécution de scripts est désactivée » mais sans avoir une solution simple à mettre en oeuvre.

Ce tutoriel explique comment résoudre l’erreur « Exécution de scripts est désactivée » au lancement d’un script PowerShell, sur un ordinateur Windows de n’importe quelle version (Windows 10, 8.1, 8, 7 et Windows Server). En effet, si le message d’erreur PowerShell est légèrement différent selon la version de l’OS, la résolution sera la même, telle que décrite ci-dessous.

 

Le message d’erreur PowerShell

Sur Windows 10

.\script.ps1 : Impossible de charger le fichier C:\Users\WindowsFacile\Desktop\script.ps1, car l’exécution de scripts est désactivée sur ce système. Pour plus d’informations, consultez about_Execution_Policies à l’adresse https://go.microsoft.com/fwlink/?LinkID=135170.
Au caractère Ligne:1 : 1
+ .\script.ps1
+ ~~~~~~~~~~~~~~
+ CategoryInfo : Erreur de sécurité : (:) [], PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess

Sur Windows 7

PS C:\Users\WindowsFacile\Desktop> .\script.ps1
Impossible de charger le fichier C:\Users\WindowsFacile\Desktop\script.ps1, car l’exécution de scripts est désactivée sur ce système. Pour plus d’informations, consultez « get-help about_signing ».
Au niveau de ligne : 1 Caractère : 13
+ .\script.ps1 <<<<
+ CategoryInfo : NotSpecified: (:) [], PSSecurityException
+ FullyQualifiedErrorId : RuntimeException

 

Autoriser l’exécution de scripts PowerShell

1. Démarrer Windows Powershell, en tant qu’Administrateur.

2. Taper la commande suivante :

set-executionpolicy unrestricted

3. Valider par « O » (le o de oui).

Soit le résultat suivant :

PS C:\> set-executionpolicy unrestricted

Modification de la stratégie d’exécution
La stratégie d’exécution permet de vous prémunir contre les scripts que vous jugez non fiables. En modifiant la
stratégie d’exécution, vous vous exposez aux risques de sécurité décrits dans la rubrique d’aide
about_Execution_Policies. Voulez-vous modifier la stratégie d’exécution ?
[O] Oui [N] Non [S] Suspendre [?] Aide (la valeur par défaut est « O ») : o

 

Relancer le script

Vous pouvez maintenant exécuter à nouveau le script qui posait problème.

 

Bonus sur l’autorisation de scripts PS

Remettre en place la restriction

Set-ExecutionPolicy RemoteSigned

Autoriser pour l’utilisateur Windows courant

Set-ExecutionPolicy -Scope "CurrentUser" -ExecutionPolicy "Unrestricted"

Remettre en place la restriction pour l’utilisateur courant

Set-ExecutionPolicy -Scope "CurrentUser" -ExecutionPolicy "RemoteSigned"
Catégories
Expert SGBD

Script pour démarrer et arrêter les services Oracle Database

Ce ne sera pas très utile sur un serveur de production mais pratique sur un poste de développeur ou sur un ordinateur de test, surtout lorsque différentes versions de Oracle ou si plusieurs SGBD sont installés sur la machine. Il est possible de cumuler les serveurs de bases de données Oracle Database, Microsoft SQL Server, PostgreSQL, MySQL… sur le même poste mais celui-ci risque de s’écrouler niveau mémoire vive et accès disque. Pour éviter cela, le plus simple est de couper les services du SGBD qui n’est pas utilisé.

Nous allons faire un script pour démarrer les services Oracle sur Windows : Oracle Server, TNS Listener, MTS Recovery Service, VSS Writer. Le service Job Scheduler est optionnel et est en statut « désactivé » après une installation classique de Oracle Database.

Ce tutoriel a été réalisé sur Windows Server 2019 avec Oracle Database 12c. La procédure est identique sur Windows Server 2016 ou WS 2012 / R2. Pour les autres éditions du SGBD Oracle, il faudra peut-être adapter le nom des services.

 

Script Windows pour start les services Oracle serveur

1. Ouvrir les Services locaux de Windows par les Outils d’administration ou avec la commande services.msc.

2. Localiser les services Oracle. Ceux-ci commencent par « Oracle* » donc pas de risque d’en oublier un. Regarder ceux qui sont en démarrage automatique et démarrés.

3. Le nom des services à exécuter est affiché lorsque l’on ouvre (double clic) un service :

4. Créer un nouveau fichier texte, avec Bloc-notes / notepad par exemple.

5. Taper et adapter les commandes suivantes au sein du même document :

net start OracleOraDB12Home1MTSRecoveryService
net start OracleOraDB12Home1TNSListener
net start OracleServiceORCL
net start OracleVssWriterORCL
pause

Le nom des services varie selon le nom de l’instance SID indiqué lors de la configuration du SGBD. On rajoute une ligne « pause » pour voir le résultat des commandes à l’écran.

6. Enregistrer ce fichier texte sous le nom « start_oracle » par exemple.

7. Changer l’extension du fichier .txt pour « .bat » afin de le transformer en script exécutable d’un double clic ou par une tâche planifiée.

8. Tester en exécutant le script bat et voir les services se démarrer automatiquement.

 

Script .bat pour stop les services d’un serveur Oracle

1. Reproduire les mêmes premières étapes.

2. Taper et adapter les commandes suivantes :

net stop OracleOraDB12Home1MTSRecoveryService
net stop OracleOraDB12Home1TNSListener
net stop OracleServiceORCL
net stop OracleVssWriterORCL
pause

3. Enregistrer le fichier « stop_oracle » par exemple.

4. Changer l’extension .txt pour « .bat » pour en faire un script.

5. Tester l’arrêt automatique des services Oracle Database en exécutant ce fichier bat, par simple double clic ou depuis un Invite de commandes cmd.

Catégories
Expert

Microsoft Exchange : script pour démarrer ou arrêter tous les services

Comme tout gros logiciel serveur sur Windows, la solution de messagerie Microsoft Exchange s’exécute à l’aide de plusieurs services systèmes. Ces services dédiés à un serveur Exchange ont chacun leur rôle (MSExchangeEdgeSync pour le serveur de transport Edge avec AD LDS, MSExchangeIS pour la banque de données des boites aux lettres, MSExchangeFrontEndTransport pour le transport frontal SMTP, etc).

Lorsque l’on souhaite faire une opération de maintenance qui nécessite l’arrêt de tous les services, il est fastidieux d’aller dans la console des Services Windows pour les arrêter un à un. Et c’est là qu’un simple script .bat peut faciliter la vie de l’administrateur système. Ce guide propose deux scripts, l’un pour arrêter tous les services Microsoft Exchange en un seul clic, l’autre pour démarrer tous les services après l’opération de maintenance terminée.

Ces exemples de script ont été réalisés à partir d’un serveur Exchange 2007 qui héberge tous les rôles. Il convient évidemment de l’adapter en fonction de la version de MSExchange et des rôles du serveur en question.

 

Script pour arrêter tous les services Exchange

Il suffit de copier / coller ces lignes dans un Notepad, les vérifier, les modifier si besoin et enregistrer le fichier texte en .bat :

net stop MSExchangeIS
net stop MSExchangeSA
net stop MSExchangeEdgeSync
net stop MSExchangeImap4
net stop MSExchangePop3
net stop MSExchangeSearch
net stop msftesql-Exchange
net stop MSExchangeAntispamUpdate
pause

 

Script pour démarrer tous les services Microsoft Exchange

Créer un fichier texte (.bat) qui va démarrer tous les services MSExchange* associés au serveur de messagerie Microsoft :

net start MSExchangeIS
net start MSExchangeSA
net start MSExchangeEdgeSync
net start MSExchangeImap4
net start MSExchangePop3
net start MSExchangeSearch
net start msftesql-Exchange
net start MSExchangeAntispamUpdate
pause

Catégories
Intermédiaire Réseau Tutoriel

Script pour connecter un lecteur réseau

Avoir plusieurs ordinateurs en réseau implique souvent la création de partages pour accéder aux ressources d’un autre PC. Si le groupe résidentiel de Windows facilite la connexion à ces dossiers, un réseau d’entreprise se gère différemment et les scripts ont tout leur intérêt pour que les salariés se connectent automatiquement aux partages des serveurs auxquels ils ont accès. On peut ainsi configurer des scripts de démarrage pour les charger automatiquement aux utilisateurs du domaine par la console Utilisateurs et ordinateurs Active Directory. Ou simplement mettre le fichier .bat en local pour connecter les lecteurs réseau du poste.

Pour créer un fichier .bat, il suffit d’ouvrir le Bloc-notes (Notepad), écrire le texte, enregistrer le fichier et en changer l’extension : renommer le .txt en .bat. C’est tout !

 

Commandes de connexion à un partage réseau

Utiliser ces commandes dans un fichier .bat.

  • Pour connecter un lecteur réseau, utilisez la commande :
    net use X: \\nom_ordinateur\nom_du_partage

    où X: est la lettre de lecteur que vous souhaitez affecter à la ressource partagée.

  • Pour déconnecter un lecteur, utilisez la commande :
    net use X: /delete

    où X: est la lettre de lecteur de la ressource partagée.

  • Avec compte utilisateur automatique :
    net use X: \\nom_ordinateur\nom_partage /USER:username password
  • Attribution de lettre automatique :
    net use * \\nom_ordinateur\nom_partage
Catégories
Expert SGBD Tutoriel

Script de sauvegarde d’une base SQL Server

Les versions payantes du logiciel Microsoft SQL Server intègrent le Plan de maintenance, utile pour planifier des tâches pour la sauvegarde automatique des bases de données. Cette fonction n’est pas disponible sur la version Express de SQL Server mais il est possible de créer un script pour sauvegarder ces bases.

 

Commande pour sauvegarder une base SQL Server

Adapter et enregistrer cette commande dans un fichier .bat.

sqlcmd -SSERVEURSQL\INSTANCE -E -Q "BACKUP DATABASE COMPTA TO  DISK = N'D:\Sauvegarde\COMPTA.BAK' WITH NOFORMAT, INIT,  NAME = N'COMPTA-Complète Base de données Sauvegarde', SKIP, NOREWIND, NOUNLOAD,  STATS = 10"
  • -SSERVEURSQL\INSTANCE où SERVEURSQL est le nom de votre serveur suivi du nom de l’instance
  • La base de données est ici nommée « COMPTA »

Utiliser le Planificateur de tâches de Windows pour l’exécution automatique à intervalle régulier.

Catégories
Expert Tutoriel

Script de connexion Bureau à distance

La Connexion Bureau à distance sert à se connecter à une machine Windows depuis un autre poste, un outil très utile pour les administrateurs système. Pour éviter d’avoir à saisir les informations de connexion à chaque fois, il est possible d’ajouter des paramètres et de faire des scripts de connexion automatique.

L’outil Connexion Bureau à distance est aussi connu sous les noms de Remote Desktop, RDP et MSTSC.

 

Script de connexion Bureau à distance (mstsc)

Ouvrir un Invite de commandes (cmd.exe).

Par défaut, mstsc.exe ouvre la Connexion Bureau à distance.

Arguments supplémentaires :

  • /v:serveur : indiquer le nom de la machine distante
  • /f : démarre la connexion en plein écran (fullscreen)
  • /w:width : spécifier la largeur de la résolution souhaitée
  • /h:height : préciser la hauteur de la résolution souhaitée

On peut ainsi obtenir une commande telle que : mstsc.exe /v:SRV01 /w:1024 /h:768

Cette ligne de commande peut être collée dans un fichier .bat pour créer un script de connexion.


Toutes les autres options peuvent être trouvées par la commande « mstsc /? »