Difference between revisions of "Push Install WPKG with Psexec"
Mellerbeck (Talk | contribs) |
Mellerbeck (Talk | contribs) |
||
Line 1: | Line 1: | ||
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) | 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) | ||
+ | <source lang="vb"> | ||
Const ADS_SCOPE_SUBTREE = 2 | Const ADS_SCOPE_SUBTREE = 2 | ||
Line 38: | Line 39: | ||
textstream.close | textstream.close | ||
Wscript.Echo "Finished..." | Wscript.Echo "Finished..." | ||
− | + | </source> | |
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:\ | 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:\ |
Revision as of 18:36, 17 December 2008
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)
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..."
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 -y yourdomain\adminuser -p yourpassword @hosts.xml -s -d msiexec /i "\\yourserver\wpkg\WPKG Client 1.2.1.msi" /qb SETTINGSFILE=\\yourserver\wpkg\settings.xml
This will then install WPKG on any of these clients that happen to be on at the time :)