2010-04-08 23:41:08 +02:00
# time
#
# Copyright Jelmer Vernooij 2010 <jelmer@samba.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
import samba . getopt as options
2018-04-30 15:46:04 +01:00
from . import common
2010-04-08 23:41:08 +02:00
from samba . net import Net
from samba . netcmd import (
Command ,
2018-07-30 18:14:37 +12:00
)
2010-04-08 23:41:08 +02:00
2018-07-30 18:20:39 +12:00
2010-04-08 23:41:08 +02:00
class cmd_time ( Command ) :
2012-10-09 11:53:21 +02:00
""" Retrieve the time on a server.
2011-11-09 20:16:33 -05:00
This command returns the date and time of the Active Directory server specified on the command . The server name specified may be the local server or a remote server . If the servername is not specified , the command returns the time and date of the local AD server .
Example1 :
samba - tool time samdom . example . com
Example1 returns the date and time of the server samdom . example . com .
Example2 :
samba - tool time
Example2 return the date and time of the local server .
"""
2011-10-13 23:27:22 +02:00
synopsis = " % prog [server-name] [options] "
2010-04-08 23:41:08 +02:00
2012-02-06 16:33:38 +01:00
takes_optiongroups = {
" sambaopts " : options . SambaOptions ,
" credopts " : options . CredentialsOptions ,
" versionopts " : options . VersionOptions ,
2018-07-30 18:14:37 +12:00
}
2012-02-06 16:33:38 +01:00
2010-12-08 08:20:54 +11:00
takes_args = [ " server_name? " ]
2010-04-08 23:41:08 +02:00
2012-09-16 14:18:39 +02:00
def run ( self , server_name = None , credopts = None , sambaopts = None ,
versionopts = None ) :
2010-04-08 23:41:08 +02:00
lp = sambaopts . get_loadparm ( )
2010-12-08 08:20:54 +11:00
creds = credopts . get_credentials ( lp , fallback_machine = True )
2010-09-23 19:51:36 -07:00
net = Net ( creds , lp , server = credopts . ipaddress )
2010-12-08 08:20:54 +11:00
if server_name is None :
server_name = common . netcmd_dnsname ( lp )
2018-07-30 18:18:25 +12:00
self . outf . write ( net . time ( server_name ) + " \n " )