Code From Module PAWEnviron, Database: WMISample.mdb                               Home

Procedures:

Module PAWEnviron

Option Compare Database
Option Explicit

'---------------------------------------------------------------------------------------
' Module    : PAWEnviron
' Author     : Patrick Wood, Gaining Access Technologies http://gainingaccess.net
' Date      : 4/19/2010
' Purpose   : Get information provided by the Environ Function
' Note      : I have used all uppercase Variables when my PC returned the Variable in uppercase.
' More Info : http://www.scriptlogic.com/support/CustomScripts/environmentVariableReference.html
'---------------------------------------------------------------------------------------
'
' Note: Environ Variables and the values they return will vary on different computers
' and different Operating Systems.  The first two procedures will return all Environ
' Variables and the returned values so you may know how to use them on your computer.
'
' Some Environ Variable names can be misleading Environ("OS") does not return "Windows 7",
' or "Windows XP", but on my computer, which presently uses Windows 7, the returned value
' is "Windows_NT" for the Windows NT "family" systems.
'
' Implications for Distributed Databases:
' You may not be able to rely on certain Environ Functions to provide consistent results.
' As more people use Windows 7 and Vista, Access Applications will have not have access
' to certain directories such as the system drive and the windows directory.
'
' You can also get the Environ Variable values by using the command prompt and entering
' for example: echo %COMPUTERNAME%


'---------------------------------------------------------------------------------------
' Procedure : ListEnvironVariables
' Author     : Patrick Wood, Gaining Access Technologies http://gainingaccess.net
' Date      : 2/14/2010
' Purpose   : Lists all Environment Variables.
'---------------------------------------------------------------------------------------
'
Sub ListEnvironVariables()
    Dim i As Long

    ' Prepare to loop through all the Environment Variables
     i = 1
    ' Start the Loop and run until nothing is returned
    Do Until Environ(i) = ""
         Debug.Print Environ(i)
        ' Increment to the next number
         i = i + 1
     Loop

End Sub

Back to Top of Code


'---------------------------------------------------------------------------------------
' Procedure : GetEnvironmentVariables
' Author     : Patrick Wood, Gaining Access Technologies http://gainingaccess.net
' Date      : 2/14/2010
' Purpose   : Lists all Environment Variables and numbers them.
'---------------------------------------------------------------------------------------
'
Function GetEnvironmentVariables() As String

     Dim i As Integer
     Dim strEnviron As String

     i = 1
     Do Until Environ(i) = vbNullString
         strEnviron = strEnviron & i & vbTab & Environ(i) & vbCrLf
         i = i + 1
     Loop

     Debug.Print strEnviron
     GetEnvironmentVariables = strEnviron

End Function

Back to Top of Code


'---------------------------------------------------------------------------------------
' Procedure : GetUserName
' Author     : Patrick Wood, Gaining Access Technologies http://gainingaccess.net
' Date      : 2/14/2010
' Modified  : 4/19/2010
' Purpose   : Returns the current User Name.
'---------------------------------------------------------------------------------------
'
Function GetUserName() As String

     GetUserName = Environ("USERNAME")

End Function

Back to Top of Code


'---------------------------------------------------------------------------------------
' Procedure : GetComputerName
' Author     : Patrick Wood, Gaining Access Technologies http://gainingaccess.net
' Date      : 2/14/2010
' Modified  : 4/19/2010
' Purpose   : Returns the NetBOIS name of the computer.
'---------------------------------------------------------------------------------------
'
Function GetComputerName() As String

     GetComputerName = Environ("COMPUTERNAME")

End Function

Back to Top of Code


'---------------------------------------------------------------------------------------
' Procedure : GetUserDomain
' Author     : Patrick Wood, Gaining Access Technologies http://gainingaccess.net
' Date      : 4/19/2010
' Purpose   : Returns the name of the domain that contains the user's account.
' Example   : Returns "MyDomain"
'---------------------------------------------------------------------------------------
'
Function GetUserDomain() As String

     GetUserDomain = Environ("USERDOMAIN")

End Function

Back to Top of Code


'---------------------------------------------------------------------------------------
' Procedure : GetLogonServer
' Author     : Patrick Wood, Gaining Access Technologies http://gainingaccess.net
' Date      : 4/19/2010
' Purpose   : Returns the hostname of the server the user is logged into.
' Example   : Returns "\\MyServer"
'---------------------------------------------------------------------------------------
'
Function GetLogonServer() As String

     GetLogonServer = Environ("LOGONSERVER")

End Function

Back to Top of Code


'---------------------------------------------------------------------------------------
' Procedure : GetUserProfile
' Author     : Patrick Wood, Gaining Access Technologies http://gainingaccess.net
' Date      : 2/14/2010
' Modified  : 4/19/2010
' Purpose   : Returns the full path of the "\Documents and Settings\UserName" folder.
'           : In this folder is the Start Menu folder, Desktop folder, My Documents folder,
'           : and the Application Data folder.
' Example   : Returned "C:\Users\Patrick Wood"
'---------------------------------------------------------------------------------------
'
Function GetUserProfile() As String

     GetUserProfile = Environ("USERPROFILE")
    
