Standortabhängiges Anmeldescript
Den aktuellen Standort eines Benutzers zu ermitteln, definiert durch die Active Directory Sites, funktioniert folgender VBS Code:
On Error Resume Next
Set wshShell = WScript.CreateObject( "WScript.Shell" )
strUserDomain = wshShell.ExpandEnvironmentStrings( "%USERDOMAIN%" )
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("SELECT ClientSiteName FROM Win32_NTDomain WHERE DomainName = '"& strUserDomain &"'",,48)
For Each objItem in colItems
' Hier wird der erkannte Sitename der Anmeldedomäne ausgegeben.
strSiteName = objItem.ClientSiteName
next
select case strSiteName
case "Berlin"
' Tu irgendwas
case "München"
' Tu irgendwas anderes
end select
Getestet unter Windows XP, Windows 2003, Vista und Windows 7.