Toon posts:

[KIX] UltraVNC installatiescript wil niet werken

Pagina: 1
Acties:
  • 391 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik heb onderstaand kix-script aan een OU gehangen in Active Directory:

; KiXtart Script
;
; VNCinstall.KIX
;
; Author: Adi Naar
; 20 November 2002
; KIXscripts Forom nickname: naar
;
; written on the basis of R. M. Howarth initial release from 30 April 2001
;
;
;
;
;
; Description:
; simple HelpDesk Application (VNC) for Corporate installation Through Kixtart logon script
;
;
;- in order For this script to work you will need to put the files listed below (Copy from VNC insallation folder) in the same shared folder (path shuld be updated to the $sourcedir variable):
;Msvcirt.dll
;Msvcrt.dll
;omnithread_rt.dll
;VNChooks.dll
;WinVNC.exe
;HelpDesk.lnk (renamed shortcut to winvnc.exe from startup folder)
;
;- you should change the bogous Password in the $vncpass variable by typing your Password into a regular vnc installation AND then Copy the binary "password" value stored in the registry key "HKEY_LOCAL_MACHINE\Software\ORL\WinVNC3\Default"
;
;- the script will check Each time the user logs on If the installation is NOT damaged (some users like to try to delete this files) OR NOT installed AT all. If so the script will reinstall the application.
;
;- Each time a new installation begins there is a message Box alerting the user about the installation (solves problems of privacy laws...) , feel free to change the message Box contenents according to your companys policy.
;
;- this script works good on win9x, winnt, win2000, winxp AND dualboot systems.
;
;======================================================================================================================================
;this script was iplemented on my organisation (150 mechines) AND has reduced my walking hours inside the organisation in AT least 50%.
;
;feel free to mail me (through the foroms of KixEDITOR)about any bougs OR improvments that you make...
;
;enjoy!!!
;
;
;===============================================================================
;
; Clear window and Prevent from Breaking the Script:
;
Break OFF
CLS
;
;===============================================================================
;
; Variable's
;
Global $INSTALLPATH, $VNCPASS, $SOURCEDIR, $STARTUPDIR, $VNCPATH
;
$INSTALLPATH="%SystemDrive%\Program Files"
$VNCPASS="1234567890ABCDE"
$SOURCEDIR="\\server1\Public\Install\VNC"
$STARTUPDIR=ReadValue ("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders", "Common Startup")
$VNCPATH="%SystemDrive%\Program Files\ORL\VNC"
;===============================================================================
;
; Functions:
;
Function CreateCheckFile ($Filename,optional $description)
; This function creates a checkfile. You can use it
; for example in your loginscript to check if you
; already executed a certain routine.
If Open( 1 , $Filename, 5 ) = 0
If $Description=""
$x = WriteLine( 1 , "Check File:"+$Filename)
Else
$x = WriteLine( 1 , "Check File:"+$description)
EndIf
Close (1)
EndIf
If Exist ($FileName)
$Result=0
Else
$Result=1
EndIf
$CreateCheckFile=$Result
EndFunction

;===============================================================================
;
; Check if the Workstation is not a Server or as Server used PC.
; IF so, Skip entire script
;
If %SERVER% = 1
OR @WKSTA = "server1"
OR @WKSTA = "server2"
OR @WKSTA = "server3"
OR @WKSTA = "server4"
OR @WKSTA = "server5"
"This mechine is a Company server...Exiting install." ?
Sleep 2
Return
EndIf

;===============================================================================
;
; Check if the machine is under admin logon.
; IF so, Skip entire script
;
If InGroup("Administrators")
"The user is an Administrator...Exiting install." ?
Sleep 2
Return
EndIf

;===============================================================================
;
; Check For older installation of WinVNC and uninstall
;
;
"Checking For old version of VNC Application..." ?
If Exist ("$VNCPATH\Uninst.isu")
"Found old version...Uninstalling" ?
Copy "$VNCPATH\Uninst.isu" "%windir%\Temp"
Shell "%windir%\IsUninst.exe -x -a -f%windir%\Temp\Uninst.isu"
Del "$VNCPATH\*.*"
Del "%windir%\Temp\Uninst.isu"
$DirName="$INSTALLPATH\ORL\VNC" Gosub "RemDir"
$DirName="$INSTALLPATH\ORL" Gosub "RemDir"
"Uninstall Completed successfully!" ?
EndIf
;===============================================================================
;
; Check for partial or Damaged installation of the program:
;
;
"Checking the installation of Help-Desk Application..." ?
If Exist ("$VNCPATH\HelpDesk.lnk")
If Exist ("$VNCPATH\Msvcirt.dll")
If Exist ("$VNCPATH\Msvcrt.dll")
If Exist ("$VNCPATH\omnithread_rt.dll")
If Exist ("$VNCPATH\VNCHooks.dll")
If Exist ("$VNCPATH\WinVNC.exe")
If Exist ("%SystemDrive%\vnc_ins.chk")
If Exist ("$STARTUPDIR\HelpDesk.lnk")
"Help-Desk Application is allready installed..." ?
;program is installed correctly
Goto "UpdateRegKeys"
EndIf
EndIf
EndIf
EndIf
EndIf
EndIf
EndIf
EndIf
;Preparing for new install (if the program was found to be damaged)
"Found partial Help-Desk installation...fixing!" ?
Del "$VNCPATH\*.*"
Del "%SystemDrive%\vnc_ins.chk"
$DirName="$INSTALLPATH\ORL\VNC" Gosub "RemDir"
$DirName="$INSTALLPATH\ORL" Gosub "RemDir"
"Cleaning Directory's Completed successfully!" ?