End Function

Back to Top of Code


'---------------------------------------------------------------------------------------
' Procedure : GetProgramFilesFolder
' Author     : Patrick Wood, Gaining Access Technologies http://gainingaccess.net
' Date      : 2/14/2010
' Modified  : 4/19/2010
' Purpose   : Returns the path of the Program Files folder.
' Example   : Returned "C:\Program Files"
'---------------------------------------------------------------------------------------
'
Function GetProgramFilesFolder() As String

     GetProgramFilesFolder = Environ("ProgramFiles")

End Function

Back to Top of Code


'---------------------------------------------------------------------------------------
' Procedure : GetMyDocumentsDir
' Author     : Patrick Wood, Gaining Access Technologies http://gainingaccess.net
' Date      : 2/14/2010
' Modified  : 4/19/2010
' Purpose   : Returns the full path of the "\Documents and Settings\UserName\My Documents\" folder.
' Examples  : Returned "C:\Documents and Settings\UserName\My Documents" on one computer
'           : Returned "C:\Users\Patrick Wood\My Documents" on another computer
'---------------------------------------------------------------------------------------
'
Function GetMyDocumentsDir() As String

     GetMyDocumentsDir = Environ("USERPROFILE") & "\My Documents"

End Function

Back to Top of Code


'---------------------------------------------------------------------------------------
' Procedure : GetAppDataFolder
' Author     : Patrick Wood, Gaining Access Technologies http://gainingaccess.net
' Date      : 2/14/2010
' Modified  : 4/19/2010
' Purpose   : Returns the folder path where applications store data by default.
' Example   : Returned "C:\Documents and Settings\UserName\Application Data"
'---------------------------------------------------------------------------------------
'
Function GetAppDataFolder() As String

     GetAppDataFolder = Environ("APPDATA")

End Function

Back to Top of Code


'---------------------------------------------------------------------------------------
' Procedure : GetCommonProgramFiles
' Author     : Patrick Wood, Gaining Access Technologies http://gainingaccess.net
' Date      : 4/19/2010
' Purpose   : Returns the path to the common program files folder.
' Example   : Return: "C:\Program Files\Common Files"
'---------------------------------------------------------------------------------------
'
Function GetCommonProgramFiles() As String

     GetCommonProgramFiles = Environ("CommonProgramFiles")

End Function

Back to Top of Code


'---------------------------------------------------------------------------------------
' Procedure : GetAllUsersProfile
' Author     : Patrick Wood, Gaining Access Technologies http://gainingaccess.net
' Date      : 2/14/2010
' Modified  : 4/19/2010
' Purpose   : Returns the full path of the "C:\Documents and Settings\All Users" folder
'           : In this folder is the All Users Start Menu folder, Shared Documents folder,
'           : and Favorites folder.
' Example   : Returned "C:\Documents and Settings\All Users" on one computer.
' Example   : Returned "C:\ProgramData" on another computer
'---------------------------------------------------------------------------------------
'
Function GetAllUsersProfile() As String

     GetAllUsersProfile = Environ("ALLUSERSPROFILE")

End Function

Back to Top of Code


'---------------------------------------------------------------------------------------
' Procedure : GetSharedDocsFolder
' Author     : Patrick Wood, Gaining Access Technologies http://gainingaccess.net
' Date      : 2/14/2010
' Modified  : 4/19/2010
' Purpose   : This procedure returns the Shared Documents folder
' Example   : Returned "C:\Documents and Settings\All Users\Documents" on one computer.
' Example   : Returned "C:\ProgramData\Documents" on another computer
'---------------------------------------------------------------------------------------
'
Function GetSharedDocsFolder() As String

     GetSharedDocsFolder = Environ("ALLUSERSPROFILE") & "\Documents"

End Function

Back to Top of Code


'---------------------------------------------------------------------------------------
' Procedure : GetNumberOfProcessors
' Author     : Patrick Wood, Gaining Access Technologies http://gainingaccess.net
' Date      : 4/19/2010
' Purpose   : Returns the number of CPUs installed on the computer.
' Example   : Returns 1 or 2
'---------------------------------------------------------------------------------------
'
Function GetNumberOfProcessors() As String

     GetNumberOfProcessors = Environ("NUMBER_OF_PROCESSORS")

End Function

Back to Top of Code


'---------------------------------------------------------------------------------------
' Procedure : GetCPUDescription
' Author     : Patrick Wood, Gaining Access Technologies http://gainingaccess.net
' Date      : 2/14/2010
' Modified  : 4/19/2010
' Purpose   : Returns a description of the CPU. This does not return a Processor ID.
' Example   : Returned x86 Family 15 Model 6 Stepping 5, GenuineIntel on a computer
'---------------------------------------------------------------------------------------
'
Function GetCPUDescription() As String

     GetCPUDescription = Environ("PROCESSOR_IDENTIFIER")

