Page 1 of 1 1
Topic Options
#21161 - 2002-05-03 03:44 PM copying KIX32.EXE to NT/2000 clients from server script
BrianTX Offline
Korg Regular

Registered: 2002-04-01
Posts: 895
We have many Windows NT/2000 Workstation PCs in the organization. Many of the users on these PCs do not have admin (some only guest) privileges, so as such the logon script is unable to copy files to the PC. What I would like to do is create a script I can run daily on the server that finds all NT/2000 clients on the domain, checks for the right version of KIX32.EXE and WKIX32.exe in the %windir% and copies it if it isn't there or out of date. It would be nice if this script only copied the files to one machine about every 10 seconds and kept a log of its progress for use in later runs of the script (so it didn't duplicate efforts). About once a month the logs would be cleaned out and the script would start fresh.

Does anyone have a solution for this? I think I can safely check for version and copy files, but I'm not sure how to enumerate the NT/2000 PCs on the network, log machines, and compare logs.

Brian

Top
#21162 - 2002-05-03 03:58 PM Re: copying KIX32.EXE to NT/2000 clients from server script
Les Offline
KiX Master
*****

Registered: 2001-06-11
Posts: 12734
Loc: fortfrances.on.ca
Brian,
Here's a snippet of code I use to browse the network and check up on NAV. I'm sure you can adapt...
code:
break on
Call "C:\KiX4.02\UDF\netview.kix"
;Get VPDate from NAV primary
$computer ="FFRAS"
GoSub CurrentPatternName
$NAVMaster = $CurrentPatternName
$currentbuildver = "7.61.00.932"
$netview = netview("@LDOMAIN")
if @error = 0
for each $computer in $netview
if $computer <> "FFCDTOWER" ;darn Linux
$computer
if KeyExist("\\"+ $computer +"\HKLM\SOFTWARE" )
$RC=WriteProfileString("C:\KiX4.02\NAVStatus.ini", "$computer", "LastSeen", "@Date")
Gosub FindMore
else
?
endif
endif
next
endif

? "That all for this go around"
Get $_
Exit 1

p.s It uses Shawn's NetView() UDF and I left out the subroutines to keep it short as it is not really relevant to your task.
_________________________
Give a man a fish and he will be back for more. Slap him with a fish and he will go away forever.

Top
#21163 - 2002-05-03 04:07 PM Re: copying KIX32.EXE to NT/2000 clients from server script
Les Offline
KiX Master
*****

Registered: 2001-06-11
Posts: 12734
Loc: fortfrances.on.ca
Brian,
I have another idea for you. There's an RK util called WaitFor.exe that you can use to trigger an admin script. With it you send a "message' from the client to the box running the admin script asking for the files. The admin script then pushes them. Kind of a client / server combo. Seems easy enough to implement.

I came across an implementation of WaitFor a while back. I think Wimmo and Bryce were involved in it. I think they were using it to push SU.
_________________________
Give a man a fish and he will be back for more. Slap him with a fish and he will go away forever.

Top
#21164 - 2002-05-03 04:11 PM Re: copying KIX32.EXE to NT/2000 clients from server script
BrianTX Offline
Korg Regular

Registered: 2002-04-01
Posts: 895
That sounds interesting.. I'm working on changing what you have to work with my situation. Is this this UDF you were talking about?

http://81.17.37.55/board/ultimatebb.php?ubb=get_topic;f=12;t=000059

I wonder if other people would find this idea a workable solution to copying kix32.exe to NT/2000 systems outside of the logon script. The reason I can get by with not having it on the systems is in my logon bat file it will check for a kix32.exe locally and if it's not there will run the logon script from netlogon. For Windows 95, the kix32 files are copied during the logon script (from netlogon).


Brian

Top
#21165 - 2002-05-03 04:11 PM Re: copying KIX32.EXE to NT/2000 clients from server script
Les Offline
KiX Master
*****

Registered: 2001-06-11
Posts: 12734
Loc: fortfrances.on.ca
Brian,
Jens (Sealeopard) also has a client / server implementation using an INI file to queue up requests. The client writes to an INI and the admin script reads the INI and then pushes out Task Schedules to the client.
_________________________
Give a man a fish and he will be back for more. Slap him with a fish and he will go away forever.

Top
#21166 - 2002-05-03 06:21 PM Re: copying KIX32.EXE to NT/2000 clients from server script
BrianTX Offline
Korg Regular

Registered: 2002-04-01
Posts: 895
I'm thinking the jt.exe method may be better.. I wrote a script to do this, but if the standard shares aren't enabled it won't work...