;===============================================================================
;
; Update OS's to Run VNC from "All Users" startup folder:
;
;
If Exist ("$STARTUPDIR\Run WinVNC (App Mode).lnk")
Del "$STARTUPDIR\Run WinVNC (App Mode).lnk"
Copy "$SOURCEDIR\HelpDesk.lnk" "$STARTUPDIR"
EndIf
If Exist ("$STARTUPDIR\HelpDesk.lnk") = 0
Copy "$SOURCEDIR\HelpDesk.lnk" "$STARTUPDIR"
EndIf
;===============================================================================
;
; Main installation program:
;
;
; Simple Message box in order to notify the user about the new installation
MessageBox("This program will install REMOTE HELP software on your workstation" + Chr(13) + Chr(10) + "in order to improve Your IT Departmant Quality Of Service." + Chr(13) + Chr(10) + "Please Advice that there is a Password protection on this program For extra security." + Chr(13) + Chr(10) + "The Password is saved in your IT Department." + Chr(13) + Chr(10) + "If in any way you find this program offensive please contact your IT Manager.","Remote Help",64)

"Building directory structure..." ?
$INSTALLPATH="%SystemDrive%\Program Files"
$DirName="$INSTALLPATH\ORL" Gosub "MakeDir"
$DirName="$INSTALLPATH\ORL\VNC" Gosub "MakeDir"
"Copying runtime files..." ?
Copy "$SOURCEDIR\*.*" $DirName
CreateCheckFile (%SystemDrive%\vnc_ins.chk)
"Writing registry info..." ?
$Key="HKEY_LOCAL_MACHINE\Software\ORL" Gosub "MyAddKey"
$Key="HKEY_LOCAL_MACHINE\Software\ORL\VNC" Gosub "MyAddKey"
$Key="HKEY_LOCAL_MACHINE\Software\ORL\VNC\3.3.3" Gosub "MyAddKey"
$Key="HKEY_LOCAL_MACHINE\Software\ORL\WinVNC3" Gosub "MyAddKey"
$Key="HKEY_LOCAL_MACHINE\Software\ORL\WinVNC3\Default" Gosub "MyAddKey"
$Entry="SocketConnect" $Value="1" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="AutoPortSelect" $Value="1" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="InputsEnabled" $Value="1" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="LocalInputsDisabled" $Value="0" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="IdleTimeout" $Value="0" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="QuerySetting" $Value="2" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="QueryTimeout" $Value="10" $Type="REG_DWORD" Gosub "MyWriteValue"
; Do a sample install and set the password in $VNCPASS variable
$Entry="Password" $Value="$VNCPASS" $Type="REG_BINARY" Gosub "MyWriteValue"
$Entry="PollUnderCursor" $Value="0" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="PollForeground" $Value="1" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="PollFullScreen" $Value="0" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="OnlyPollConsole" $Value="1" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="OnlyPollOnEvent" $Value="0" $Type="REG_DWORD" Gosub "MyWriteValue"
; Set to "1" to allow users to stop the service
$Entry="AllowShutdown" $Value="1" $Type="REG_DWORD" Gosub "MyWriteValue"
; Set to "1" to allow users to change the config
$Entry="AllowConfig" $Value="1" $Type="REG_DWORD" Gosub "MyWriteValue"
$Key="HKEY_CURRENT_USER\Software\ORL" Gosub "MyAddKey"
$Key="HKEY_CURRENT_USER\Software\ORL\VNCHooks" Gosub "MyAddKey"
$Key="HKEY_CURRENT_USER\Software\ORL\VNCHooks\Application_Prefs" Gosub "MyAddKey"
$Key="HKEY_CURRENT_USER\Software\ORL\VNCHooks\Application_Prefs\WINVNC.EXE" Gosub "MyAddKey"
$Entry="use_GetUpdateRect" $Value="1" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="use_Timer" $Value="0" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="use_KeyPress" $Value="1" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="use_LButtonUp" $Value="1" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="use_MButtonUp" $Value="1" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="use_RButtonUp" $Value="1" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="use_Deferral" $Value="1" $Type="REG_DWORD" Gosub "MyWriteValue"
$Key="HKEY_CURRENT_USER\Software\ORL\VNCHooks\Application_Prefs\CALC.EXE" Gosub "MyAddKey"
$Entry="use_GetUpdateRect" $Value="1" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="use_Timer" $Value="0" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="use_KeyPress" $Value="0" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="use_LButtonUp" $Value="0" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="use_Deferral" $Value="1" $Type="REG_DWORD" Gosub "MyWriteValue"
$Key="HKEY_CURRENT_USER\Software\ORL\VNCHooks\Application_Prefs\CLOCK.EXE" Gosub "MyAddKey"
$Entry="use_GetUpdateRect" $Value="1" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="use_Timer" $Value="1" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="use_KeyPress" $Value="0" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="use_Deferral" $Value="1" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="use_LButtonUp" $Value="0" $Type="REG_DWORD" Gosub "MyWriteValue"
$Key="HKEY_CURRENT_USER\Software\ORL\VNCHooks\Application_Prefs\explorer.exe" Gosub "MyAddKey"
$Entry="use_GetUpdateRect" $Value="1" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="use_Timer" $Value="0" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="use_KeyPress" $Value="1" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="use_Deferral" $Value="1" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="use_LButtonUp" $Value="0" $Type="REG_DWORD" Gosub "MyWriteValue"
$Key="HKEY_CURRENT_USER\Software\ORL\VNCHooks\Application_Prefs\fpxpress.exe" Gosub "MyAddKey"
$Entry="use_GetUpdateRect" $Value="1" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="use_Timer" $Value="0" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="use_KeyPress" $Value="1" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="use_Deferral" $Value="1" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="use_LButtonUp" $Value="1" $Type="REG_DWORD" Gosub "MyWriteValue"
$Key="HKEY_CURRENT_USER\Software\ORL\VNCHooks\Application_Prefs\Ide.exe" Gosub "MyAddKey"
$Entry="use_GetUpdateRect" $Value="1" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="use_Timer" $Value="0" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="use_KeyPress" $Value="1" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="use_Deferral" $Value="1" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="use_LButtonUp" $Value="1" $Type="REG_DWORD" Gosub "MyWriteValue"
$Key="HKEY_CURRENT_USER\Software\ORL\VNCHooks\Application_Prefs\iexplore.exe" Gosub "MyAddKey"
$Entry="use_GetUpdateRect" $Value="1" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="use_Timer" $Value="0" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="use_KeyPress" $Value="1" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="use_Deferral" $Value="1" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="use_LButtonUp" $Value="1" $Type="REG_DWORD" Gosub "MyWriteValue"
$Key="HKEY_CURRENT_USER\Software\ORL\VNCHooks\Application_Prefs\MSDEV.EXE" Gosub "MyAddKey"
$Entry="use_GetUpdateRect" $Value="1" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="use_Timer" $Value="0" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="use_KeyPress" $Value="0" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="use_Deferral" $Value="1" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="use_LButtonUp" $Value="1" $Type="REG_DWORD" Gosub "MyWriteValue"
$Key="HKEY_CURRENT_USER\Software\ORL\VNCHooks\Application_Prefs\mspaint.exe" Gosub "MyAddKey"
$Entry="use_GetUpdateRect" $Value="1" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="use_Timer" $Value="0" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="use_KeyPress" $Value="1" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="use_LButtonUp" $Value="1" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="use_Deferral" $Value="1" $Type="REG_DWORD" Gosub "MyWriteValue"
$Key="HKEY_CURRENT_USER\Software\ORL\VNCHooks\Application_Prefs\NOTEPAD.EXE" Gosub "MyAddKey"
$Entry="use_GetUpdateRect" $Value="1" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="use_Timer" $Value="0" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="use_KeyPress" $Value="1" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="use_Deferral" $Value="1" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="use_LButtonUp" $Value="1" $Type="REG_DWORD" Gosub "MyWriteValue"
$Key="HKEY_CURRENT_USER\Software\ORL\WinVNC3" Gosub "MyAddKey"
$Entry="SocketConnect" $Value="1" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="AutoPortSelect" $Value="1" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="InputsEnabled" $Value="1" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="LocalInputsDisabled" $Value="0" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="IdleTimeout" $Value="0" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="QuerySetting" $Value="2" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="QueryTimeout" $Value="10" $Type="REG_DWORD" Gosub "MyWriteValue"
; Do a sample install and set the password in $VNCPASS variable
$Entry="Password" $Value="$VNCPASS" $Type="REG_BINARY" Gosub "MyWriteValue"
$Entry="PollUnderCursor" $Value="0" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="PollForeground" $Value="1" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="PollFullScreen" $Value="0" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="OnlyPollConsole" $Value="1" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="OnlyPollOnEvent" $Value="0" $Type="REG_DWORD" Gosub "MyWriteValue"
; Set to "1" to allow users to stop the service
$Entry="AllowShutdown" $Value="1" $Type="REG_DWORD" Gosub "MyWriteValue"
; Set to "1" to allow users to change the config
$Entry="AllowConfig" $Value="1" $Type="REG_DWORD" Gosub "MyWriteValue"
$Key="HKEY_CURRENT_USER\Software\ORL\VNCviewer" Gosub "MyAddKey"
$Key="HKEY_CURRENT_USER\Software\ORL\VNCviewer\MRU" Gosub "MyAddKey"
$Entry="index" $Value="A" $Type="REG_SZ" Gosub "MyWriteValue"
$Entry="A" $Value="10.16.28.24:0" $Type="REG_SZ" Gosub "MyWriteValue"

