Advertisements

Chapter 1 WPKG Install

Find this post interesting? Do you like interesting things? Maybe you would like my invention, a connectible candle called a WickBrick!

Get one here http://wickbrick.etsy.com/

WickBrick

Network Cookbook for Small and Medium Enterprises.

Lowering costs by making technology easier to maintain.

WPKG

One of the fundamental aspects of network maintenance is deploying software. It is very possible to hand install software on every single computer… of course an automated way is always preferred.

That is what leads us to WPKG. WPKG is a very simple, easy to use automated software deployment, upgrade, and removal program for Windows.

Installation:

Server Install

Download the latest stable release from here http://wpkg.org/Download
(Not the client)
Something like WPKG 1.0.2 – zip archive

Now unzip the files someplace.

Now on the server that you want to install WPKG on, create a shared folder named WPKG.

Copy into the share (from where you unzipped them) four files:

wpkg.js (“WPKG engine”)hosts.xml (host names, which will use WPKG)

profiles.xml (profiles available to hosts) and

packages.xml (applications and scripts that can be deployed or executed on workstations)

Let’s edit the hosts.xml (on the server of course) to add one computer for testing. Between the <wpkg> and </wpkg> add the line

<host name=”yourcomputer” profile-id=”Test” />

Replacing “yourcomputer” with the network name of your workstation!

This tells wpkg that your computer should use the Test profile. If you want to assign more than one profile to a host then use this format.

<host name=”host1″ profile-id=”custom1″ >
<profile id=”addons1″/>
<profile id=”addons2″/>
</host>

Ok, now that we have assigned our computer to a profile we need to create the profile and then add a package to it.

So let’s edit the profiles.xml file.

I just deleted all of the example profiles and then created a single profile named test.
So between your profile tags it should look like:

<profiles>

<profile id=”Test”>
<package package-id=”dia” />
</profile>

</profiles>

So now we have a host tied to a profile. And the profile contains one package called “dia”

Now we need to create our package, to do so let’s edit the packages.xml file. The packages.xml file contains a bunch of example so let’s scroll to right above the closing tag at the bottom.  (this is </packages>)

Next paste in (above the closing tag </packages>)

<package id=”dia” name=”Dia Diagram Editor” revision=”1″ reboot=”false” priority=”1″>
<check type=”file” condition=”exists” path=”%PROGRAMFILES%\dia\dia-0.96.1-8-uninstall.exe” />
<install cmd=’%SOFTWARE%\graphics\dia-setup-0.96.1-8.exe /S’ />
<upgrade cmd=’%SOFTWARE%\graphics\dia-setup-0.96.1-8.exe /S’ />
<remove cmd=’%PROGRAMFILES%\dia\dia-0.96.1-8-uninstall.exe /S’ />
</package>

I got this install definition from http://wpkg.org/Dia there is also a larger list of installers here: http://wpkg.org/Category:Silent_Installers

Download a copy of Dia from http://dia-installer.de/index_en.html

(dia-setup-0.96.1-8.exe)

Create a folder inside your WPKG share named graphics and copy the dia-setup-0.96.1-8.exe into it.

Edit the settings of the package so that the install cmd= and upgrade cmd path is the direct path to where you copied the files.

<install cmd=’\\yourserver\wpkg\graphics\dia-setup-0.96.1-8.exe /S’ />
<upgrade cmd=’\\yourserver\wpkg\graphics\dia-setup-0.96.1-8.exe /S’ />

That finishes our Server Install.

Client Install

Download the stable WPKG Client from http://wpkg.org/Download

Should be something like WPKG Client 1.2.1 (Not development release)

On your machine run the WPKG Client 1.2.1.msi (we will use it to create a config file to be pushed out to all the other machines)

You need to create a domain user with low user rights or use any old generic one if you have one. Basically this user needs to be able to read from the WPKG share.

So the first parameter you need to set is the remote path to your WPKG share. (Where wpkg.js resides)

This will be something like \\yourserver\WPKG\wpkg.js

You could also use the IP address which would look like \\172.168.10.1\WPKG\wpkg.js
(I recommend using the IP address and making sure your server has a hard coded static IP address)

Ok, leave the WPKG parameters as they are (/synchronize /nonotify /quiet)

For the WPKG path user:
NOTE: you have to add WORKSTATION\, WORKGROUP\ or DOMAIN\ before the username):
192.168.1.1\username
DOMAIN\user
For the WPKG path password: the password for this user account.

For the WPKG execution context, leave the User as SYSTEM and the password blank. This is the user that will be installing your packages.

Now hit the Test settings to verify your settings. If you run into trouble, double check all of your paths. If you run into the infamous “Multiple connections to a server or shared resource by the same user” error, then try referring to the server by a different name. For example use the ip address, or a full DNS name i.e. yourserver.yourdomain

