Obter o estado do serviço a partir do servidor remoto usando o powershell
Como obter o estado de serviço de um computador remoto que precisa de um nome de utilizador e senha para fazer login?
estou a tentar encontrar uma solução usando o seguinte código:
$serviceStatus = get-service -ComputerName $machineName -Name $service
a sintaxe por omissão para o comando get-service
é:
Parameter Set: Default
Get-Service [[-Name] <String[]> ] [-ComputerName <String[]> ] [-DependentServices] [-Exclude <String[]> ] [-Include <String[]> ] [-RequiredServices] [ <CommonParameters>]
Parameter Set: DisplayName
Get-Service -DisplayName <String[]> [-ComputerName <String[]> ] [-DependentServices] [-Exclude <String[]> ] [-Include <String[]> ] [-RequiredServices] [ <CommonParameters>]
Parameter Set: InputObject
Get-Service [-ComputerName <String[]> ] [-DependentServices] [-Exclude <String[]> ] [-Include <String[]> ] [-InputObject <ServiceController[]> ] [-RequiredServices] [ <CommonParameters>]
Isto não tem uma opção para o nome de utilizador e senha.
6
2 answers
Tanto quanto sei, o Get-Service não aceita um parâmetro credencial. No entanto, pode fazê-lo através da WMI.:
$cred = get-Credential -credential <your domain user here>
Get-WMIObject Win32_Service -computer $computer -credential $cred
Actualizar após o comentário:
Você pode salvar credenciais como uma faixa de segurança em um arquivo, e então recarregá-lo para criar manualmente uma credencial sem ter um prompt. Ver informação aqui.
8
Author: David Brabant, 2014-05-02 06:08:52
Isto também funciona:
net use \\server\c$ $password /USER:$username
$service = Get-Service $serviceName -ComputerName $server
Note que a senha não deve estar num texto seguro.
4
Author: Morten Holmgaard, 2016-05-10 11:52:40