Here is my script:
code:
break on
call "i:\netview.kix"
$fileversion = "4, 0, 2"
$computer="000000000"
$netview = netview("@LDOMAIN")
$date = "@DATE @TIME"
if @error = 0
for each $computer in $netview
$computerupdateddate=READPROFILESTRING ("i:\cpkix.ini","@LDOMAIN",$computer)
if $computerupdateddate = ""
if GETFILEVERSION ("\\" + $computer + "ADMIN$$\kix32.exe") <> $fileversion
COPY "I:\kix32exe\*.*" "\\" + $computer + "\ADMIN$$"
IF @ERROR = 0
$ok = WriteProfileString ("i:\cpkix.ini","@LDOMAIN",$computer,$date)
ELSE
$ok = WriteProfileString ("i:\cpkix.ini","@LDOMAIN-FAILED",$computer,$date)
endif
ELSE
$ok = WriteProfileString ("i:\cpkix.ini","@LDOMAIN",$computer,"AlreadyCurrent -- "+$date)
endif
endif
Next
Endif

Are there any comments on this?

Brian

Top
#21167 - 2002-05-03 07:28 PM Re: copying KIX32.EXE to NT/2000 clients from server script
Les Offline
KiX Master
*****

Registered: 2001-06-11
Posts: 12734
Loc: fortfrances.on.ca
I don't see the connection with JT. Are you saying maybe JT would be better than what you've got? With regard to ADMIN$ share, wouldn't JT also require it?

If you want to put in place the structure Jens uses for other pushes, and then take advantage of it to roll out KiX, that's fine, but it is more effort to push the JT than to push KiX.

The place where the WaitFor concept differs from Jens' JT is in the timing. Jens has an (async) LA attitude of "when I get around to it" which he can do because he has a well controlled small shop with wake-on-LAN capability. I prefer to hold the user in the logon (sync) where I know that apps will not be opened when I don't want to allow them.

Me, I'm lazy. Like water, I take the path of least resistance. WaitFor is just a concept. I push KiX from my logon.bat and log failures. No big deal. If it fails, run KiX from NetLogon. I then parse the exception log and remote push through ADMIN$. If the're powered off, I'll get 'em next time. For the really big stuff like M$ Office, I have SMS.
_________________________
Give a man a fish and he will be back for more. Slap him with a fish and he will go away forever.

Top
#21168 - 2002-05-03 08:19 PM Re: copying KIX32.EXE to NT/2000 clients from server script
BrianTX Offline
Korg Regular

Registered: 2002-04-01
Posts: 895
I'm in somewhat the same situation as you. When browsing one domain, I find over 350 visible objects. However, not all machines are visible nor on this domain. Ideally, I should be able to do exactly the same things for NT as I do for Windows 95 through the logon script... however at this point I can't.

The logon script by design is as static as possible. Rather than make incremental changes to the logon script, I prefer to rewrite the script, making multiple optimizations. If I create a test logon script with all of my optimizations included and working, it is much easier to gain approval from management for these changes.

Management looks for these things:

1. Does it look the same to the end user?
2. Can we patch the old script to do the same things?
3. Is there another way of doing it that disturbs the end user less?
4. Has it been tested properly?
5. Does it require changes to the DCs and other supplementary systems?
6. Does it require additional maintenance?
7. Is the script long, hard to understand, and difficult to maintain or recreate?
8. Does it increase network bandwidth peak usage?

.....
Many of these types of questions are very difficult to get around. Because software and hardware platforms are constantly changing, the answer is more often than not -- "wait to implement it until we know more about what we're going to be doing in a few months" or "we don't understand it so it's too complex"...

....

What I would like to do is present a logon script that :

1. copies kixtart to client machines, even though the user may not have local admin rights.
2. Maps drives based on what group a user is in.
3. Installs/maintains/updates the latest version of VirusScan (with or without local admin rights)
4. Does not add a bunch of files to the users' PCs
5. Runs quickly on slow connections.
6. Installs security updates and hotfixes when necessary (to Win95/NT/2000 -- with or without local admin rights).
7. Is not so long that you can't read through it in half an hour.
...........

So, at present, I'm working on it.. trying to figure out the best solution.

Brian

Top
Page 1 of 1 1


Moderator:  Jochen, Allen, Radimus, Glenn Barnas, ShaneEP, Ruud van Velsen, Arend_, Mart 
Hop to:
Shout Box

Who's Online
1 registered (Allen) and 363 anonymous users online.
Newest Members
Sir_Barrington, batdk82, StuTheCoder, M_Moore, BeeEm
17886 Registered Users

Generated in 0.055 seconds in which 0.023 seconds were spent on a total of 12 queries. Zlib compression enabled.

Search the board with:
superb Board Search
or try with google:
Google
Web kixtart.org