You should not receive any [FAILED] results. When your settings are as you like them, press the export settings button to save them for later use. Now press Save. This will install the WPKG Service

Ok, let’s test to see if everything is working. We have our host defined, a profile assigned to a host, and packages as part of a profile. So, when we start the WPKG Service it should go and find our computer name, match it to the Test profile, and install the Dia package.

The quickest way to test is to go to start, run, type services.msc and then press ok. Scroll down to the very bottom and click on WPKG Service, and the start button. If everything is working as it should within a few moments you should see the Dia shortcut appear on your desktop.

Now you should install the WPKG client on all of your workstations using the settings.xml file.

One way is by using PSEXEC or using Active Directory.

Advertisements

Network Cookbook for Small and Medium Enterprises.

Lowering costs by making technology easier to maintain.

Chapter 1 WPKG

One of the fundamental aspects of network maintenance is deploying software. It is very possible to hand install software on every single computer… of course an automated way is always preferred. That is what leads us to WPKG. WPKG is a very simple, easy to use automated software deployment, upgrade, and removal program for Windows.

Chapter 2 The Perfect Windows XP Corporate Install

Optimizing a workstation before cloning and deployment can be a chore. Here is what I do.

Chapter 3 The Internet Lock Down

One of the first things you will be asked to do is restrict the Internet for certain users, here are some of your options.

Push Installing WPKG using PSEXEC

It is useful to first grab a list of all of the computers in your domain. This vb script will do so (copy and past it into notepad and then save as getcomputers.vbs) Then execute it to generate a hosts.xml file.

***********Script*************

Const ADS_SCOPE_SUBTREE = 2

