#69940 - 2002-09-17 01:00 PM
Remote VNC admin
|
Vig
Starting to like KiXtart
Registered: 2001-11-14
Posts: 166
Loc: Saudi Arabia
|
Thought I'd share something I've been messing around with.
This is a script that will install the VNC server on a remote machine, connect to the server eith the client VNC program, and then remove all trace of VNC on the remote computer once the client program is terminated.
Variables that need to be changed: $DTPath = "" The path to deltree.exe. Example: "C:\programs" $computer = "" The remote computer name. Example: "MyServer" $VNCNET = "" The network path to the VNC server files. Example: "\\Server1\VNC" $VNCView = "" The path to vncviewer.exe. Example: "C:\programs" $EnPass = "" The encrypted password (remove all commas). $XNetPath = "" The path to Xnet.exe (comes with kixtart) Example: "C:\programs"
Setup: Download and install VNC. Install the WinVNC service (this is necessary to extract the encrypted password). Start the WinVNC service and input the default password. Open up regedit and copy the HKLM\Software\ORL\WinVNC3\Default\Password value (this is the encrypted password that you will need to put in the script).
Copy omnithread_rt.dll WinVNC.exe and VNCHooks.dll to a network share (these are the WinVNC server files). You can now uninstall WinVNC service if you wish.
I had to word wrap a couple shell statements to keep the post from going way wide. Just a heads up, not sure if the word wrap will affect the script.
code:
Break on $DTPath = "" $computer = "" $VNCNET = "" $VNCView = "" $EnPass = "" $XNetPath = ""
Shell '%comspec% /c $XNetPath\xnet list "\\$Computer\VNC Server" | find /i "VNC Server" > XnetVnc.dat' If GetFileSize("XnetVnc.dat") <> 0 ?"Cannot run because VNC Server is installed on $computer" Exit EndIf
Shell '%comspec% /c $XNetPath\xnet list \\$Computer\VNCAdmin | find /i "VNCAdmin" > XnetVnc.dat' If GetFileSize("XnetVnc.dat") <> 0 Shell '%comspec% /c $XNetPath\xnet stop \\$Computer\VNCAdmin' Shell '%comspec% /c $XNetPath\xnet remove \\$Computer\VNCAdmin /y' EndIf
If Exist("\\$computer\c$\Program Files\ORL") <> 1 MD"\\$computer\c$\Program Files\ORL" If @ERROR <> 0 ?@SERROR Exit EndIf EndIf
If Exist("\\$computer\c$\Program Files\ORL\VNCAdmin") <> 1 MD"\\$computer\c$\Program Files\ORL\VNCAdmin" If @ERROR <> 0 ?@SERROR Exit EndIf EndIf
If Exist("\\$computer\c$\Program Files\ORL\VNCAdmin\omnithread_rt.dll") <> 1 Copy "$VNCNET\omnithread_rt.dll" "\\$computer\c$\Program Files\ORL\VNCAdmin\" If @ERROR <> 0 ?@SERROR Exit EndIf EndIf
If Exist("\\$computer\c$\Program Files\ORL\VNCAdmin\WinVNC.exe") <> 1 Copy "$VNCNET\WinVNC.exe" "\\$computer\c$\Program Files\ORL\VNCAdmin\" If @ERROR <> 0 ?@SERROR Exit EndIf EndIf
If Exist("\\$computer\c$\Program Files\ORL\VNCAdmin\VNCHooks.dll") <> 1 Copy "$VNCNET\VNCHooks.dll" "\\$computer\c$\Program Files\ORL\VNCAdmin\" If @ERROR <> 0 ?@SERROR Exit EndIf EndIf
Shell '%comspec% /c $XNetPath\xnet install \\$computer\VNCAdmin /b:"C:\Progra~1\ORL\VNCAdmin\WinVNC.exe -service" /n:VNCAdmin /u:LocalSystem /i:yes /s:demand | find /i "successfully" > XnetVnc.dat' If GetFileSize("XnetVnc.dat") = 0 ?"Error installing service on $computer" Exit EndIf $nul = AddKey("\\$computer\HKLM\Software\ORL") $nul = AddKey("\\$computer\HKLM\Software\ORL\VNC") $nul = AddKey("\\$computer\HKLM\Software\ORL\VNC\3.3.3") $nul = AddKey("\\$computer\HKLM\Software\ORL\WinVNC3") $nul = AddKey("\\$computer\HKLM\Software\ORL\WinVNC3\Default") $nul = AddKey("\\$computer\HKEY_USERS\.DEFAULT\Software\ORL") $nul = AddKey("\\$computer\HKEY_USERS\.DEFAULT\Software\ORL\VNCHooks\Application_Prefs") $nul = AddKey("\\$computer\HKEY_USERS\.DEFAULT\Software\ORL\VNCHooks\Application_Prefs\WinVNC.exe") $nul = WriteValue("\\$computer\HKLM\Software\ORL\WinVNC3\Default","SocketConnect","1","REG_DWORD") $nul = WriteValue("\\$computer\HKLM\Software\ORL\WinVNC3\Default","AutoPortSelect","1","REG_DWORD") $nul = WriteValue("\\$computer\HKLM\Software\ORL\WinVNC3\Default","InputsEnabled","1","REG_DWORD") $nul = WriteValue("\\$computer\HKLM\Software\ORL\WinVNC3\Default","LocalInputsDisabled","0","REG_DWORD") $nul = WriteValue("\\$computer\HKLM\Software\ORL\WinVNC3\Default","IdleTimeout","0","REG_DWORD") $nul = WriteValue("\\$computer\HKLM\Software\ORL\WinVNC3\Default","QuerySetting","2","REG_DWORD") $nul = WriteValue("\\$computer\HKLM\Software\ORL\WinVNC3\Default","QueryTimeout","10","REG_DWORD") $nul = WriteValue("\\$computer\HKLM\Software\ORL\WinVNC3\Default","Password","$EnPass","REG_BINARY") $nul = WriteValue("\\$computer\HKLM\Software\ORL\WinVNC3\Default","PollUnderCursor","0","REG_DWORD") $nul = WriteValue("\\$computer\HKLM\Software\ORL\WinVNC3\Default","PollForeground","1","REG_DWORD") $nul = WriteValue("\\$computer\HKLM\Software\ORL\WinVNC3\Default","PollFullScreen","0","REG_DWORD") $nul = WriteValue("\\$computer\HKLM\Software\ORL\WinVNC3\Default","OnlyPollConsole","1","REG_DWORD") $nul = WriteValue("\\$computer\HKLM\Software\ORL\WinVNC3\Default","OnlyPollOnEvent","0","REG_DWORD") $nul = WriteValue("\\$computer\HKEY_USERS\.DEFAULT\Software\ORL\VNCHooks\Application_Prefs\WinVNC.exe","use_GetUpdateRect","1","REG_DWORD") $nul = WriteValue("\\$computer\HKEY_USERS\.DEFAULT\Software\ORL\VNCHooks\Application_Prefs\WinVNC.exe","use_Timer","0","REG_DWORD") $nul = WriteValue("\\$computer\HKEY_USERS\.DEFAULT\Software\ORL\VNCHooks\Application_Prefs\WinVNC.exe","use_KeyPress","1","REG_DWORD") $nul = WriteValue("\\$computer\HKEY_USERS\.DEFAULT\Software\ORL\VNCHooks\Application_Prefs\WinVNC.exe","use_LButtonUp","1","REG_DWORD") $nul = WriteValue("\\$computer\HKEY_USERS\.DEFAULT\Software\ORL\VNCHooks\Application_Prefs\WinVNC.exe","use_MButtonUp","1","REG_DWORD") $nul = WriteValue("\\$computer\HKEY_USERS\.DEFAULT\Software\ORL\VNCHooks\Application_Prefs\WinVNC.exe","use_RButtonUp","1","REG_DWORD") $nul = WriteValue("\\$computer\HKEY_USERS\.DEFAULT\Software\ORL\VNCHooks\Application_Prefs\WinVNC.exe","use_Deferral","1","REG_DWORD") Shell '%comspec% /c $XNetPath\xnet start \\$Computer\VNCAdmin' Sleep 2 :GetResponse Beep ?"TYPE 'I' FOR INTERACTIVE OR 'N' FOR NON-INTERACTIVE"? Get $Response Select Case $response = "i" Shell '%comspec% /c $VNCView\vncviewer.exe -noshared $computer' Case $response = "n" Shell '%comspec% /c $VNCView\vncviewer.exe -viewonly -noshared $computer' Case 1 Goto GetResponse EndSelect Shell '%comspec% /c $XNetPath\xnet stop \\$Computer\VNCAdmin' Sleep 1 Shell '%comspec% /c $XNetPath\xnet remove \\$Computer\VNCAdmin /y' If DelTree("\\$computer\HKLM\Software\ORL") <> 0 ?"Error deleting HKLM ORL subkey" EndIf If DelTree("\\$computer\HKEY_USERS\.DEFAULT\Software\ORL") <> 0 ?"Error deleting .Default ORL subkey" EndIf Shell '%comspec% /c $DTPath\Deltree.exe /Y "\\$computer\c$\Program Files\ORL"'
Hope it works for you. [ 17. September 2002, 13:03: Message edited by: Vig ]
|
|
Top
|
|
|
|
Moderator: Glenn Barnas, NTDOC, Arend_, Jochen, Radimus, Allen, ShaneEP, Ruud van Velsen, Mart
|
0 registered
and 1619 anonymous users online.
|
|
|