The script I want to use in my environment is stated below, it is a .vbs script. I was wondering if it is possible to add a company logo to the pop-up box? If it is possible how would I do it? Also added is a picture (screen shot) of the results of the script as is... The script works great, I just need to know about the logo part. Due note that the logo will be a simple .jpg file and I am hoping I can add the company logo above the popup box instead of imbedded, something like:
Company logo
msgbox
'==========================================
' Check for password expiring notification
'==========================================
' First, get the domain policy.
'==========================================
Dim oDomain
Dim oUser
Dim maxPwdAge
Dim numDays
Dim warningDays
warningDays = 14
Set LoginInfo = CreateObject("ADSystemInfo")
Set objUser = GetObject("LDAP://" & LoginInfo.UserName & "")
strDomainDN = UCase(LoginInfo.DomainDNSName)
strUserDN = LoginInfo.UserName
'========================================
' Check if password is non-expiring.
'========================================
Const ADS_UF_DONT_EXPIRE_PASSWD = &h10000
intUserAccountControl = objUser.Get("userAccountControl")
If intUserAccountControl And ADS_UF_DONT_EXPIRE_PASSWD Then
'WScript.Echo "The password does not expire."
Else
Set oDomain = GetObject("LDAP://" & strDomainDN)
Set maxPwdAge = oDomain.Get("maxPwdAge")
'========================================
' Calculate the number of days that are
' held in this value.
'========================================
numDays = CCur((maxPwdAge.HighPart * 2 ^ 32) + _
maxPwdAge.LowPart) / CCur(-864000000000)
'WScript.Echo "Maximum Password Age: " & numDays
'========================================
' Determine the last time that the user
' changed his or her password.
'========================================
Set oUser = GetObject("LDAP://" & strUserDN)
'========================================
' Add the number of days to the last time
' the password was set.
'========================================
whenPasswordExpires = DateAdd("d", numDays, oUser.PasswordLastChanged)
fromDate = Date
daysLeft = DateDiff("d",fromDate,whenPasswordExpires)
'WScript.Echo "Password Last Changed: " & oUser.PasswordLastChanged
if (daysLeft < warningDays) and (daysLeft > -1) then
Msgbox "Password Expires in " & daysLeft & " day(s)" & " at " & whenPasswordExpires & chr(13) & chr(13) & "Once logged in, press CTRL-ALT-DEL and" & chr(13) & "select the 'Change a password' option", 0, " PASSWORD EXPIRATION WARNING!"
End if
End if
'========================================
' Clean up.
'========================================
Set oUser = Nothing
Set maxPwdAge = Nothing
Set oDomain = Nothing
I based this on mockmyberet/ChooseFile.vbs
Sub PasswordExpirationDialog(daysLeft, whenPasswordExpires)
Dim fso, objShell, HTAFileName, HtaFile
Const TemporaryFolder = 2
Const ForReading = 1
Set fso = CreateObject("Scripting.FileSystemObject")
Set objTempFolder = fso.GetSpecialFolder(TemporaryFolder)
HTAFileName = fso.GetSpecialFolder(TemporaryFolder).Path & "\PasswordExpirationDialog.hta"
Set HtaFile = fso.CreateTextFile(HTAFileName, True)
With HtaFile
.writeline("<html><head>")
.writeline("<title>PASSWORD EXPIRATION WARNING!</title>")
.writeline("<HTA:APPLICATION ID='PaswordDialog'/></head><script language='VBScript'>")
.writeline("Sub Window_OnLoad")
.writeline("window.resizeto 700,400")
.writeline("End Sub")
.writeline("</script><body bgcolor='white'>")
.writeline("<image src='https://upload.wikimedia.org/wikipedia/commons/thumb/3/3b/New_Orleans_Saints.svg/1000px-New_Orleans_Saints.svg.png' width='72' height='72' />")
.writeline("<h1>")
.writeline("Password Expires in " & daysLeft & " day(s)" & " at " & whenPasswordExpires)
.writeline("<br><br>Once logged in, press CTRL-ALT-DEL and")
.writeline("<br>select the 'Change a password' option")
.writeline("<center><button onclick='Self.Close'>Okay</button></center>")
.writeline("</h1></body></html>")
.Close
End With
Set HtaFile = Nothing
Set objShell = CreateObject("WScript.Shell")
objShell.Run "%windir%\SysWoW64\mshta.exe " & Chr(34) & HTAFileName & Chr(34)
WScript.Sleep 500
fso.DeleteFile HTAFileName, True
Set objShell = Nothing
End Sub
Usage
PasswordExpirationDialog 4, Date+ 4
来源:https://stackoverflow.com/questions/38231682/pwexpchk-vbs-can-i-add-a-company-logo