this is the way your script should look now.
Code:
;************************************************************
;************************************************************
;** **
;** NetCare3.2 - D5PS2Z0J Login System **
;** Netlogon.kix **
;** D5PS2Z0J NetServices **
;** **
;** Dependencies: **
;** Kixforms.dll Ver 2.46.54.0 **
;** **
;************************************************************
;************************************************************
;**************************
;** Dim some global vars **
;**************************
Dim $frmForm
Dim $fraBanner, $fraForm
;Dim $prgProgress
Dim $Hour
;**************************
;** Set some global vars **
;**************************
$strVersion = "V.3.2.09"
$LSD = @LServer + "\netlogon"
$WaitTime = 1 ;** Time to wait after each task
$Blanker = " " ;** Blank captions
;******************
;** START HERE **
;******************
CheckDLL()
;Create KiXforms Object
$System = CreateObject("Kixtart.System")
;Verify KiXforms Object was created
If Not $System
$nul= MessageBox("KiXforms Not Initiated."+@CRLF+
"Please Verify KiXforms.dll is installed."+@CRLF+
"This Script Will Now Close.","Error...",16)
Quit()
EndIf
;***************
;** Main form **
;***************
$frmForm = $System.Form()
$frmForm.Text = "NetCare3.2 - D5PS2Z0J Logon System "
$frmForm.SysMenu = 0
$frmForm.Height = 300
$frmForm.Width = 450
$frmForm.FontName = "Verdana"
$frmForm.FontSize = 9
;*************
;** Banner **
;*************
$fraBanner = $frmForm.Controls.Add("PictureBox")
;$fraBanner.Image = "C:\my projects\NetCare3\Images\NC32SM.gif"
$fraBanner.BackColor = $frmForm.RGB(255,255,255)
$fraBanner.Width = $frmForm.Width - 4
$fraBanner.Height = 60
$fraBanner.Left = -2
$fraBanner.Top = -2
;************************
;** Draw On the banner **
;************************
$fraBanner.FontSize = 14
$fraBanner.FontName = "verdana"
$fraBanner.FontBold = 1
$fraBanner.FontItalic = 1
$fraBanner.ForeColor = $frmForm.RGB(0, 0, 200)
$fraBanner.PrintXY (10,0,"Netlogon.kix")
$fraBanner.FontItalic = 0
$fraBanner.FontSize = 8
$fraBanner.ForeColor = $frmForm.RGB(0,0,0)
$fraBanner.PrintXY (10,24,$strVersion +" Powered by KiXforms (Shamil Nunhuck) ")
$fraBanner.FontSize = 9
$fraBanner.PrintXY (10,35,"D5PS2Z0J NetServices")
$fraBanner.FontBold = 0
$fraBanner.FontSize = 10
;******************
;** Progress Bar **
;******************
$prgProgress = $frmForm.Controls.Add("ProgressBar")
$prgProgress.Width = $frmForm.Width - 10
$prgProgress.Left = 2
$prgProgress.Height = 20
$prgProgress.Top = 245;$frmForm.Height - $prgProgress.Height - 5
$prgProgress.Style = 1
;****************
;** Main Frame **
;****************
$fraMain = $frmForm.Controls.Add("PictureBox")
$fraMain.BackColor = $frmForm.RGB(255,255,255)
$fraMain.Width = $frmForm.Width
$fraMain.Height = 182 ;$frmForm.Height - $fraBanner.Height - 35
$fraMain.Left = -2
$fraMain.Top = $fraBanner.Height - 5
$lblJob = $fraMain.Controls.Add("label")
$lblJob.FontSize = 10
$lblJob.Top = 80
$lblJob.Width = 440 ;fraMain.Width - 20
$lblJob.Left = 10
$lblTask = $fraMain.Controls.Add("label")
$lblTask.FontSize = 10
$lblTask.Top = 120
$lblTask.Width = 440 ;fraMain.Width - 20
$lblTask.Left = 50
;***********************
;** Draw on the frame **
;** Greeting **
;***********************
$Hour = Val(Trim(Left(@Time,2)))
If $Hour < 12
$Greeting = "Good Morning @userid "
Else
If $Hour < 17
$Greeting = "Good Afternoon @userid"
Else
$Greeting = "Good Evening @userid "
EndIf
EndIf
$fraMain.FontSize = 11
$fraMain.FontName = "verdana"
$fraMain.FontBold = 1
$fraMain.ForeColor = $frmForm.RGB(0,100,100)
$fraMain.PrintXY (10,10,$Greeting)
$fraMain.PrintXY (10,40,"Please wait while you logon script executes...")
$frmForm.Center
$frmForm.Show
Prep()
MapDrives()
DoAudit()
LogUser()
DoAntiVirus()
Time()
Snd()
Sleep 2
$fraMain.ForeColor = $fraMain.BackColor
$fraMain.PrintXY (10,40,"Please wait while you logon script executes...")
$fraMain.ForeColor = $frmForm.RGB(0,100,100)
$fraMain.PrintXY (10,40,"Logon has been successful.")
Sleep 2
ExitScript()
While $frmForm.Visible
$=Execute($frmForm.DoEvents())
Loop
Exit 0
;*******************
;** End Main Form **
;*******************
Function CheckDLL()
;*************************************************
;** Check that KIXFORMS.DLL is registered and **
;** copy and register if not **
;*************************************************
;$ReturnCode = KeyExist("HKEY_CLASSES_ROOT\KixTart.Form\CLSID")
$ReturnCode = KeyExist("HKEY_CLASSES_ROOT\Kixtart.System\CLSID")
If $ReturnCode = 0 ;** KixForms not registered
;** Copy .DLL
$SourceFile = @LServer + "\netlogon\kixforms.dll"
$Value = ReadValue("HKLM\System\CurrentControlset\Control\Windows", "SystemDirectory")
$Destination = ExpandEnvironmentVars($Value)
Copy $SourceFile $Destination
;** Register .DLL silently
$CMDLine = "regsvr32 /s " + $Destination + "\kixforms.dll"
$ObjShell = CreateObject("WScript.Shell")
$ObjShell.run($CMDLine, 1, true)
;** Kill shell object
$ObjShell = ""
EndIf
;** Wait for registration to take effect
Sleep 2
EndFunction
Function DoProgress($Step)
$prgProgress.Value = $prgProgress.Value + $Step
EndFunction
Function Prep()
$lblJob.Text = $Blanker
$lblJob.Text = "Preparing for logon"
Sleep 1
EndFunction
Function MapDrives()
$lblJob.Text = $Blanker
$lblJob.Text = "Mapping Network Drives... "
Use * /DELETE
;** Common mappings: Everyone gets these **
Sleep $WaitTime
DoProgress(5)
$DriveToMap = "\\d5ps2z0j\PUBLIC"
$lblTask.Text = $Blanker
$lblTask.Text = "Public"
Use L: $DriveToMap
DoProgress(5)
$DriveToMap = "\\d5ps2z0j\netlogon"
$lblTask.Text = $Blanker
$lblTask.Text = "netlogon"
Use N: $DriveToMap
DoProgress(5)
$DriveToMap = "\\d5ps2z0j\cache"
$lblTask.Text = "SmartCache"
Use S: $DriveToMap
DoProgress(5)
EndFunction
Function DoAudit()
$fraMain.fontsize = 10
$lblJob.Text = $Blanker
$lblJob.Text = "Running Workstation Audit... "
;AUDIT STUFF IN HERE
;
;Audit what????
;
; Hardware: (Check for changes?)
; Installed Software (Check for changes?)
$lblTask.Text = $Blanker
$lblTask.Text = "Hardware"
Sleep $WaitTime
DoProgress(20)
$lblTask.Text = $Blanker
$lblTask.Text = "Software"
Sleep $WaitTime
DoProgress(20)
EndFunction
Function LogUser()
$lblJob.caption = $Blanker
$lblJob.caption = "Collecting Logon Info... "
DoProgress(10)
;** Dim some vars
$LogFolder = @LServer + "\netlogon\logs\"
;** Path to log dir
$FileName = @MONTH + "--" + @WKSTA + ".csv"
;** Get Log File Name
$MyFile = $LogFolder + $FileName
;** Set full path to file
$CRLF= Chr(13) + Chr(10)
;** Set Carriage Return + Line feed
$MyDateTime = @DATE + " : " + @TIME
;** Date and time string
DoProgress(10)
If Open(1,$MyFile,5) = 0
;** Open file for write. Create if doesn't exist
;** Date And time
$Silent = WriteLine (1, $MyDateTime + $CRLF)
$lblTask.Caption = $Blanker
$lblTask.Caption = "Time and Date"
Sleep $WaitTime
DoProgress(10)
;** User Details
$Silent = WriteLine (1, "User: " + @USERID + " Full Name: " + @FULLNAME + $CRLF);Write data to file
$lblTask.Caption = $Blanker
$lblTask.Caption = "User Name"
Sleep $WaitTime
DoProgress(10)
;** IP 0
$Silent = WriteLine (1, "IP: " + @IPAddress0 + $CRLF)
$lblTask.Caption = $Blanker
$lblTask.Caption = "IP Address"
Sleep $WaitTime
DoProgress(10)
$Silent = WriteLine (1, $CRLF)
$Silent = Close (1) ;Close file
EndIf
; Sleep 1
EndFunction
Function DoAntiVirus()
$lblJob.Text = $Blanker
$lblJob.Text = "Updating Antivirus... "
$lblTask.Text = $Blanker
$LSD = @LServer + "\Netlogon"
If Exist("$LSD\patches.kix")
Call "$LSD\patches.kix"
EndIf
DoProgress(5)
EndFunction
Function Time()
;======= Sync Time with Domain Controller
$lblJob.Text = $Blanker
$lblJob.Text = "Synchronizing time "
If Exist ("$LSD\TimeSync.bat")
Shell "$COMSPEC /e:1024 /c $LSD\TimeSync.bat"
EndIf
EndFunction
Function Snd()
$lblJob.Text = $Blanker
$lblJob.Text = "Logon has been successful"
Play @ldrive+"chimes.wav"
Sleep 2
DoProgress(5)
EndFunction
Function ExitScript()
Quit()
EndFunction
;*****************
;** End of File **
;*****************