Как удалить несуществующую сетевую карту
2 апреля 2015
Чтобы удалить извлеченную сетевую карту или любое другое устройство нужно в командной строке с повышеными привилегиями выполнить:
set devmgr_show_nonpresent_devices=1
start devmgmt.msc
Откроется Диспетчер устройств в котором нужно включить отображение скрытых устройств в меню «Вид->Показать скрытые устройства»
После чего можно удалить любое скрытое или извлеченное устройство.
Также можно использовать vbs скрипт который автоматически включит отображение скрытых устройств.
Скопировать и сохранить код как ShowNotPresentDevices.vbs
Запускать с повышенными привилегиями
Option Explicit
Const SW_HIDE = 0
Dim elem
Dim strNewEnvironment
Dim objSWbemObjectEx
Dim lngProcessID
Dim objMenuItem
Dim strTempFileName
If Not WScript.Arguments.Named.Exists("ShowDevMgmt") Then
With GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
strNewEnvironment = _
"DEVMGR_SHOW_NONPRESENT_DEVICES=1" & vbCrLf & _
"DEVMGR_SHOW_DETAILS=1"
For Each elem In WScript.CreateObject("WScript.Shell").Environment("Process")
If Left(elem, 1) <> "=" Then
strNewEnvironment = strNewEnvironment & vbCrLf & elem
End If
Next
Set objSWbemObjectEx = .Get("Win32_ProcessStartup").SpawnInstance_
objSWbemObjectEx.ShowWindow = SW_HIDE
objSWbemObjectEx.EnvironmentVariables = Split(strNewEnvironment, vbCrLf)
If .Get("Win32_Process").Create( _
"wscript.exe """ & WScript.ScriptFullName & """ /ShowDevMgmt", Null, objSWbemObjectEx, lngProcessID _
) <> 0 Then
WScript.Echo "Process [wscript.exe """ & WScript.ScriptFullName & """] could not be created."
End If
Set objSWbemObjectEx = Nothing
End With
Else
With WScript.CreateObject("MMC20.Application")
.Load "devmgmt.msc"
With .Document
With .ActiveView
.Frame.Maximize
For Each objMenuItem In .ScopeNodeContextMenu
If objMenuItem.Path = "Вид->Показать скрытые устройства" Then
If objMenuItem.Enabled = 1 Then
objMenuItem.Execute
Exit For
End If
End If
Next
For Each objMenuItem In .ScopeNodeContextMenu
If objMenuItem.Path = "View->Show hidden devices" Then
If objMenuItem.Enabled = 1 Then
objMenuItem.Execute
Exit For
End If
End If
Next
End With
If .IsSaved = 0 Then
strTempFileName = GetTemporaryFileName()
.SaveAs strTempFileName
WScript.CreateObject("Scripting.FileSystemObject").DeleteFile strTempFileName, True
End If
End With
.UserControl = 1
End With
End If
WScript.Quit 0
'=============================================================================
'=============================================================================
Function GetTemporaryFileName()
Const TEMP_FOLDER = 2
Dim strTempFile
With WScript.CreateObject("Scripting.FileSystemObject")
Do
strTempFile = .BuildPath(.GetSpecialFolder(TEMP_FOLDER), .GetTempName)
Loop While .FileExists(strTempFile)
End With
GetTemporaryFileName = strTempFile
End Function
'=============================================================================
Categories: Windows
Свежие комментарии