End Function

Back to Top of Code


'---------------------------------------------------------------------------------------
' Procedure : GetComSpec
' Author     : Patrick Wood, Gaining Access Technologies http://gainingaccess.net
' Date      : 4/19/2010
' Purpose   : The full file name and path of the command shell executable.
' Examples  : c:\windows\command.exe, c:\winnt\cmd.exe
'---------------------------------------------------------------------------------------
'
Function GetComSpec() As String

     GetComSpec = Environ("ComSpec")

End Function

Back to Top of Code


'---------------------------------------------------------------------------------------
' Procedure : GetCPUArchitecture
' Author     : Patrick Wood, Gaining Access Technologies http://gainingaccess.net
' Date      : 4/19/2010
' Purpose   : Returns the processor's chip architecture.
' Example   : Return examples: x86 or IA64
'---------------------------------------------------------------------------------------
'
Function GetCPUArchitecture() As String

     GetCPUArchitecture = Environ("PROCESSOR_ARCHITECTURE")

End Function

Back to Top of Code


'---------------------------------------------------------------------------------------
' Procedure : GetTEMPDirectory
' Author     : Patrick Wood, Gaining Access Technologies http://gainingaccess.net
' Date      : 4/19/2010
' Purpose   : Returns the default temporary directories for applications. Some applications
'           : require the "TMP" variable.
' Example   : Returns "C:\Users\MyNam~1\AppData\Local\Temp"
'---------------------------------------------------------------------------------------
'
Function GetTEMPDirectory() As String

     GetTEMPDirectory = Environ("TEMP")

End Function

Back to Top of Code


'---------------------------------------------------------------------------------------
' Procedure : GetTMPDirectory
' Author     : Patrick Wood, Gaining Access Technologies http://gainingaccess.net
' Date      : 4/19/2010
' Purpose   : Returns the default temporary directories for applications. Some applications
'           : require the "TMP" variable.
' Example   : Returns "C:\Users\MyNam~1\AppData\Local\Temp"
'---------------------------------------------------------------------------------------
'
Function GetTMPDirectory() As String

     GetTMPDirectory = Environ("TMP")

End Function

Back to Top of Code


'---------------------------------------------------------------------------------------
' Procedure : GetHomeDrive
' Author     : Patrick Wood, Gaining Access Technologies http://gainingaccess.net
' Date      : 2/14/2010
' Modified  : 4/19/2010
' Purpose   : Returns the directory of the local drive specified in Local Users and Groups.
' Examples  : "C:", "D:", "E:"
'---------------------------------------------------------------------------------------
'
Function GetHomeDrive() As String

     GetHomeDrive = Environ("HOMEDRIVE")

End Function

Back to Top of Code


'---------------------------------------------------------------------------------------
' Procedure : GetHomePath
' Author     : Patrick Wood, Gaining Access Technologies http://gainingaccess.net
' Date      : 4/19/2010
' Purpose   : Returns returns the full path of the user's home directory as specified
'           : in Local Users and Groups.
' Examples  : "C:", "D:", "E:"
'---------------------------------------------------------------------------------------
'
Function GetHomePath() As String

     GetHomePath = Environ("HOMEPATH")

End Function

Back to Top of Code


'---------------------------------------------------------------------------------------
' Procedure : GetSystemDrive
' Author     : Patrick Wood, Gaining Access Technologies http://gainingaccess.net
' Date      : 2/14/2010
' Modified  : 4/19/2010
' Purpose   : Returns returns the drive that contains the Windows root directory.
'---------------------------------------------------------------------------------------
'
Function GetSystemDrive() As String

     GetSystemDrive = Environ("SystemDrive")

End Function

Back to Top of Code


'---------------------------------------------------------------------------------------
' Procedure : GetSystemRoot
' Author     : Patrick Wood, Gaining Access Technologies http://gainingaccess.net
' Date      : 4/19/2010
' Purpose   : Returns the folder that the operating system has been installed to.
' Example   :
'---------------------------------------------------------------------------------------
'
Function GetSystemRoot() As String

     GetSystemRoot = Environ("SystemRoot")

End Function

Back to Top of Code


'---------------------------------------------------------------------------------------
' Procedure : GetWindowsDirectory
' Author    : Patrick Wood http://gainingaccess.net
' Date      : 4/19/2010
' Purpose   : Returns the Windows Directory path
' Example   : Returned "C:\Windows"
'---------------------------------------------------------------------------------------
'
Function GetWindowsDirectory() As String

     GetWindowsDirectory = Environ("windir")

End Function

Back to Top of Code

This page was last updated Monday, April 21, 2012
For questions about this page, please email WebMaster