powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / DNS WMI Provider + VBS
2 сообщений из 2, страница 1 из 1
DNS WMI Provider + VBS
    #40074758
f9n6001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Граждане, кто-нибудь работал с этой шнягой?
https://docs.microsoft.com/en-us/windows/win32/dns/dns-wmi-provider
Что-то я читаю-читаю, и никак не разберусь. Возможно, уровень английского не позволяет.

Мне надо в цикле пройтись по записям и изменить их свойства.
Получить список записей удается:

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
strServer = "bte-dc-01"
strNameSpace = "root\microsoftDNS"
strDomain = "ats.teplo.local"

Set objLocator = CreateObject("WbemScripting.SWbemLocator")
Set objService = objLocator.ConnectServer (strServer, strNameSpace)
set objDNS = objService.Get("MicrosoftDNS_Server.name="".""")


'Проверяем подключение:
ObjService.Security_.impersonationlevel = 3
    If Err.Number then
        Call Wscript.Echo( "Error 0x" & CStr(Hex(Err.Number)) & _
                           " occurred in connecting to server " _
           & strServer & ".")
        If Err.Description <> "" Then
            Call Wscript.Echo( "Error description: " & Err.Description & "." )
        End If
        Err.Clear
        blnConnect = True     'An error occurred
    End If


'Запрос записей
Set objDNS = objService.ExecQuery("Select * from MicrosoftDNS_ResourceRecord where DomainName=""" & strDomain & """",,48)
        For Each objInst in objDNS    
             wscript.echo objInst.TextRepresentation
        Next



Модератор: Учимся использовать тэги оформления кода - FAQ
Выводит в консоль список имеющихся записей. Но вот как изменить их свойства - никак не могу разобраться. По сути, мне нужно отключить вот эту опцию (см приложенную картинку). То есть, как я понимаю, надо как-то сделать get записи, изменить ее свойства и сохранить. Кто-нибудь может показать пример кода, а то я что-то голову сломал... Из примеров на docs.microsoft.com ничего не понятно, в гугле примеров практически нет. На powershell еще встречаются, а на vbs практически ничего не нашел.

Спасибо.
...
Рейтинг: 0 / 0
DNS WMI Provider + VBS
    #40075447
f9n6001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
' просматриваем записи в домене strDomain
' метод CreateInstanceFromTextRepresentation обнуляет поле Timestamp
' (переводит запись DNS в статус "статический")


strServer = "bte-dc-01"
strZoneDNS = "teplo.local"
strDomain = "ats." & strZoneDNS

Set objWMIService = GetObject("winmgmts:\\" & strServer & "\root\MicrosoftDNS")
Set objDNS = objWMIService.Get("MicrosoftDNS_Server.name="".""")

'Запрос записей
Set objDNS = objWMIService.ExecQuery("Select * from MicrosoftDNS_ResourceRecord where DomainName=""" & strDomain & """",,48)
        For Each objInst in objDNS    
          
          If (objInst.Timestamp <> 0) Then
            strProperties = "MicrosoftDNS_AType.ContainerName='" & objInst.ContainerName & _ 
                "',DnsServerName='" & objInst.DnsServerName & _
                "',DomainName='" & objInst.DomainName & _
                "',OwnerName='" & objInst.OwnerName & _
                "',RecordClass='1',RecordData='" & objInst.RecordData & "'"
                

            ' Obtain an instance of the the class 
            ' using a key property value.
            Set objShare = objWMIService.Get(strProperties)

            ' Obtain an InParameters object specific
            ' to the method.
            Set objInParam = objShare.Methods_("CreateInstanceFromTextRepresentation"). _
                inParameters.SpawnInstance_()

            ' Add the input parameters.
            objInParam.Properties_.Item("ContainerName") =  objShare.ContainerName
            objInParam.Properties_.Item("DnsServerName") =  objShare.DnsServerName
            objInParam.Properties_.Item("TextRepresentation") =  objShare.TextRepresentation


            ' Execute the method and obtain the return status.
            ' The OutParameters object in objOutParams
            ' is created by the provider.
            Set objOutParams = objWMIService.ExecMethod(strProperties, "CreateInstanceFromTextRepresentation", objInParam)

            ' List OutParams
            'Wscript.Echo "Out Parameters: "
            'Wscript.echo "RR: " & objOutParams.RR
          
          End If
        Next
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / DNS WMI Provider + VBS
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]