introduction the windows 7 login script i inherited tools flow chart requirements auto login ...

Post on 31-Mar-2015

229 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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