Comment vérifier si un service est en cours d'exécution dans un ordinateur distant à l'aide de PowerShell
J'ai 3 serveurs, l'exécution de 3 services:
- SERVEUR de l'exécution d'UN
serv1.exe
service - SERVEUR-B exécution
serv2.exe
service - SERVEUR-C l'exécution de
serv3.exe
service
À l'aide de PowerShell comment puis-je interroger chaque service pour vérifier si elles sont en cours d'exécution et d'afficher les informations dans un fichier texte?
OriginalL'auteur Ireshad | 2013-07-21
Vous devez vous connecter pour publier un commentaire.
Si ils ont tous le même nom ou un nom d'affichage, vous pouvez le faire en une seule commande. Si vous avez besoin d'exécuter 3 commandes.
Si tous ont le même nom ou un nom d'affichage de:
Si ils ont des noms différents ou afficher les noms:
Je voudrais faire cela --
À la sortie vers un fichier texte, utilisez
... | Set-Content ~\Documents\Service_Status.txt
où...
est l'un des ci-dessus.Remarque: vous devez disposer de privilèges d'interroger les machines à distance.
vous devez utiliser les Invoke-Command dans ce cas.
Si votre nom de service a un caractère spécial en elle comme
$
alors vous aurez besoin d'entourer le nom entier avec des guillemets simples du type: `get-service -computername ServerName -Nom de Service "$Nom'OriginalL'auteur Andy Arismendi
Il y a plusieurs moyens d'y parvenir. Je suis en utilisant une table de hachage de valeurs, car vous avez mentionné que le serveur de mappage de service est toujours un à un.
Vous devez utiliser le nom du service et pas le .nom de fichier exe.
Donc, ils sont les processus et non sur les services? Remplacer Get-Service avec Get-Process et cela devrait fonctionner.
Oui il a travaillé. Le journal contient trop de détails comme les Poignées de MNP(K),H(K),WS(K),VM(M),PROCESSEUR(s),l'Id, le nom du Processus. Est-il possible d'avoir seulement 2 colonnes de la production ( Nom du Processus et en cours d'Exécution (Oui ou Non )) Merci
Qu'entendez-vous par état de marche? Un processus apparaîtra dans Get-Process de sortie uniquement lorsqu'il est en cours d'exécution. Donc, si un processus spécifique ou un nom de serveur n'est pas répertorié dans le fichier de sortie, il signifie simplement que le processus n'est pas en cours d'exécution. J'ai mis à jour ma réponse.
Ok, Compris, mais j'ai été la planification d'une sortie formatée. N'est pas nécessaire. Seul problème était, si il y en a 2 DIFFÉRENTS processus runnung sur le même serveur, la table de Hachage n'a pas permis l'attribution de 2 valeurs comme, $svrHash = @{"SERVER-01"="winmgmt";"SERVER-01"="Wecsvc"} aussi loin Que le seul processus dans un seul serveur, il fonctionne. Comment peut-il être étendu aux 2/3 des tâches différentes en même serveur ?
OriginalL'auteur ravikanth