2010-04-09 01:41:08 +04: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 17:46:04 +03:00
from . import common
2010-04-09 01:41:08 +04:00
from samba . net import Net
from samba . netcmd import (
Command ,
2018-07-30 09:14:37 +03:00
)
2010-04-09 01:41:08 +04:00
2018-07-30 09:20:39 +03:00
2010-04-09 01:41:08 +04:00
class cmd_time ( Command ) :
2012-10-09 13:53:21 +04:00
""" Retrieve the time on a server.
2011-11-10 05:16:33 +04: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-14 01:27:22 +04:00
synopsis = " % prog [server-name] [options] "
2010-04-09 01:41:08 +04:00
2012-02-06 19:33:38 +04:00
takes_optiongroups = {
" sambaopts " : options . SambaOptions ,
" credopts " : options . CredentialsOptions ,
" versionopts " : options . VersionOptions ,
2018-07-30 09:14:37 +03:00
}
2012-02-06 19:33:38 +04:00
2010-12-08 00:20:54 +03:00
takes_args = [ " server_name? " ]
2010-04-09 01:41:08 +04:00
2012-09-16 16:18:39 +04:00
def run ( self , server_name = None , credopts = None , sambaopts = None ,
versionopts = None ) :
2010-04-09 01:41:08 +04:00
lp = sambaopts . get_loadparm ( )
2010-12-08 00:20:54 +03:00
creds = credopts . get_credentials ( lp , fallback_machine = True )
2010-09-24 06:51:36 +04:00
net = Net ( creds , lp , server = credopts . ipaddress )
2010-12-08 00:20:54 +03:00
if server_name is None :
server_name = common . netcmd_dnsname ( lp )
2018-07-30 09:18:25 +03:00
self . outf . write ( net . time ( server_name ) + " \n " )