Comment démarrer et arrêter un service Windows à distance à l'aide de PSExec? De préférence, la syntaxe à écrire J'ai essayé la cmdlet donnée ci-dessous
5 Réponses :
Je ne peux pas tester cela en ce moment, mais il devrait être: et p>
Une autre alternative à Psexec est SC. Vous pouvez utiliser SC pour démarrer ou arrêter les services à distance:
net use \\server password /USER:user
Bonne. J'ai trouvé que je devais faire: Utilisation nette \\ serveur \ ipc $ mot de passe / utilisateur: utilisateur
PSService sur Sysinternals est spécifiquement destiné aux services de contrôle à distance :: ` où: p> Query strong> affiche l'état d'un service. P>
config fort> affiche la configuration d'un service. P>
stop strong> arrête un service. P>
Contac fort> reprend un service en pause. P>
dépend strong> répertorie les services dépendant de celui spécifié. P>
Sécurité forte> décharge le descripteur de sécurité du service. P>
trouver strud> recherche le réseau pour le service spécifié. p>
\\ ordinateur strong> cible le système NT / WIN2K spécifié. P>
blockQuote> Incluez l'interrupteur -U avec un nom d'utilisateur et un mot de passe pour vous connecter au système distant si vos informations d'identification de sécurité ne vous permettent pas d'obtenir des informations de compteur de performances à partir du système distant. Si vous spécifiez l'option -u, mais pas un mot de passe avec l'option -P, PSService vous demandera de saisir le mot de passe et ne l'écho à l'écran. P> P>
Le fichier de commandes ci-dessous vous permettra d'arrêter et de démarrer des services sur plusieurs machines distantes. Créer des ordinateurs.txt dans le même répertoire dans lequel le fichier de commandes est exécuté à partir de et lister des noms d'hôte PC par ligne. P> Utilisation de PowerShell strong> P > # Point the script to the text file with remote computers
$RemoteComputers = Get-Content "$PSScriptRoot\Computers.txt"
# sets service name
$Service = "uvnc_service"
# Counter for progress bar
$counter = 0
ForEach ($Computer in $RemoteComputers) {
$counter++
Try
{
Write-Progress -Activity 'Processing computers' -CurrentOperation $Computer -PercentComplete (($counter / $RemoteComputers.count) * 100)
Start-Sleep -Milliseconds 200
Get-Service -Name $Service -ComputerName $Computer | Restart-Service -Force -ErrorAction Stop
Write-Output "$(Get-Date -format "yyyy-MM-dd hh:mm:ss"),$computer" | out-file -append -filepath "$PSScriptRoot\success.log"
}
Catch
{
Write-Output "$(Get-Date -format "yyyy-MM-dd hh:mm:ss"),$computer" | out-file -append -filepath "$PSScriptRoot\failed.log"
}
}
référence Microsoft , une alternative utilise Télécharger des pstools (2,7 Mo) P>
Si quelqu'un doit p>
Démarrer, arrêter, redémarrer, etc ... un service Windows à distance forte> p>
blockQuote>
Comme mentionné dans la référence officielle de Microsoft, la commande appropriée à l'aide de l'exécutable fourni p>
psservice.exe strong> p>
blockQuote>
pourrait être quelque chose de similaire à suivre (cas 1 et 2), si vous utilisez Case 1: l'utilisateur, qui effectuera la commande souhaitée (par exemple le redémarrage) après connecté, est l'utilisateur de l'ordinateur distant avec les droits appropriés em> stry> p> p> p> P> P>
. \ PSService.exe \\ Remote-Computername-Or-ServerName -u
'RemoteComputerTername-Or-ServerName \ Computer-ordinateur' -P -P
«Remote-ordinateur-ordinateur-Mot de passe» Restart ServiceName P>
blockQuote>
Case 2: l'utilisateur, qui effectuera la commande souhaitée (par exemple le redémarrage) après connecté, est le domaine superutilisateur (E.G. DomainAdministrator) EM> P> P> P> P> P>
. \ PSService.exe \\ Remote-Computername-Or-ServerName -u
'DomainehortName \ DomainAdministrator' -P
'DomainAdMinistrator-Mot de passe' Redémarrez le nom P>
blockQuote>
PS: Notez dans ce cas, les valeurs de paramètre nom d'utilisateur p>
et mot de passe p>
pour mot de passe complexe et / ou nom d'utilisateur p>
C'est tout, votre commande doit être exécutée en douceur, soyez simplement patient! P>
Cela ne serait-il pas mieux sur serverfault.com?