Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations IamaSherpa on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Tell me your agent deployment issues

Status
Not open for further replies.

Provogeek

MIS
Sep 4, 2002
1,412
US
I am currently working on a script for deploying the ZfD 6.5 agent (will work with previous and future versions as well). In this script I am running a set of checks to ensure the workstation is at the minimum required service pack level and IE version.

If you attempt to deply the ZfD 6.5 agent to workstations that do not meet this minimum, the install fails. Unless other wise configured, you are not really given the reason why the install failed (speaking from an automated deployment scenrio).

I would like it if others could share with me what kind of failures they have run into when deploying the ZfD agent to their workstations so I may expand on this script.

Below is an example of this script that is usable. This script was created with AutoIt ( ) and utilizes the Kiwi windows based Syslog service (both daemon and SyslogGen) for reporting errors ( )

[tt]
Code:
; ----------------------------------------------------------------------------
;
; AutoIt Version: 3.1.0
; Author:       Brent Schmidt <Brent@kiscc.com>
; Company:	KIS Computer Center
; Client:	
; Date:		10/21/05
;
; Script Function:
;	Zenworks Workstation Inspection
;
; ----------------------------------------------------------------------------
;
;     This scipt is intended to be used in a system login script to
;     scan PC's to verify they have required service packs and Internet
;     Explorer 6 installed.  All output is directed to a Syslog server
;


Dim $ZfDver
Dim $IEver

$ZfDver = RegRead ( "HKLM\SOFTWARE\Novell\ZENworks\ZfD\Agent\Workstation Manager", "Version" )
$IEver = FileGetVersion("C:\Program Files\Internet Explorer\iexplore.exe")

If $ZfDver = "6.5.2.50809" Then
	Exit
ElseIf $IEver < "6.0.000.0000" Then
	ReportError("IE")
Else
	If @OSVersion = "WIN_XP" Then
		If @OSServicePack = "Service Pack 1" Then
			Exit
		ElseIf @OSServicePack = "Service Pack 2" Then
			Exit
		Else
			ReportError("SP")
		EndIf
	ElseIf @OSVersion = "WIN_2000" Then
		If @OSServicePack = "Service Pack 4" Then
			Exit
		Else
			ReportError("SP")
		EndIf
	ElseIf @OSVersion = "WIN_98" Then
		If @OSServicePack = "A" Then
			Exit
		Else
			ReportError("SP")
		EndIf
	Else
		ReportError("OS")
	EndIf
EndIf

Func ReportError($error)
	If $error = "SP" Then
		Run ( "klogwin.exe -h 10.1.102.1 -m " & '"' & @ComputerName & " needs current service packs" & '"' )
	ElseIf $error = "OS" Then
		Run ( "klogwin.exe -h 10.1.102.1 -m " & '"' & @ComputerName & " needs an OS Upgrade" & '"' )
	ElseIf $error = "IE" Then
		Run ( "klogwin.exe -h 10.1.102.1 -m " & '"' & @ComputerName & " needs IE6 to be installed" & '"' )
	EndIf
	Exit
EndFunc
[/tt]

=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
Brent Schmidt Certified nut case [hippy]
Senior Network Engineer
Keep IT Simple
 
Autoit is awesome. It has come in very handy for me since I first heard about it (From you, thank you).

Couple things.. Where you are querying the registry for the ZEN agent version and assigning it to $ZFDVER....

$ZfDver = "6.5.2.50809"

It would be better if you make the condition based on at least a MINIMUM version (<=). I used a similar script and the problem I ran into was with a newer agent than what the script asked for -- it treated it the same as if no agent was installed at all. And that created a loop that was difficult to get out of.

Also, once you compile this, where do you typically deploy it? I have been toying with this and trying to figure out the best place for it.. Launch in Login script? Put on workstation and forcerun on startup? Force out with Zen? The obvious need is to get the script to run to force the agents to be installed if they are not present, but you don't want to deal with yet another thing to try to manage.

Marvin Huffaker, MCNE
 
So see what registry key I am looking at, check the beginning of the code and fine were I declair the $ZfDver variable. I declair this variable by perform a regread function and storing that value in the $ZfDver variable.

I thought about doing a minimum but chose to do absolute because in some deployments I have done, I needed to ensure the exact version of the agent I was deploying was what what everyone had. As service packs come out, I adjust the version in the code to match the agent I am deploying.

Once compiled, I place this along with the Kiwi sysloger in the network public directory and verify the customer has proper search drives setup in their login script. I then just place the compiled script executable into the login script. When a user logs in, the agent will do it's thing. If the agent is already there, the script will exit. The time it takes to process is very fast, so users do not notice a thing.

I have a nice set of scripts I have been writing that have made deployments much easier and I will soon be posting those in CoolSolutions (to go along with my cool imaging script). They just all require someone to look at the version and adjust that based on their deployment.

=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
Brent Schmidt Certified nut case [hippy]
Senior Network Engineer
Keep IT Simple
 
So how do you handle it when you plop a new image on a workstation? You don't have client or agents unless you included them in the image.

I took a modified version of what you did, added some code in to check the Novell client version and if either the client or the zen agent arent installed, it will go ahead and install them.

Put the script inside the image and then set the machine to run the script on bootup. Works good but I don't really like the idea of having to deal with it on each individual workstation.

Marvin Huffaker, MCNE
 
huh? script was never intended to be used with in an image.

I have another set of scripts I have yet to share that I use with in images. This whole idea is for deploying the agent with in a new install. I'm just working on coding in some checks to ensure an agent installs with out issue, and if there is a possible issue that can occure, I want to detect it and report it with in an enviroment that has never had ZfD installed.

=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
Brent Schmidt Certified nut case [hippy]
Senior Network Engineer
Keep IT Simple
 
I use it in the login script

=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
Brent Schmidt Certified nut case [hippy]
Senior Network Engineer
Keep IT Simple
 
Provo, Will this take care of the "unable to map $admin share" error? And do I just copy this script and make it an exe? thanks Breeze

HEY, WATCH THIS!
 
I do not know of this $admin share error you speak of.

And yes, you could just copy and compile.

=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
Brent Schmidt Certified nut case [hippy]
Senior Network Engineer
Keep IT Simple
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top