Windows 7 Login Script

Report

Introduction
 The
Windows 7 login script I inherited
 Tools
Flow Chart
 Requirements

 Auto
Login
 Auto Shutdown
Unix Timestamps
 Design

 Auto
Login
 Auto Shutdown

Conclusion

The Windows 7 login script I inherited
 Displays a login screen
 Performs account authentication
 Checks for blank usernames and
passwords less than 8 characters
 Auto login capability does not work.
 Auto login implemented using threading.
 Threading
Thread A
Thread B
Thread C
 Tools
 Python
 Eclipse
2.7.3
 Shutdown
the computer at any
scheduled time
 Create
a 2 GB H: drive partition
 Run login.vbs
 Run LibraryDefaultPage.vbs
 Display desktop
 Number
of seconds since 12 a.m.
Jan. 1, 1970

E.g. 5/3/2013 5:54:17 PM  1362518657.85
 Problem
1: time is not a Unix
timestamp
 ['11:20', ''] 1362063000.0
 Solution:
 Step
1: Get the month, day, year
datetime.datetime.now()
now
month
str(now.month)
year
day
str(now.day)
str(now.year)
 Step
2: Get the hour, minute, second
 hour,minute =
shutdownTimeList[0].split(‘:’)
 11:20
 hour
= 11
 minute = 20
 second
= “00”
 Step

3: Make a date string
e.g. mm/dd/YYYY HH:MM:SS
 Step
4: Make a timestamp
 Time.mktime.datetime.datetime.strp
time(date_string, “%m/%d/%Y
%H:%M:%S”)
 e.g. 1362063000.0
Threading abandoned
 Therefore:

 shutdown
–a: cancels shutdown/restart
 shutdown –r –t xxx: sets restart for xxx
seconds
 ['1358517600000',
'1358523000000',
'1358527500000', '']
time.time()
now
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
Auto Login Start Time
Auto Login Period
Auto Login End Time
Outside Auto Login Period
os.system(“shutdown –r –t xxx”)
now
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]”)
 Problem:
Multiple auto login times
now
Auto Login Start Time
Auto Login Period
Auto Login End Time
Outside Auto Login Period
 Solution:
Boolean flag
now
flag
Auto Login Start Time
Auto Login Period
Auto Login End Time
Outside Auto Login Period
 Problem:
auto login after auto
shutdown
now
auto shutdown
flag
Auto Login Start Time
Auto Login Period
Auto Login End Time
Outside Auto Login Period
 Solution:
global variable
autoShutdowntime
now
auto shutdown
Auto Login Start Time
Auto Login Period
Auto Login End Time
Outside Auto Login Period
 Summary
now
set flag to true
os.system(“shutdown –a”)
os.system(“shutdown –r –t xxx”)
Auto Login Start Time
Auto Login Period
Auto Login End Time
Outside Auto Login Period
auto shutdown
 hour,
minute =
shutdownTimes[0].split(':')
 dateString = month + "/" + day + "/" +
year + " " + hour + ":" + minute + ":" +
second
 time.mktime(datetime.datetime.strpt
ime(dateString, "%m/%d/%Y
%H:%M:%S").timetuple())
 1362063000.0

(urllib2.urlopen("http://" + bootserver +
"/getentityvarval?var=parameter").read()).split('\r\n')
 Why
it needs to be improved
 Switch
Digital Classroom to Windows 7
 Reduce power consumption
 Expired and webcat accounts can log in.

similar documents