замена переменной в методе WMI - PullRequest
0 голосов
/ 06 мая 2011

Я пытаюсь выполнить команду, которая работает с жестко закодированными переменными, но когда я пытаюсь заменить имя test ниже на selectedname , я не могу получить синтаксис для экранирования команда. Основная идея в том, что я использую WMI для запроса имен пулов приложений, а затем выбираю их и сохраняю в переменной slectedname, которая работает, когда я тестирую со строкой msgbox(selectedname). Он также отображается, когда я прохожу, но не передается нижней команде. Любая помощь будет отличной. Функция, в которой я пытаюсь выполнить команду:

Private Sub Stpbtn_Click(sender As Object, e As System.EventArgs) Handles Stpbtn.Click

        Dim selectedname As String
        selectedname = RWM_lst1.SelectedItem.ToString
        MsgBox(selectedname)

        Dim strComputer
        Dim objShare
        Dim objWMIService
        Dim objOutParams
        strComputer = "."
        objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\WebAdministration")
        '' Obtain an instance of the the class 
        '' using a key property value.
        objShare = objWMIService.Get("ApplicationPool.Name='test'")

        '' no InParameters to define

        '' Execute the method and obtain the return status.
        '' The OutParameters object in objOutParams
        '' is created by the provider.


        objOutParams = objWMIService.ExecMethod("ApplicationPool.Name='test'", "Stop") -- I know this works with the hard coded value of test
        objOutParams = objWMIService.ExecMethod("ApplicationPool.Name=" & selectedname & ", "Stop") --I want to replace the variable selectedname with the value captured in the selectedname  variable

    End Sub
End Class

Во Фрите, Девин

1 Ответ

0 голосов
/ 06 мая 2011

Попробуйте заключить в кавычки переменную selectedname вот так

objOutParams = objWMIService.ExecMethod("ApplicationPool.Name='" & selectedname & "'", "Stop")
...