ohjeet:skriptit
Tämä on vanha versio dokumentista!
Sisällysluettelo
Skriptejä softajakelun avuksi
Tänne on kerätty skriptejä, joista on todettu olevan hyötyä softajakelun yhteydessä.
Onko koneelle kirjautunut käyttäjä domain-käyttäjä
Seuraava VBScript-koodinpätkä hakee koneelle kirjautuneen käyttäjän tiedot ympäristömuuttujista ja tarkistaa onko käyttäjä domain-tunnus vaiko ei.
Set objShell = CreateObject("WScript.Shell")
Set objProcEnv = objShell.Environment("Process")
strUserName = objProcEnv("USERNAME")
strUserDomain = objProcEnv("USERDOMAIN")
strUserDNSDomain = objProcEnv("USERDNSDOMAIN")
If strUserDNSDomain <> "UTU.FI" Then
strValue = "Koneelle kirjautunut käyttäjä " & VbCrLf & VbCrLf & strUserDomain & "\" & strUserName & VbCrLf & VbCrLf & "ei ole utu-domainkäyttäjä."
answer = MsgBox(strValue, vbOKOnly + vbCritical + vbSystemModal, "Huomio!")
WScript.Quit ' palautetaan -10, jos ei ole utu-domainin käyttäjä
x86 vaiko x64
Seuraavalla VBScript-funktiolla saat selville käyttöjärjestelmän bittisyyden riippumatta siitä ajetaanko skripti aidosti 32-bittisessä Windowsissa, 32-bittisessä ympäristössä aidosti 64-bittisessä Windowsissa vaiko 64-bittisessä ympäristössä aidosti 64-bittisessä Windowsissa.
' Finds out Real Operating System architecture (despite the running process image type)
' Returns: 0: OS architecture not found (or propably Intel Itanium)
' 32: for 32-bit OS (x86)
' 64: for 64-bit OS and 32-bit process on 64-bit OS (AMD64)
Function GetOSArchitecture
Dim objProcEnv
Set objProcEnv = objShell.Environment("Process")
Select Case objProcEnv("PROCESSOR_ARCHITECTURE")
Case "x86"
Select Case objProcEnv("PROCESSOR_ARCHITEW6432")
Case ""
GetOSArchitecture = 32
Case "AMD64"
GetOSArchitecture = 64
Case Else
GetOSArchitecture = 0
End Select
Case "AMD64"
GetOSArchitecture = 64
Case Else
GetOSArchitecture = 0
End Select
End Function
x64 - registryn käsittely
Seuraavat VBScript-funktiot mahdollistavat registryn käsittelyn WoW64-rajapinnan ohi.
' --- Enumerates registry keys from the local computer's registry using WMI.
' Parameters:
' RootKey - The registry hive (see http://msdn.microsoft.com/en-us/library/aa390788(VS.85).aspx for a list of possible values).
' Key - The key to be enumerated.
' RegType - The registry bitness: 32 or 64.
' Returns:
' Null if Key was not found, otherwise Variable Array with Keys as strings
Function EnumRegKey (RootKey, Key, RegType)
Dim objCtx, objLocator, objReg, objInParams, objOutParams
Set objCtx = CreateObject("WbemScripting.SWbemNamedValueSet")
objCtx.Add "__ProviderArchitecture", RegType
objCtx.Add "__RequiredArchitecture", TRUE
Set objLocator = CreateObject("Wbemscripting.SWbemLocator")
Set objReg = objLocator.ConnectServer("", "root\default", "", "", , , , objCtx).Get("StdRegProv")
Set objInParams = objReg.Methods_("EnumKey").InParameters
objInParams.hDefKey = RootKey
objInParams.sSubKeyName = Key
Set objOutParams = objReg.ExecMethod_("EnumKey", objInParams, , objCtx)
EnumRegKey = objOutParams.sNames
End Function
' --- Reads a REG_SZ value from the local computer's registry using WMI.
' Parameters:
' RootKey - The registry hive (see http://msdn.microsoft.com/en-us/library/aa390788(VS.85).aspx for a list of possible values).
' Key - The key that contains the desired value.
' Value - The value that you want to get.
' RegType - The registry bitness: 32 or 64.
' Returns:
' Null if Key was not found, otherwise Value as a string
Function ReadRegStr (RootKey, Key, Value, RegType)
Dim objCtx, objLocator, objReg, objInParams, objOutParams
Set objCtx = CreateObject("WbemScripting.SWbemNamedValueSet")
objCtx.Add "__ProviderArchitecture", RegType
objCtx.Add "__RequiredArchitecture", TRUE
Set objLocator = CreateObject("Wbemscripting.SWbemLocator")
Set objReg = objLocator.ConnectServer("", "root\default", "", "", , , , objCtx).Get("StdRegProv")
Set objInParams = objReg.Methods_("GetStringValue").InParameters
objInParams.hDefKey = RootKey
objInParams.sSubKeyName = Key
objInParams.sValueName = Value
Set objOutParams = objReg.ExecMethod_("GetStringValue", objInParams, , objCtx)
ReadRegStr = objOutParams.sValue
End Function
ohjeet/skriptit.1286971487.txt.gz · Viimeksi muutettu: 2014/11/20 13:01 (ulkoinen muokkaus)