; Copy The startup link to the "AllUsers" startup folder
"Starting Help-Desk..." ?
Copy "$SOURCEDIR\HelpDesk.lnk" "$STARTUPDIR"
"Help-Desk Application Active!" ?
Return

;====================================================================================
; Main Sub's
;
;
;
:UpdateRegKeys
; Update All the values that can be updated by the administrator in each login of the user
"Writing registry info..." ?
$Key="HKEY_LOCAL_MACHINE\Software\ORL\WinVNC3\Default"
$Entry="Password" $Value="$VNCPASS" $Type="REG_BINARY" Gosub "MyWriteValue"
$Entry="AllowShutdown" $Value="0" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="AllowConfig" $Value="0" $Type="REG_DWORD" Gosub "MyWriteValue"
$Key="HKEY_CURRENT_USER\Software\ORL\WinVNC3"
$Entry="Password" $Value="$VNCPASS" $Type="REG_BINARY" Gosub "MyWriteValue"
$Entry="AllowShutdown" $Value="0" $Type="REG_DWORD" Gosub "MyWriteValue"
$Entry="AllowConfig" $Value="0" $Type="REG_DWORD" Gosub "MyWriteValue"
Del "%SystemDrive%\vnc_ins.chk"
CreateCheckFile (%SystemDrive%\vnc_ins.chk)
"Update Completed Successfuly!" ?
Return