set fs = CreateObject(“Scripting.FileSystemObject”)
set textstream = fs.CreateTextFile(“hosts.xml”, True)
Set rootDSE = GetObject(“LDAP://RootDSE”)
domainContainer =  rootDSE.Get(“defaultNamingContext”)

Set objConnection = CreateObject(“ADODB.Connection”)
Set objCommand =   CreateObject(“ADODB.Command”)
objConnection.Provider = “ADsDSOObject”
objConnection.Open “Active Directory Provider”

Set objCOmmand.ActiveConnection = objConnection
objCommand.CommandText = _
“Select Name, distinguishedName from ‘LDAP://” & domainContainer & “‘ ” _
& “Where objectClass=’computer'”
objCommand.Properties(“Page Size”) = 1000
objCommand.Properties(“Searchscope”) = ADS_SCOPE_SUBTREE
Set objRecordSet = objCommand.Execute
objRecordSet.MoveFirst

Do Until objRecordSet.EOF
‘Wscript.Echo “Computer Name: ” & objRecordSet.Fields(“Name”).Value
‘Wscript.Echo “distinguishedName: ” & objRecordSet.Fields(“distinguishedName”).Value
arrPath = Split(objRecordSet.Fields(“distinguishedName”).Value, “,”)
strOU = “”
for each a in arrPath
if left(a,2) = “OU” Then
strOU = “/” & right(a,len(a) – 3) & strOU
End If
Next
‘Wscript.Echo “Path: ” & StrOU
textstream.WriteLine objRecordSet.Fields(“Name”).Value
objRecordSet.MoveNext
Loop
textstream.close
Wscript.Echo “Finished…”

************End Script***************

Ok, so that will save a file called hosts.xml. Edit it to remove any computer names that you don’t want to install WPKG on. Copy this file to your root c:

Download PStools. http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx

To make it easy, install it to the root of your c: drive.

Download the WPKG clientt http://www1.wpkg.org/files/client/stable/WPKG%20Client%201.2.1.msi

and copy it over to a remote share. Also, copy over your settings file to the same remote share.

When you are ready to install, execute this psexec command: (Replacing yourdomain, adminuser, yourpassword, and yourserver with your values)

c:psexec -u yourdomainadminuser -p yourpassword @hosts.xml -s -d msiexec /i “yourserverwpkgWPKG Client 1.2.1.msi” /qb SETTINGSFILE=yourserverwpkgsettings.xml

This will then install WPKG on any of these clients that happen to be on at the time 🙂

Quick backup and restore of your NK2 file

Find this post interesting? Do you like interesting things? Maybe you would like my invention, a connectible candle called a WickBrick!

Get one here http://wickbrick.etsy.com/

WickBrick

You know your NK2 file, what is that you ask? It’s that pesky file that auto-completes your sendto contacts inside of Outlook when you are typing a new message. This is a critical file to most people, and they don’t even know it until it is gone.

To back it up.bat

md \\yourserver1\nk2\%username%
copy “c:\Documents and Settings\%username%\application data\Microsoft\Outlook\*.Nk2” \\yourserver\nk2\%username%

To restore it.bat

copy \\yourserver1\nk2\%username%\*.nk2 “c:\Documents and Settings\%username%\application data\Microsoft\Outlook\”

Configuring Ether-Channel for Vmware ESX 3.5 on a Cisco 4503 Catalyst

Find this post interesting? Do you like interesting things? Maybe you would like my invention, a connectible candle called a WickBrick!

Get one here http://wickbrick.etsy.com/

WickBrick

I am by no means a Cisco expert, not even close… so take this post with a huge grain of salt. It hopefully will help you at least get close to what you want, which is Nic Teaming on your Vmware server.

In our case our vmware servers have 6 Nics, that are configured like this.

esx_network_settingsSo vmnic0 (zero)  is for the service console, nic1 is a service console and for vmotion, and nic2 – 5 are teamed for the virtual machines.

So, now on to the Cisco config. So by design, ESX handles the outgoing load balancing, but to get incoming load balancing you need to configure your switch. This post talks a little bit about it

http://virtrix.blogspot.com/2006/11/vmware-switch-load-balancing.html

And I think it is a similar setup. I notice that that post uses spanning-tree portfast trunk but I’m not sure what that does 🙂

So to configure your Cisco

telnet into your switch

put in your password

type en

put in your admin password

Ok, so we have three groups we wanted to setup,  group 1 on ports 1-4 group 2 on ports 5-8 group 3 on 9-12

so type config t

then

int range G2/1 – 4     (notice there is a space between the 1 and the dash and the dash and the 4) (I believe the g is for gigabit)

channel-group 1 mode on  (we had a consultant use access and then caused a network storm…. )

then type

exit

so if you type show run

you should see blade 2 ports 1 – 4 as part of channel-group 1 and the mode should be on

now type

interface port-channel1

sw tr en dot

sw mode tr

sw non

exit

and then

wr mem (to write out your settings)

Hopefully these notes help somebody out there!

You might also want to take a look at http://blog.scottlowe.org/2006/12/04/esx-server-nic-teaming-and-vlan-trunking/

Here is what my config looks like….

interface Port-channel1
switchport
switchport trunk encapsulation dot1q
switchport mode trunk
switchport nonegotiate
!
interface Port-channel2
switchport
switchport trunk encapsulation dot1q
switchport mode trunk
switchport nonegotiate
!
interface Port-channel3
switchport
switchport trunk encapsulation dot1q
switchport mode trunk
switchport nonegotiate
!
interface GigabitEthernet1/1
!
interface GigabitEthernet1/2
!
interface GigabitEthernet2/1
switchport trunk encapsulation dot1q
switchport mode trunk
switchport nonegotiate
channel-group 1 mode on
!
interface GigabitEthernet2/2
switchport trunk encapsulation dot1q
switchport mode trunk
switchport nonegotiate
channel-group 1 mode on
!
interface GigabitEthernet2/3
switchport trunk encapsulation dot1q
switchport mode trunk
switchport nonegotiate
channel-group 1 mode on
!
interface GigabitEthernet2/4
switchport trunk encapsulation dot1q
switchport mode trunk
switchport nonegotiate
channel-group 1 mode on
!
interface GigabitEthernet2/5
switchport trunk encapsulation dot1q
switchport mode trunk
switchport nonegotiate
channel-group 2 mode on
!
interface GigabitEthernet2/6
switchport trunk encapsulation dot1q
switchport mode trunk
switchport nonegotiate
channel-group 2 mode on
!
interface GigabitEthernet2/7
switchport trunk encapsulation dot1q
switchport mode trunk
switchport nonegotiate
channel-group 2 mode on
!
interface GigabitEthernet2/8
switchport trunk encapsulation dot1q
switchport mode trunk
switchport nonegotiate
channel-group 2 mode on
!
interface GigabitEthernet2/9
switchport trunk encapsulation dot1q
switchport mode trunk
switchport nonegotiate
channel-group 3 mode on
!
interface GigabitEthernet2/10
switchport trunk encapsulation dot1q
switchport mode trunk
switchport nonegotiate
channel-group 3 mode on
!
interface GigabitEthernet2/11
switchport trunk encapsulation dot1q
switchport mode trunk
switchport nonegotiate
channel-group 3 mode on
!
interface GigabitEthernet2/12
switchport trunk encapsulation dot1q
switchport mode trunk
switchport nonegotiate
channel-group 3 mode on
!

After curing does Mold Max 30 bond to itself

I have cured a Mold Max 30 form and then made a separate batch a few days later and poured it on top and it bonded with the previous mold. I am sure there is probably a coating you can apply to stop this behavior.

Melting point of Lego

Lego can handle 150F just fine, around 230F it starts to deform. I’m not sure of the true temps… I will have to investigate more 🙂