Gustav Brock
gustav at cactus.dk
Sat Oct 18 03:34:18 CDT 2014
Hi Jim Sure. Nothing fancy: <vbscript> Option Explicit ' Main script Dim strNetBIOSDomain Dim strNTName Dim strNTPath Dim strNTProvider Dim varNull Dim IsMemberOfCactusData Dim IsMemberOfTeamCactus Dim objShell Dim objNetwork Dim objGroupNames Set objShell = CreateObject("WScript.Shell") Set objNetwork = CreateObject("Wscript.Network") strNetBIOSDomain = EnvString("userdomain") strNTName = EnvString("username") strNTPath = strNetBIOSDomain & "/" & strNTName strNTProvider = "WinNT://" & strNTPath IsMemberOfCactusData = IsMemberOfGroup("CactusData") IsMemberOfTeamCactus = IsMemberOfGroup("TeamCactus") If IsMemberOfTeamCactus Then Call MapDrive("i", "\\cactus.dom\cactus data\inst") Call MapDrive("s", "\\cactus.dom\cactus data\data\database") Call MapDrive("t", "\\cactus.dom\cactus data\data\document") Call MapDrive("u", "\\cactus.dom\cactus data\data\internal\privat") ElseIf IsMemberOfCactusData Then Call MapDrive("i", "\\cactus.dom\cactus data\inst") 'Call MapDrive("n", "\\cactus.dom\cactus data\data") Call MapDrive("p", "\\cactus.dom\cactus data\data\internal") Call MapDrive("r", "\\cactus.dom\cactus data\data\codebase") Call MapDrive("s", "\\cactus.dom\cactus data\data\database") Call MapDrive("t", "\\cactus.dom\cactus data\data\document") Call MapDrive("u", "\\cactus.dom\cactus data\data\internal\privat") ElseIf LCase(strNTName) = "skan" Then Call MapDrive("i", "\\cactus.dom\cactus data\inst") Call MapDrive("t", "\\cactus.dom\cactus data\data\document") ElseIf LCase(strNTName) = "backuser" Then Call MapDrive("i", "\\sanzibar\inst") Call MapDrive("m", "\\sanzibar\data") Else Call MapDrive("i", "\\cactus.dom\cactus data\inst") Call MapDrive("s", "\\cactus.dom\cactus data\data\database") Call MapDrive("t", "\\cactus.dom\cactus data\data\document") Call MapDrive("u", "\\cactus.dom\cactus data\data\internal\privat") End If If LCase(strNTName) = "gustav" Or LCase(strNTName) = "cactus" Then Call MapDrive("q", "\\cactus.dom\cactus data\data\external") End If varNull = objGroupNames.RemoveAll() Set objGroupNames = Nothing Set objNetwork = Nothing Set objShell = Nothing ' End script ' ----------------------------------------------------- Private Sub MapDrive(strDriveLetter, strUNC) ' Map a drive to strUNC. ''' On Error Resume Next strDriveLetter = Chr(Asc(strDriveLetter)) & ":" objNetwork.MapNetworkDrive strDriveLetter, strUNC If (Err.Number <> 0) Then On Error GoTo 0 objNetwork.RemoveNetworkDrive strDriveLetter, True, True objNetwork.MapNetworkDrive strDriveLetter, strUNC End If On Error GoTo 0 End Sub Private Function IsMemberOfGroup(strGroupName) ' Checks if the current user is a group member of groupName. Dim objUser Dim objGroup If IsEmpty(objGroupNames) Then Set objGroupNames = CreateObject("Scripting.Dictionary") objGroupNames.CompareMode = vbTextCompare Set objUser = GetObject(strNTProvider & ",user") For Each objGroup in objUser.Groups objGroupNames.Add objGroup.Name, True Next Set objGroup = Nothing Set objUser = Nothing End if IsMemberOfGroup = CBool(objGroupNames.Exists(strGroupName)) End Function Private Function EnvString(strEnvironmentVariable) ' Returns the value from Environment of the environment variable strEnvironmentVariable. strEnvironmentVariable = "%" & strEnvironmentVariable & "%" EnvString = objShell.ExpandEnvironmentStrings(strEnvironmentVariable) End Function </vbscript> /gustav ________________________________________ Fra: dba-tech-bounces at databaseadvisors.com <dba-tech-bounces at databaseadvisors.com> på vegne af Jim Lawrence <accessd at shaw.ca> Sendt: 18. oktober 2014 04:21 Til: Discussion of Hardware and Software issues Emne: Re: [dba-Tech] Windows Update Hi Gustav: Would you have a script that I could take a look at? If you don't think that is a good idea, fine but if its OK, sent it either online or offline. :-) Jim ----- Original Message ----- From: "Gustav Brock" <gustav at cactus.dk> To: "Discussion of Hardware and Software issues" <dba-tech at databaseadvisors.com> Sent: Friday, October 17, 2014 3:01:02 PM Subject: Re: [dba-Tech] Windows Update Hi Jim I've never heard of such issues. On the other hand, I do all testing connecting to our AD; then DNS etc. are assigned by the login script, so it always works. I never touch the hostfile. /gustav