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();
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д