Is it possible for VBScript to check whether a specific device is in Device Manager?











up vote
1
down vote

favorite












In my Device Manager, there is "Realtek USB FE Family Controller". After the computer wakes up from sleep mode, sometimes the controller cannot be recognised, and "TK_NIC_DRIVER_INSTALLER.sfx.exe" needs to be run so as to get it recognised.



Is it possible for VBScript to check whether the controller is there? If it is not there, the following command will be run.



CreateObject("wscript.shell").run("""C:RTK_NIC_DRIVER_INSTALLER.sfx.exe"""),0









share|improve this question


















  • 1




    Why do you need to use VBScript, a technology from the mid-1990s to do this. Why not use PowerShell and the Get-PnpDevice cmdlet?
    – Peter Hahndorf
    Feb 21 at 15:33










  • I want VBScript because it will not bring up a command window, and I don't know how to use PowerShell.
    – Matthew Wai
    Feb 21 at 15:45












  • It seems like (at least in theory) that this should be possible. Googling didn't reveal any direct way to query items in the device manager (though there could be) but it does seem you can get a list of items with VBScript (so you could potentially compare names/info and see whether a device was listed or not). The basic approaches seemed to either use the WMI interfaces for VBScript directly to get items or to parse the output of msinfo32.exe.
    – Anaksunaman
    Feb 24 at 12:40

















up vote
1
down vote

favorite












In my Device Manager, there is "Realtek USB FE Family Controller". After the computer wakes up from sleep mode, sometimes the controller cannot be recognised, and "TK_NIC_DRIVER_INSTALLER.sfx.exe" needs to be run so as to get it recognised.



Is it possible for VBScript to check whether the controller is there? If it is not there, the following command will be run.



CreateObject("wscript.shell").run("""C:RTK_NIC_DRIVER_INSTALLER.sfx.exe"""),0









share|improve this question


















  • 1




    Why do you need to use VBScript, a technology from the mid-1990s to do this. Why not use PowerShell and the Get-PnpDevice cmdlet?
    – Peter Hahndorf
    Feb 21 at 15:33










  • I want VBScript because it will not bring up a command window, and I don't know how to use PowerShell.
    – Matthew Wai
    Feb 21 at 15:45












  • It seems like (at least in theory) that this should be possible. Googling didn't reveal any direct way to query items in the device manager (though there could be) but it does seem you can get a list of items with VBScript (so you could potentially compare names/info and see whether a device was listed or not). The basic approaches seemed to either use the WMI interfaces for VBScript directly to get items or to parse the output of msinfo32.exe.
    – Anaksunaman
    Feb 24 at 12:40















up vote
1
down vote

favorite









up vote
1
down vote

favorite











In my Device Manager, there is "Realtek USB FE Family Controller". After the computer wakes up from sleep mode, sometimes the controller cannot be recognised, and "TK_NIC_DRIVER_INSTALLER.sfx.exe" needs to be run so as to get it recognised.



Is it possible for VBScript to check whether the controller is there? If it is not there, the following command will be run.



CreateObject("wscript.shell").run("""C:RTK_NIC_DRIVER_INSTALLER.sfx.exe"""),0









share|improve this question













In my Device Manager, there is "Realtek USB FE Family Controller". After the computer wakes up from sleep mode, sometimes the controller cannot be recognised, and "TK_NIC_DRIVER_INSTALLER.sfx.exe" needs to be run so as to get it recognised.



Is it possible for VBScript to check whether the controller is there? If it is not there, the following command will be run.



CreateObject("wscript.shell").run("""C:RTK_NIC_DRIVER_INSTALLER.sfx.exe"""),0






windows-10 vbscript device-manager






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Feb 21 at 11:36









Matthew Wai

3211418




3211418








  • 1




    Why do you need to use VBScript, a technology from the mid-1990s to do this. Why not use PowerShell and the Get-PnpDevice cmdlet?
    – Peter Hahndorf
    Feb 21 at 15:33










  • I want VBScript because it will not bring up a command window, and I don't know how to use PowerShell.
    – Matthew Wai
    Feb 21 at 15:45












  • It seems like (at least in theory) that this should be possible. Googling didn't reveal any direct way to query items in the device manager (though there could be) but it does seem you can get a list of items with VBScript (so you could potentially compare names/info and see whether a device was listed or not). The basic approaches seemed to either use the WMI interfaces for VBScript directly to get items or to parse the output of msinfo32.exe.
    – Anaksunaman
    Feb 24 at 12:40
















  • 1




    Why do you need to use VBScript, a technology from the mid-1990s to do this. Why not use PowerShell and the Get-PnpDevice cmdlet?
    – Peter Hahndorf
    Feb 21 at 15:33










  • I want VBScript because it will not bring up a command window, and I don't know how to use PowerShell.
    – Matthew Wai
    Feb 21 at 15:45












  • It seems like (at least in theory) that this should be possible. Googling didn't reveal any direct way to query items in the device manager (though there could be) but it does seem you can get a list of items with VBScript (so you could potentially compare names/info and see whether a device was listed or not). The basic approaches seemed to either use the WMI interfaces for VBScript directly to get items or to parse the output of msinfo32.exe.
    – Anaksunaman
    Feb 24 at 12:40










1




1




