我想在我的环境中使用的脚本如下所述,它是一个.vbs脚本。我想知道是否可以在弹出框中添加公司徽标?如果有可能我该怎么办?还添加了脚本结果的图片(屏幕截图)......脚本效果很好,我只需要了解徽标部分。请注意,徽标将是一个简单的.jpg文件,我希望我可以在弹出框上方添加公司徽标而不是嵌入,如:
公司徽标
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
答案 0 :(得分:0)
我的基础是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
用法
PasswordExpirationDialog 4, Date+ 4