Выполнение этого в запросе Select не является действительно наилучшим вариантом, поскольку нет никакого оператора "IN" в WQL. Единственный способ сделать это, должен был бы создать Ваш запрос Select динамично, на основе массива исключенных сервисов.
Я рекомендовал бы делать его последний путь, путем создания массива сервисных названий, получения ВСЕХ сервисов с запросом Select и затем итерации по ним. Во время повторения необходимо было бы проверить их по массиву исключенных сервисов.
С наилучшими пожеланиями, Trevor Sullivan
=========================================================================
Excluded = Array("ccmexec", "wuauserv", "wudfsvc")
set svcs = GetObject("winmgmts:root\cimv2").ExecQuery("select * from win32_service where startmode = 'auto'")
for each svc in svcs
skip = false
for i = 0 to uBound(Excluded)
if Excluded(i) = svc.Name then skip = true
next
if skip = true then
'msgbox svc.Name
else
' Service was not skipped. Do stuff here.
end if
next
В вашем примере вы пишете последнюю часть адреса как одно число. В обратном DNS вы должны записывать каждую шестнадцатеричную цифру отдельно (и включать ведущие нули, где это необходимо.
Чтобы исправить и расширить ваш пример:
$TTL 3h
$ORIGIN 3.0.3.2.3.7.9.1.1.0.0.2.ip6.arpa.
@ IN SOA ns3.example.ca. ns4.example.ca. (
2011071030 ; serial
3h ; refresh after 3 hours
1h ; retry after 1 hour
1w ; expire after 1 week
1h ) ; negative caching TTL of 1 hour
NS ns3.example.ca.
NS ns4.example.ca.
4.3.2.1 IN NS ns1.example.com.
NS ns2.example.com.
5.4.3.2 IN NS ns99.example2.com.
NS ns100.example2.com.
1.2.3.4 IN NS ns1.cust1.com.
NS ns2.cust1.com.
; This would be for 2001:1973:2303:1::/64
1.0.0.0 IN NS ns1.example.org.
NS ns2.example.org.
; This would be for 2001:1973:2303:10::/64
0.1.0.0 IN NS ns1.example.org.
NS ns2.example.org.
; This would be for 2001:1973:2303:100::/64
0.0.1.0 IN NS ns1.example.org.
NS ns2.example.org.
; This would be for 2001:1973:2303:1000::/64
0.0.0.1 IN NS ns1.example.org.
NS ns2.example.org.
Очень полезным инструментом для определения полного обратного DNS-имени адреса является ] sipcalc
:
$ sipcalc -r 2001:1973:2303:ab::cafe
-[ipv6 : 2001:1973:2303:ab::cafe] - 0
[IPV6 DNS]
Reverse DNS (ip6.arpa) -
e.f.a.c.0.0.0.0.0.0.0.0.0.0.0.0.b.a.0.0.3.0.3.2.3.7.9.1.1.0.0.2.ip6.arpa.
-
Не совсем уверен, что это сработает ... но вы можете попробовать написать записи NS, например:
4.3.2.1 IN NS ns1.example.com.
4.3.2.1 IN NS ns2.example.com.
5.4.3.2 IN NS ns99.example2.com.
5.4.3.2 IN NS ns100.example2.com.
1.2.3.4 IN NS ns1.cust1.com.
1.2.3.4 IN NS ns2.cust1.com.
Другие указали на вашу основную ошибку, но для ясности:
В предоставляемом вами файле зоны вы делегируете:
1234.3.0.3.2.3.7.9.1.1.0.0.2.ip6.arpa.
, а не:
4.3.2.1.3.0.3.2.3.7.9.1.1.0.0.2.ip6.arpa.
Что касается DNS обеспокоен тем, что это вполне допустимое (но, увы, совершенно бесполезное) делегирование, поэтому при этом не будет отмечена ошибка.