LISTAR OS PROCESSOS DE UMA M?QUINA REMOTA

DOUTORX 26/12/2016 15:30:40
#470060
Olá pessoal,

Estou tentando fazer um console application simples para listar todos os processos de uma máquina remota (virtual machiine) porém quanto eu rodo o console da máquina A tentando acessar a máquina B para listar os processos não rola, alguém tem alguma luz?

Já tentei:

                  

Process[] remoteAll = Process.GetProcesses(ConfigurationManager.AppSettings[[Ô]vmA[Ô]]);

foreach (var item in remoteAll)
{
Console.WriteLine([Ô]Processo: [Ô] + item.ProcessName);
}


E

 
string ComputerName = ConfigurationManager.AppSettings[[Ô]vmA[Ô]];
ManagementScope Scope;

if (!ComputerName.Equals([Ô]localhost[Ô], StringComparison.OrdinalIgnoreCase))
{
ConnectionOptions Conn = new ConnectionOptions();
Conn.Username = ConfigurationManager.AppSettings[[Ô]user[Ô]];
Conn.Password = ConfigurationManager.AppSettings[[Ô]pwd[Ô]];
Conn.Authority = [Ô]ntlmdomain:DOMAIN[Ô];
Conn.Impersonation = ImpersonationLevel.Impersonate;
Conn.EnablePrivileges = true;
Scope = new ManagementScope(String.Format([Ô]\\\\{0}\oot\\CIMV2[Ô], ComputerName), Conn);
}
else
Scope = new ManagementScope(String.Format([Ô]\\\\{0}\oot\\CIMV2[Ô], ComputerName), null);

Scope.Connect();
ObjectQuery Query = new ObjectQuery([Ô]SELECT * FROM Win32_Process[Ô]);
ManagementObjectSearcher Searcher = new ManagementObjectSearcher(Scope, Query);


foreach (ManagementObject WmiObject in Searcher.Get())
{
//for each instance found, do something
Console.WriteLine([Ô]{0,-35} {1,-40}[Ô], [Ô]Name[Ô], WmiObject[[Ô]Name[Ô]]);

}


Ambos os exemplos funcionam ná máquina A (Localhost) quando aponto para a máquina B não rola da Acesso Negado.
KURTGU 26/12/2016 16:16:38
#470063
Citação:

:
Olá pessoal,

Estou tentando fazer um console application simples para listar todos os processos de uma máquina remota (virtual machiine) porém quanto eu rodo o console da máquina A tentando acessar a máquina B para listar os processos não rola, alguém tem alguma luz?

Já tentei:

                  

Process[] remoteAll = Process.GetProcesses(ConfigurationManager.AppSettings[[Ô]vmA[Ô]]);

foreach (var item in remoteAll)
{
Console.WriteLine([Ô]Processo: [Ô] + item.ProcessName);
}


E

 
string ComputerName = ConfigurationManager.AppSettings[[Ô]vmA[Ô]];
ManagementScope Scope;

if (!ComputerName.Equals([Ô]localhost[Ô], StringComparison.OrdinalIgnoreCase))
{
ConnectionOptions Conn = new ConnectionOptions();
Conn.Username = ConfigurationManager.AppSettings[[Ô]user[Ô]];
Conn.Password = ConfigurationManager.AppSettings[[Ô]pwd[Ô]];
Conn.Authority = [Ô]ntlmdomain:DOMAIN[Ô];
Conn.Impersonation = ImpersonationLevel.Impersonate;
Conn.EnablePrivileges = true;
Scope = new ManagementScope(String.Format([Ô]\\{0}oot\CIMV2[Ô], ComputerName), Conn);
}
else
Scope = new ManagementScope(String.Format([Ô]\\{0}oot\CIMV2[Ô], ComputerName), null);

Scope.Connect();
ObjectQuery Query = new ObjectQuery([Ô]SELECT * FROM Win32_Process[Ô]);
ManagementObjectSearcher Searcher = new ManagementObjectSearcher(Scope, Query);


foreach (ManagementObject WmiObject in Searcher.Get())
{
//for each instance found, do something
Console.WriteLine([Ô]{0,-35} {1,-40}[Ô], [Ô]Name[Ô], WmiObject[[Ô]Name[Ô]]);

}


Ambos os exemplos funcionam ná máquina A (Localhost) quando aponto para a máquina B não rola da Acesso Negado.




Amigo você mesmo já respondeu sua própria pergunta..

[txt-color=#e80000]Acesso Negado.[/txt-color]
DOUTORX 26/12/2016 16:27:27
#470064
Então,

Sei que o motivo é acesso negado, a questão é se já pegaram algo parecido e se conseguiram solucionar isso.
KURTGU 26/12/2016 19:31:34
#470079
Citação:

:
Então,

Sei que o motivo é acesso negado, a questão é se já pegaram algo parecido e se conseguiram solucionar isso.



Você ta usando WMI? pelo visto pesquisa sobre ADM WMI VB.NET se estiver em um dominio sua rede vai ser mais dificil ainda...
Tópico encerrado , respostas não são mais permitidas