WINDOWS 7 LOGIN SCRIPT
WINDOWS 7 LOGIN SCRIPT Introduction
The Windows 7 login script I inherited Tools
Flow Chart Requirements
Auto Login Auto Shutdown
Unix Timestamps Design
Auto Login Auto Shutdown
Conclusion
INTRODUCTION The Windows 7 login script I inherited
Displays a login screenPerforms account authenticationChecks for blank usernames and
passwords less than 8 charactersAuto login capability does not work. Auto login implemented using
threading.
INTRODUCTION Threading
Thread A Thread B Thread C
INTRODUCTION Tools
Python 2.7.3Eclipse
FLOW CHART
REQUIREMENTS: AUTO SHUTDOWN
Shutdown the computer at any scheduled time
REQUIREMENTS: AUTO LOGIN Create a 2 GB H: drive partition Run login.vbs Run LibraryDefaultPage.vbs Display desktop
UNIX TIMESTAMPS Number of seconds since 12 a.m. Jan. 1,
1970 E.g. 5/3/2013 5:54:17 PM 1362518657.85
DESIGN: AUTO SHUTDOWN Problem 1: time is not a Unix timestamp ['11:20', ''] 1362063000.0
DESIGN: AUTO SHUTDOWN Solution: Step 1: Get the month, day, year
now
datetime.datetime.now()
month
day
year
str(now.month)
str(now.day)
str(now.year)
DESIGN: AUTO SHUTDOWN Step 2: Get the hour, minute, second hour,minute =
shutdownTimeList[0].split(‘:’) 11:20
hour = 11minute = 20
second = “00”
DESIGN: AUTO SHUTDOWN Step 3: Make a date string
e.g. mm/dd/YYYY HH:MM:SS Step 4: Make a timestamp Time.mktime.datetime.datetime.strptim
e(date_string, “%m/%d/%Y %H:%M:%S”)
e.g. 1362063000.0
DESIGN: AUTO LOGIN Threading abandoned Therefore:
shutdown –a: cancels shutdown/restart shutdown –r –t xxx: sets restart for xxx seconds
['1358517600000', '1358523000000', '1358527500000', '']
DESIGN: AUTO LOGINnow
Auto Login Start Time
Auto Login Period
Auto Login End Time
Outside Auto Login Period
restart 60 sec. afterauto login period
time.time()
os.system(“shutdown –r –t xxx”)
• clear any restart/shutdown• create 2 GB partition for H: • call login.vbs with
auto login credentials• call LibraryDefaultPage.vbs
DESIGN: AUTO LOGINnow restart 60 sec. after
auto login period
• clear any restart/shutdown• create 2 GB partition for H: • call login.vbs with
auto login credentials• call LibraryDefaultPage.vbs
os.system(“shutdown –a”)
subprocess.call(“diskpart /s command.txt”)
shell.Run(“wscript.exe [file path]”)
DESIGN: AUTO LOGIN Problem: Multiple auto login times
Auto Login Start Time
Auto Login Period
Auto Login End Time
Outside Auto Login Period
now
DESIGN: AUTO LOGIN Solution: Boolean flag
Auto Login Start Time
Auto Login Period
Auto Login End Time
Outside Auto Login Period
now
flag
DESIGN: AUTO LOGIN Problem: auto login after auto shutdown
Auto Login Start Time
Auto Login Period
Auto Login End Time
Outside Auto Login Period
now auto shutdown
flag
DESIGN: AUTO LOGIN Solution: global variable
autoShutdowntime
Auto Login Start Time
Auto Login Period
Auto Login End Time
Outside Auto Login Period
now auto shutdown
DESIGN: AUTO LOGIN Summary
Auto Login Start Time
Auto Login Period
Auto Login End Time
Outside Auto Login Period
now auto shutdown
set flag to trueos.system(“shutdown –a”)os.system(“shutdown –r –t xxx”)
IMPLEMENTATION hour, minute =
shutdownTimes[0].split(':') dateString = month + "/" + day + "/" +
year + " " + hour + ":" + minute + ":" + second
time.mktime(datetime.datetime.strptime(dateString, "%m/%d/%Y %H:%M:%S").timetuple())
1362063000.0
QUESTIONS?
ADDITIONAL MATERIAL (urllib2.urlopen("http://" + bootserver + "/getentityvarval?
var=parameter").read()).split('\r\n')
INTRODUCTION Why it needs to be improved
Switch Digital Classroom to Windows 7Reduce power consumptionExpired and webcat accounts can log in.
Top Related