Question Redémarrage automatique d'un service en cas darret

Plus d'informations
il y a 15 ans 1 mois #8958 par nightymen
Merci

J'ai colle ce script dans powershell et je l'ai execute avec comme test le service windows update que j'ai volontairement arreté dans la liste des services et voila ce que j'obtiens>donc je vois bien qu'il verifie le service chaque 5 sec mais en mettant la fenetre service en parallele le service est toujours a l'arret

PS C:\Users\mlaurent\Desktop> C:\Users\mlaurent\Desktop\New Text Document.ps1
Vérification du statut du service Windows update: 18/02/11 11:39:17
Vérification du statut du service Windows update: 18/02/11 11:39:22
Vérification du statut du service Windows update: 18/02/11 11:39:27

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 1 mois #8962 par Jacques Barathon
Tu es sûr d'avoir correctement passé le nom du service aux différentes commandes ?

Le code fourni par bilbao utilise le Display Name, ce qui peut être confondu avec le nom du service. Je te propose ce script qui reprend le principe de bilbao en s'appuyant sur la propriété Name du service (son petit nom, généralement sans espace) :

[code:1]
# watch-service.ps1

param ([String]$name, [int]$sleep = 5)

while($true)
{
$service = get-service $name
\"{0} : le service {1} est '{2}'\" -f $(Get-Date -Format \"dd/MM/yy HH:mm:«»ss\"«»), $service.DisplayName, $service.Status
if($service.Status -eq \"Stopped\"«») {Start-Service -name $name}
Start-Sleep -Seconds $sleep
}
[/code:1]

J'ai testé sur l'instance SQL Express qui tourne sur mon poste :

[code:1]
PS> watch-service 'mssql$sqlexpress'
18/02/11 13:35:17 : le service SQL Server (SQLEXPRESS) est 'Running'
18/02/11 13:35:22 : le service SQL Server (SQLEXPRESS) est 'Running'
18/02/11 13:35:27 : le service SQL Server (SQLEXPRESS) est 'Stopped'
18/02/11 13:35:33 : le service SQL Server (SQLEXPRESS) est 'Running'
18/02/11 13:35:38 : le service SQL Server (SQLEXPRESS) est 'Running'
[/code:1]

On peut noter à 13h35mn27s un arrêt du service, aussitôt détecté et réparé.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 1 mois #8965 par Arthur
J'ai volontairement utilisé DisplayName, cela me semblait plus parlant dans mon exemple que TlntSvr. :P

@Jojo j'ai proposé cette solution suivant mon intuition, du coup j'ai juste testé le principe sur ma machine Seven. :P
Je pense qu'il doit y avoir une autre façon de faire sous XP.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 1 mois #8973 par Jacques Barathon
@bilbao: ce que tu as proposé marche également sous XP, c'est l'OS que j'ai sur la machine où j'ai appliqué ta méthode pour écrire le petit script watch-service.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 1 mois #8974 par nightymen
Merci pour toutes ces infos je l'ai testé et ca fonctionne a merveille mais maintenant j'ai crée un fichier .bat qui pointe vers mon powershell

powershell watchservice.ps1 mais il ne fonctionne pas

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 1 mois #8976 par Matthew BETTON
Bonjour,

As tu essayé en précisant les chemins ?

Quelque chose du genre :

[code:1]C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe \"[CheminCompletOuSeTrouveTonScript]\watchservice.ps1\"[/code:1]

As tu également pensé à contrôler le niveau de sécurité pour l'exécution des scripts PowerShell ? (cf. Cmdlets Get-ExecutionPolicy / Set-ExcutionPolicy)

Sinon, quel est le message d'erreur qui s'affiche lorsque tu exécutes ton batch ?

@+

Matthew

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.068 secondes
Propulsé par Kunena