Я пытаюсь автоматизировать через PowerShell ряд трудоемких задач, которые я должен выполнить, чтобы создать новый шаблон виртуальной машины, один из которых удаляет все сетевые карты из виртуальной машины и очистка диспетчера устройств от других устройств.
После удаления сетевых адаптеров из виртуальной машины я попытался использовать следующие фрагменты кода, которые делают то же самое, для очистки Диспетчера устройств.Использование Powershell для удаления сетевых сетевых адаптеров
wmic nic where "(servicename is null)" delete
gwmi win32_networkadapter | ?{$_.ServiceName -eq $null} | rwmi
В обеих случаях я получаю сообщение об ошибке "Провайдер не способна предпринятых операций". Просмотр журналов событий для WMI-Activity не помог: ResultCode = 0x80041024; Возможная причина = Неизвестно.
Может ли кто-нибудь сделать что-то подобное, что удаляет неподдерживаемые устройства или может найти проблему с указанными выше командами?
EDIT: Я попытался использовать DevCon для удаления устройства, но, похоже, он работает только с настоящими устройствами. Теперь я расчесываю реестр, чтобы узнать, есть ли какой-то конкретный ключ или набор ключей, которые удаляются, удаляя NIC из диспетчера устройств.
Я не верю, что поддерживает эту PowerShell функциональность, то вы можете отключить только устройства, а не установить/выгрузки драйверов устройств. Всегда есть хорошие старые инструменты командной строки, которые вы можете вызывать из powershell: https://support.microsoft.com/en-us/kb/311272 – Cole9350
Спасибо за КБ. Я надеялся, что смогу использовать встроенную командную строку, а не другой инструмент, но я думаю, мне придется попробовать DevCon. – Hive
Пробовал использовать DevCon и получал ошибки (удалил сбой), прочитал на некоторых форумах и увидел, что DevCon работает только на настоящих устройствах. – Hive