Käyttäjän työkalut

Sivuston työkalut


ohjeet:skriptit

Tämä on vanha versio dokumentista!


A PCRE internal error occured. This might be caused by a faulty plugin

====== 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. <code vb> 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ä </code> ==== Onko prosessi käynnissä ==== VBSkript-funktio, joka käyttää WMI-rajapintaa selvittämään onko koneella tietyn niminen prosessi käynnissä. <code vb> Function isProcessRunning(strIn) Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colProcesses = objWMIService.ExecQuery("Select * from Win32_Process Where Name = '" & strIn & "'") If colProcesses.Count > 0 Then isProcessRunning = True Else isProcessRunning = False End If End Function </code> ==== 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. <code vb> ' 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 </code> ==== x64 - registryn käsittely ==== Seuraavat VBScript-funktiot (**EnumRegKey**, **ReadRegStr**, **CreateRegKey**, **CreateRegStringValue**) mahdollistavat registryn Key ja REG_SZ -arvojen käsittelyn WoW64-rajapinnan ohi. <code vb> ' --- 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 ' --- Creates registry key to 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 created. ' RegType - The registry bitness: 32 or 64. ' Returns: ' Nothing Function CreateRegKey (RootKey, Key, RegType) Dim objCtx, objLocator, objReg, objInParams 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_("CreateKey").InParameters objInParams.hDefKey = RootKey objInParams.sSubKeyName = Key objReg.ExecMethod_ "CreateKey", objInParams, , objCtx End Function ' --- Creates a REG_SZ type registry Key on value to 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 REG_SZ Key Name to be created. ' Name - Name on the regisry entry ' Value - Value ' RegType - The registry bitness: 32 or 64. ' Returns: ' Nothing Function CreateRegStringValue (RootKey, Key, Name, Value, RegType) Dim objCtx, objLocator, objReg, objInParams 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_("SetStringValue").InParameters objInParams.hDefKey = RootKey objInParams.sSubKeyName = Key objInParams.sValueName = Name objInParams.sValue = Value objReg.ExecMethod_ "SetStringValue", objInParams, , objCtx End Function </code> ==== Onko ohjelman tietty versio asennettuna? ====

ohjeet/skriptit.1348829049.txt.gz · Viimeksi muutettu: 2014/11/20 13:01 (ulkoinen muokkaus)