VNC - automatisk distribution og admin i et blandet windows-miljø

1 view
Skip to first unread message

Lars Kim Lund

unread,
Feb 23, 2002, 4:56:18 PM2/23/02
to

Emnet fjernkontrol og VNC dukker op af og til. Jeg har brugt lidt tid
på at lave et par setup/admin rutiner, som jeg her vil beskrive til
inspiration af andre. Alt er dokumenteret i den fine manual til VNC.

Forudsætninger:
* Windows 95 eller højere på klienter
* Kixtart installeret og kix32c.exe i PATH
* WinVNC version 3.3.3r9

Vejledning:

1. Opret VNC som mappe i NETLOGON. Kopier VNCHOOKS.DLL, WINVNC.EXE og
omnithread_rt.dll til denne mappe. Filerne kan placeres andre stedet,
men det er der de forventes at være i følgende script-eksempler.

2. Opret vncsetup.bat i roden af NETLOGON

@echo off
if exist c:\winvnc\winvnc.exe goto nosetup

md c:\winvnc
copy /y %0\..\VNC\*.* c:\winvnc
regedit /s %0\..\vncsetup.reg

c:\winvnc\winvnc.exe -install
if "%os%"=="Windows_NT" net start winvnc

:nosetup
regedit.exe /s %0\..\vncsetup.reg
kix32c.exe %0\..\vncsetup.kix

Scriptet resetter registry hver gang det kører, men checker ikke om
VNC kører. Dvs. det gælder først efter næste genstart af
computeren/VNC - med mindre scriptet tilpasses således at VNC
restartes.

På Win9x kaldes winvnc -service fra RunServices i registry. Den kan
kontrolleres med winvnc -parameter (læs dokumentationen). På NT
installeres winvnc som service og kan kontrolleres med net start/stop.

3. Eksporter VNC registry fra en maskine. Det interessante er følgende
nøgler, hvis man ønsker at lave per-machine indstillinger

[HKEY_LOCAL_MACHINE\SOFTWARE\ORL\WinVNC3]
[HKEY_LOCAL_MACHINE\SOFTWARE\ORL\WinVNC3\Default]

Sørg for at lave det i REGEDIT4 format og at teksten er i standard
tekstformat og ikke unicode, som regedit fra Win2k normalt eksporterer
i. Brug evt. write til at konvertere. Gem filen som vncsetup.reg

Her er en liste over hvad jeg mener er interessante parametre i
forhold til sikkerheden.

* AuthHosts, REG_SZ

Her defineres en IP-maske for maskiner der må connecte til VNC
serveren. Masken: "-:+10.10.0:+192.168.1.1:" tillader forbindelser fra
10.10.0.x og 192.168.1.1.

* AutoPortSelect, PortNumber

Hvis du ønsker at benytte andre porte (end 5800/5900) så sæt autoport
til 0 og sæt portnumber til den ønskede port. Bemærk at den vil lytte
på HTTP på portnumber - 100.

* QuerySetting, QueryTimeout

Den første afgører hvordan VNC fortolker AuthHosts filtret.
Standardværdien er 2 og her vil den kun prompte brugeren hvis man i
filtret har skrevet ? istedet for +. Hvis den sættes til 4 vil
IP-adresser der matcher + filtrene skulle godkendes, alt andet vil
blive afvist.

QueryTimeout angiver tiden i sekunder før dialogboksen timer ud. Man
kan med andre parametre sætte VNC til enten auto-rejecte eller
auto-accepte forbindelser.

* Password

Password er hashet. Indtast koden med GUI og hent værdien fra
registry.

* RemoveWallpaper

Fjerner desktop-tapet ved skærmovertagelse. Retableres når sessionen
afbrydes

* AllowProperties, AllowShutdown

Brugerkontrol. Hvis de sættes til 0 kan brugeren hhv. ikke se
properties og stoppe VNC serveren (fra GUI'en). Det forhindrer ikke
brugeren i at stoppe servicen med net stop eller winvnc -kill

Eksempel på vncsetup.reg

REGEDIT4

[HKEY_LOCAL_MACHINE\SOFTWARE\ORL\WinVNC3]
"AuthHosts"="-:+10.10.10:+192.168.0.1:"
"SocketConnect"=dword:00000001
"AutoPortSelect"=dword:00000000
"PortNumber"=dword:0000170c
"InputsEnabled"=dword:00000001
"LocalInputsDisabled"=dword:00000000
"QuerySetting"=dword:00000004
"QueryTimeout"=dword:0000012c
"Password"=hex:<removed>
"PollUnderCursor"=dword:00000000
"PollForeground"=dword:00000001
"PollFullScreen"=dword:00000000
"OnlyPollConsole"=dword:00000001
"OnlyPollOnEvent"=dword:00000000
"RemoveWallpaper"=dword:00000001
"AllowProperties"=dword:00000000
"AllowShutdown"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\ORL\WinVNC3\Default]
"SocketConnect"=dword:00000001
"AutoPortSelect"=dword:00000000
"PortNumber"=dword:0000170c
"InputsEnabled"=dword:00000001
"LocalInputsDisabled"=dword:00000000
"QuerySetting"=dword:00000004
"QueryTimeout"=dword:0000012c
"Password"=hex:<removed>
"PollUnderCursor"=dword:00000000
"PollForeground"=dword:00000001
"PollFullScreen"=dword:00000000
"OnlyPollConsole"=dword:00000001
"OnlyPollOnEvent"=dword:00000000
"RemoveWallpaper"=dword:00000001
"AllowProperties"=dword:00000000
"AllowShutdown"=dword:00000000

