C#+WMI+Удаленный доступ

Узнай цену своей работы

Формулировка задачи:

Имеется одноранговая сеть, т.е соединены 2 компа между собой. На обоих компах есть локальные учетки администраторов(Их я и использую при коннекте, но я не уверен, что это правильно) Имеется код:
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();
    }
}
При соединении пишет, отказано в доступе. У компа с которого я пытаюсь конектится IP 192.168.1.1, а у второго 192.168.1.2 Вопрос в седующем, какую учетку нужно использовать при коннекте???Локальную??? И гдето я слышал про какойто параметр в wmi, типа указать компу, брать учетку локальную или с сервера ActeveDirectory(Которого у меня конечно же нет). Народ подскажите пожалуйста.
Добавлено через 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();

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.571 из 5
Похожие ответы