Попытка захватить серийный номер удаленного диска. PowerShell выведет список подключенных сетевых дисков с помощью Win32_LodicalDisk; Windows Management Instrumentation Tester выводит список дисков; Диск указан в HKCU \ Network; Но запуск ManagementObjectSearcher в модуле C# в VS находит все остальные логические диски, но единственный подключенный диск, который у меня есть.
Некоторые другие успехи с WMI были вызваны открытием брандмауэра для локального ввода WMI на удаленном P C, который представляет собой ноутбук. Но до сих пор нет обнаружения машины как подключенного устройства. Также попробовал выполнить релиз и использовать исполняемый файл для разрядности P C вместо любого P C.
ConnOpt = new ConnectionOptions();
ConnOpt.Impersonation = ImpersonationLevel.Impersonate;
var msc = new ManagementScope(@"root\cimv2", ConnOpt);
ObjectQuery oqQry;
if (null != driveCode)
{
oqQry = new ObjectQuery("SELECT * FROM Win32_LogicalDisk");
//oqQry = new ObjectQuery("SELECT * FROM Win32_LogicalDisk WHERE DriveType = 4");
//oqQry = new ObjectQuery("SELECT * FROM Win32_MappedLogicalDisk ");
try
{
oWMI = new ManagementObjectSearcher(msc, oqQry);
if (null != oWMI) {
foreach (ManagementObject wmi_HD in oWMI.Get())
{
if(null!= wmi_HD["ProviderName"])sProvidr = wmi_HD["ProviderName"].ToString();
if (null != wmi_HD["VolumeName"]) sProvidr = wmi_HD["VolumeName"].ToString();
if (null != wmi_HD["Description"]) sProvidr = wmi_HD["Description"].ToString();
}
}
В заключение:
Дополнительное открытие пришел из использования WMI в VBA. Однако результаты были такими же, отсутствие обнаружения подключенного диска на логическом диске. Таким образом, решение будет использовать данные реестра, когда подключенный диск не может быть обнаружен.
Тот же запрос, отправленный в MSDN, содержал дополнительный параметр поиска WMI с помощью ASSOCIATORS OF. Помимо этого урока, решение будет указывать на использование сценариев PowerShell в пределах C#. Это помогает, но пока моей работы будет достаточно, и я не знаю, будет ли такой же подход работать в VBA. Пора двигаться дальше.