source: vendor/3.6.23/source4/scripting/devel/rodcdns

Last change on this file was 740, checked in by Silvan Scherrer, 13 years ago

Samba Server: update vendor to 3.6.0

File size: 1.5 KB
Line 
1#!/usr/bin/env python
2
3# script to call a netlogon RODC DNS update
4
5import sys
6from optparse import OptionParser
7
8sys.path.insert(0, "bin/python")
9
10import samba
11import samba.getopt as options
12from samba.dcerpc import netlogon, winbind
13
14########### main code ###########
15if __name__ == "__main__":
16 parser = OptionParser("rodcdns [options]")
17 sambaopts = options.SambaOptions(parser)
18
19 parser.add_option("", "--weight", dest="weight", help="record weight", default=0, type='int')
20 parser.add_option("", "--priority", dest="priority", help="record priority", default=100, type='int')
21 parser.add_option("", "--port", dest="port", help="port number", default=389, type='int')
22 parser.add_option("", "--type", dest="type", help="record type", default=netlogon.NlDnsLdapAtSite, type='int')
23 parser.add_option("", "--site", dest="site", help="site name", default="Default-First-Site-Name")
24
25 (opts, args) = parser.parse_args()
26
27 lp = sambaopts.get_loadparm()
28
29 w = winbind.winbind("irpc:winbind_server", lp)
30
31 dns_names = netlogon.NL_DNS_NAME_INFO_ARRAY()
32 dns_names.count = 1
33 name = netlogon.NL_DNS_NAME_INFO()
34 name.type = opts.type
35 name.priority = opts.priority
36 name.weight = opts.weight
37 name.port = opts.port
38 name.dns_register = True
39 dns_names.names = [ name ]
40 site_name = opts.site.decode('utf-8')
41
42 ret_names = w.DsrUpdateReadOnlyServerDnsRecords(site_name, 600, dns_names)
43 print("Status: %u" % ret_names.names[0].status)
Note: See TracBrowser for help on using the repository browser.