:MyAddKey
; Add registry keys
If ExistKey($Key)
If AddKey($Key)
"ABORTING: Error @ERROR adding key $Key" ?
" Additional Info: @SERROR" ?
Exit
EndIf
EndIf
Return

:MyWriteValue
; Write registry Values
If WriteValue($Key,$Entry,$Value,$Type)
"WARNING: Error @ERROR updating $Entry in $Key with value $Value" ?
" Additional Info: @SERROR" ?
EndIf
Return

:MakeDir
; build directory
MD $DirName
If @ERROR
"FATAL: Could NOT create $DirName - maybe already exists" ?
EndIf
Return

:RemDir
; delete directory
RD $DirName
If @ERROR
"FATAL: Could NOT delete $DirName - maybe in use" ?
EndIf
Return


Nu krijg ik bij het inloggen wel netjes de Messagebox te zien. Hij kopieert ook de bestanden lokaal naar Program Files\ORL\VNC maar het programma zelf wordt niet gestart...

Wie kan mij helpen dit script werkend te krijgen of heet er een ander (en beter) script om UltraVNC mee uit te kunnen rollen?

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 18:25

Creepy

Tactical Espionage Splatterer

Hier in PRG gaan we er vanuit dat je in eerste instantie zelf opzoek gaat naar een oplossing voor het probleem en dat je aangeeft wat je nu hebt geprobeerd en wat daar niet mee lukte. Dit lijkt te ontbreken. Zie ook Programming Beleid. Daarnaast vraag je om een beter/ander script wat gewoon een ordinaire scriptrequest is. Die zijn hier niet toegestaan omdat het hier gaat om het zelf ontwikkelen van zaken. Ook dit staat uitgelegd in Programming Beleid. Ook post je een gigantische lap code terwijl we je vragen je te beperken tot alleen de relevante code. Alle code geven is echt niet nodig en leidt alleen maar af van het echte probleem.
Als laatste is het zo'n windows specifek probleem dat het beter in Windows Servers en Server-software thuis hoort maar ook daar zullen ze in deze vorm problemen hebben met de topicstart.

[ Voor 0% gewijzigd door RobIII op 12-11-2006 16:37 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Dit topic is gesloten.