C#+WMI+Удаленный доступ
Формулировка задачи:
Имеется одноранговая сеть, т.е соединены 2 компа между собой.
На обоих компах есть локальные учетки администраторов(Их я и использую при коннекте, но я не уверен, что это правильно)
Имеется код:
При соединении пишет, отказано в доступе.
У компа с которого я пытаюсь конектится IP 192.168.1.1, а у второго 192.168.1.2
Вопрос в седующем, какую учетку нужно использовать при коннекте???Локальную???
И гдето я слышал про какойто параметр в wmi, типа указать компу, брать учетку локальную или с сервера ActeveDirectory(Которого у меня конечно же нет).
Народ подскажите пожалуйста.
using System;
using System.Management;
public class RemoteConnect
{
public static void Main()
{
ConnectionOptions options =
new ConnectionOptions();
options.Username = "Мой логин";
options.Password = "Мой пароль";
// connection.Authority = "ntlmdomain:";
ManagementScope scope =
new ManagementScope(
"\\\\192.168.1.2\\root\\cimv2",options);
scope.Connect();
ObjectQuery query = new ObjectQuery(
"SELECT * FROM Win32_OperatingSystem");
ManagementObjectSearcher searcher =
new ManagementObjectSearcher(scope, query);
ManagementObjectCollection queryCollection = searcher.Get();
foreach (ManagementObject m in queryCollection)
{
// Display the remote computer information
Console.WriteLine("Computer Name : {0}",
m["csname"]);
Console.WriteLine("Windows Directory : {0}",
m["WindowsDirectory"]);
Console.WriteLine("Operating System: {0}",
m["Caption"]);
Console.WriteLine("Version: {0}", m["Version"]);
Console.WriteLine("Manufacturer : {0}",
m["Manufacturer"]);
}
Console.ReadLine();
}
}Добавлено через 6 часов 39 минут 11 секунд
Проблему решил сам.Если кому интересно, то вот решение:
Рабочие станции под управлением Windows XP Professional и Vista, не подключенные к домену, по умолчанию не позволяют локальному администратору аутентифицироваться под собственным именем по сети. Вместо этого, используется политика "ForceGuest", которая означает, что все удаленные подключения производятся с правами гостевой учетной записи. Однако, как уже было сказано, для сканирования требуются права администратора. Поэтому на каждом удаленном компьютере требуется произвести настройку политики безопасности: "Пуск - Выполнить - secpol.msc - OK - Локальные политики - Параметры безопасности - Сетевой доступ: модель совместного доступа и безопасности..." - если она имеет значение "Гостевая", переключите на "Обычная" Решение задачи: «C#+WMI+Удаленный доступ»
textual
Листинг программы
string IPadr = Convert.ToString(textBoxIP.Text);
ConnectionOptions options = new ConnectionOptions();
options.Username = Convert.ToString(textBoxLog.Text);
options.Password = Convert.ToString(textBoxPswrd.Text);
ManagementScope scope = new ManagementScope(""\\\\192.168.1.2\\root\\cimv2",options);
scope.Connect();