3. Opret kix-script, vncsetup.kix. Dette er en option hvis man ønsker
at computerne skal registrere sig selv i vnc konfigurationsfiler. Hvis
man ikke har Win9x kan man gøre det uden kix (læse computernavnet).

Der forudsættes at der findes et \\server\VNC share hvor brugeren har
rettigheder til at læse og skrive. Erstat mydomain.tld med domænet på
netværket, således at $host = FQDN for maskinen.

$cfg = "\\server\VNC\@wksta.vnc"
$host = @wksta.mydomain.tld
$port = 5900

$res = writeprofilestring($cfg,"connection",$host)
$res = writeprofilestring($cfg,"connection","port",$port)

Hvis man ønsker det kan man sætte andre parametre på samme vis.
Værdier der ikke ønskes ændret fra standard kan udelades.

[connection]
host=computerid.mydomain.tld
port=5900
password=

[options]
use_encoding_0=1
use_encoding_1=1
use_encoding_2=1
use_encoding_3=1
use_encoding_4=1
use_encoding_5=1
preferred_encoding=5
restricted=0
viewonly=0
fullscreen=0
8bit=0
shared=0
swapmouse=0
belldeiconify=0
emulate3=1
emulate3timeout=100
emulate3fuzz=4
disableclipboard=0
localcursor=1
scale_num=1
scale_den=1

4. Du er nu klar. Indsæt et kald til vncsetup.bat fra dit
login-script.

call %0\..\vncsetup.bat

Hvis du har valgt at lade computerne oprette .vnc konfigurationsfiler
skal du registrere vncvieweren, "vncviewer -register". Dette
associerer .vnc med vncvieren (vncviewer -config %1). Det er trivielt
at ændre startparametrene eller extenseion hvis man af en eller anden
grund skulle ønske det.

5. Yderlig information

Dokuementationen er fremragende. Der står bl.a. en uddybning af de
avancerede parametre der kun kan sættes i registry.

http://www.uk.research.att.com/vnc/docs.html

Der tages forbehold for forglemmelser eller trykfejl. Svar på dette
indlæg sendes til dk.edb.sysadmin

--
Lars Kim Lund
http://www.net-faq.dk/

Alex Kjøller

unread,
Mar 21, 2002, 3:10:44 AM3/21/02
to
Lars Kim Lund <lar...@mail.com> wrote in message news:<k51g7u0slb2m6js3g...@sunsite.auc.dk>...

Hej Lars, Tak for dit flotte inlæg. Jeg har med stor iver prøvet at
lave det, men det vil ikke lykkes helt. Installationen af VNC foregård
perfekt, men kopieringen af vncsetup.reg filen vil ikke som jeg vil,
der kommer en fejl som lyder......

Z:\vncsetup.bat\..\vncsetup.reg kan ikke importeres: Der er opstået en
fejl under åbning af filen. Der er muligvis en systemfejl på disken
eller i filen.

Jeg skylder lige og fortælle at det er på en Win98 arbejdsplads, jeg
viser her hvordan at min vncsetup.bat og vncsetup.reg ser ud.....

Vncsetup.bat


@echo off
if exist c:\winvnc\winvnc.exe goto nosetup

md c:\winvnc
copy /y %0\..\VNC\*.* c:\winvnc
regedit /s %0\..\vncsetup.reg

c:\winvnc\winvnc.exe -install
if "%os%"=="Windows_NT" net start winvnc

:nosetup
regedit.exe /s %0\..\vncsetup.reg

Vncsetup.reg
REGEDIT4

[HKEY_LOCAL_MACHINE\Software\ORL\WinVNC3\Default]
"SocketConnect"=dword:00000001
"AutoPortSelect"=dword:00000001


"InputsEnabled"=dword:00000001
"LocalInputsDisabled"=dword:00000000

"IdleTimeout"=dword:00000000
"QuerySetting"=dword:00000002
"QueryTimeout"=dword:0000000a
"Password"=hex:f3 96 7d ae 0f 30 c7 b9


"PollUnderCursor"=dword:00000000
"PollForeground"=dword:00000001
"PollFullScreen"=dword:00000000
"OnlyPollConsole"=dword:00000001
"OnlyPollOnEvent"=dword:00000000

Håber du kan hjælpe mig :-)
M.V.H. Alex Kjøller

Lars Kim Lund

unread,
Mar 21, 2002, 11:23:49 AM3/21/02
to
Hej Fami...@yahoo.dk (Alex Kjøller)

>Hej Lars, Tak for dit flotte inlæg. Jeg har med stor iver prøvet at
>lave det, men det vil ikke lykkes helt. Installationen af VNC foregård
>perfekt, men kopieringen af vncsetup.reg filen vil ikke som jeg vil,
>der kommer en fejl som lyder......
>
>Z:\vncsetup.bat\..\vncsetup.reg kan ikke importeres: Der er opstået en
>fejl under åbning af filen. Der er muligvis en systemfejl på disken
>eller i filen.

En klassisk fejl er hvis .reg filen er gemt i unicode (det gør Win2k
som standard).

Reply all
Reply to author
Forward
0 new messages