Why do you need to use VBScript, a technology from the mid-1990s to do this. Why not use PowerShell and the Get-PnpDevice cmdlet?
– Peter Hahndorf
Feb 21 at 15:33




Why do you need to use VBScript, a technology from the mid-1990s to do this. Why not use PowerShell and the Get-PnpDevice cmdlet?
– Peter Hahndorf
Feb 21 at 15:33












I want VBScript because it will not bring up a command window, and I don't know how to use PowerShell.
– Matthew Wai
Feb 21 at 15:45






I want VBScript because it will not bring up a command window, and I don't know how to use PowerShell.
– Matthew Wai
Feb 21 at 15:45














It seems like (at least in theory) that this should be possible. Googling didn't reveal any direct way to query items in the device manager (though there could be) but it does seem you can get a list of items with VBScript (so you could potentially compare names/info and see whether a device was listed or not). The basic approaches seemed to either use the WMI interfaces for VBScript directly to get items or to parse the output of msinfo32.exe.
– Anaksunaman
Feb 24 at 12:40






It seems like (at least in theory) that this should be possible. Googling didn't reveal any direct way to query items in the device manager (though there could be) but it does seem you can get a list of items with VBScript (so you could potentially compare names/info and see whether a device was listed or not). The basic approaches seemed to either use the WMI interfaces for VBScript directly to get items or to parse the output of msinfo32.exe.
– Anaksunaman
Feb 24 at 12:40












1 Answer
1






active

oldest

votes

















up vote
0
down vote













You can use the win32_PnPEntity WMI class. Here we're just iterating through and checking for devices that have that description:



strComputer = "." 
Set objWMIService = GetObject("winmgmts:\" & strComputer & "rootCIMV2")
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_PnPEntity")
For Each objItem In colItems
If InStr(1, objItem.Description, "Realtek USB FE Family Controller", 1) > 0 Then
CreateObject("wscript.shell").run("""C:RTK_NIC_DRIVER_INSTALLER.sfx.exe"""),0
End If
Next


If that doesn't work you may also need to test for objItem.Present or objItem.Status






share|improve this answer





















    Your Answer








    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "3"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1296971%2fis-it-possible-for-vbscript-to-check-whether-a-specific-device-is-in-device-mana%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes








    up vote
    0
    down vote













    You can use the win32_PnPEntity WMI class. Here we're just iterating through and checking for devices that have that description:



    strComputer = "." 
    Set objWMIService = GetObject("winmgmts:\" & strComputer & "rootCIMV2")
    Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_PnPEntity")
    For Each objItem In colItems
    If InStr(1, objItem.Description, "Realtek USB FE Family Controller", 1) > 0 Then
    CreateObject("wscript.shell").run("""C:RTK_NIC_DRIVER_INSTALLER.sfx.exe"""),0
    End If
    Next


    If that doesn't work you may also need to test for objItem.Present or objItem.Status






    share|improve this answer

























      up vote
      0
      down vote













      You can use the win32_PnPEntity WMI class. Here we're just iterating through and checking for devices that have that description:



      strComputer = "." 
      Set objWMIService = GetObject("winmgmts:\" & strComputer & "rootCIMV2")
      Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_PnPEntity")
      For Each objItem In colItems
      If InStr(1, objItem.Description, "Realtek USB FE Family Controller", 1) > 0 Then
      CreateObject("wscript.shell").run("""C:RTK_NIC_DRIVER_INSTALLER.sfx.exe"""),0
      End If
      Next


      If that doesn't work you may also need to test for objItem.Present or objItem.Status






      share|improve this answer























        up vote
        0
        down vote










        up vote
        0
        down vote









        You can use the win32_PnPEntity WMI class. Here we're just iterating through and checking for devices that have that description:



        strComputer = "." 
        Set objWMIService = GetObject("winmgmts:\" & strComputer & "rootCIMV2")
        Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_PnPEntity")
        For Each objItem In colItems
        If InStr(1, objItem.Description, "Realtek USB FE Family Controller", 1) > 0 Then
        CreateObject("wscript.shell").run("""C:RTK_NIC_DRIVER_INSTALLER.sfx.exe"""),0
        End If
        Next


        If that doesn't work you may also need to test for objItem.Present or objItem.Status






        share|improve this answer












        You can use the win32_PnPEntity WMI class. Here we're just iterating through and checking for devices that have that description:



        strComputer = "." 
        Set objWMIService = GetObject("winmgmts:\" & strComputer & "rootCIMV2")
        Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_PnPEntity")
        For Each objItem In colItems
        If InStr(1, objItem.Description, "Realtek USB FE Family Controller", 1) > 0 Then
        CreateObject("wscript.shell").run("""C:RTK_NIC_DRIVER_INSTALLER.sfx.exe"""),0
        End If
        Next


        If that doesn't work you may also need to test for objItem.Present or objItem.Status







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 21 at 11:17









        shawn

        865




        865






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Super User!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.





            Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


            Please pay close attention to the following guidance:


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1296971%2fis-it-possible-for-vbscript-to-check-whether-a-specific-device-is-in-device-mana%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            AnyDesk - Fatal Program Failure

            How to calibrate 16:9 built-in touch-screen to a 4:3 resolution?

            QoS: MAC-Priority for clients behind a repeater