Jump to content

RIS, WinPE, Various MS OSs


snag

Recommended Posts

Ok, so Microsoft says that each OPK must correlate to the specific OS in which it was distributed with. Is there a difference among them at all? It does not seem so upon initial inspection...but when you try to add a new SKU (for the sake of argument XP-Pro and MCE) it says that SKU already exists would I like to over-write. Well, I do not want to over-write my XP-Pro with SBS or MCE so my answer at that point is a resounding: NO.

Is there a way to have RIS start up with WinPE and install cfgsets from various version of Windows WITHOUT having to host the sets on different computers? I mean, I have deliberately built this system particularly for doing deployments and I want to have everything under one roof, so to speak.

I know how to do it from the RIS side of things...but it is that **** OPK portion of the install that is causing me grief. I want to use PE, I want to use RIS. Do I have any options?

TIA.

Snag

Link to comment
Share on other sites

  • 2 weeks later...

I know how to do it from the RIS side of things...but it is that **** OPK portion of the install that is causing me grief.  I want to use PE, I want to use RIS.  Do I have any options?

TIA.

Snag

Are you doing CD based installs or Network based installs?

You can script anything you want to do and run the installs from a Network share.

Consider this option. All your install scripts would reside on the network rather than teh CD cutting down on the CD's you would nee to burn everytime you made a chage.

Logical Steps (overview)

1 - Boot PE.

2 - Select OS to install

3 - Connect to Network Share

4 - Run OS install

5 - Post scripting (aplication installs... custom settings.. Yadda yadda yadda...)

This is Very basic .. but you get the jist.

I have one PE CD that you can Install 3 different OS'S (Windows XP, Windows 2000 Server and WIndows 2003 Server).

It's all in the scripting. Don't expect to do it overnight. It will take time and Alot of testing. I support 30 different Server Models by various vendors (IBM, HP, Dell, Vmware) as well as another 2 dozen Desktop models.

Chris

Link to comment
Share on other sites

Hi Chris

That was a nice one. Do you manually select the server modell or have you done it with WMI/DMI

I'm doing about 35 workstation models with a single XP image and DMI to do vendor specific changes

Link to comment
Share on other sites

Hi Chris

That was a nice one. Do you manually select the server modell or have you done it with WMI/DMI

I'm doing about 35 workstation models with a single XP image and DMI to do vendor specific changes

In a pefect world... DMI/WMI would be great. But in my testing it returned flaky results based on the Manufacturer. The WMI query itself returned different values on the same exact hardware models with newer bios versions. I provide drop down for each OS with the model. Based on that I reference a section in an INI file for the build details. It works very well and I have total control over what I want to push out (or not want to push out) for a particular model.

My PXE build works in a similar fashion except the data presented on the web page for the models is stored in a database. I still keep the INI file method for CD builds and for DR.

I'd love to see some of your code for what you are doing. :D

Chris

Link to comment
Share on other sites

  • 2 weeks later...
  • 1 month later...

I'm back at the office

and here comes

Dim objWSHShell
Dim objWSHNetwork
Dim objWSHProcessEnv
Dim fso



'*****************************************************************************
'*
'*   Deklarera konstanter
'*
'*****************************************************************************

Const SHOWHIDDEN = 0
Const SHOWNORMAL = 1
Const SHOWMIN = 2
Const SHOWMAX = 3
Const FILEATTRNORMAL = 0
Const FILEATTRREADONLY = 1
Const FILEATTRHIDDEN = 2
Const FILEATTRSYSTEM = 4
Const FILEATTRVOLUME = 8
Const FILEATTRDIRECTORY = 16
Const FILEATTRARCHIVE = 32
Const FILEATTRALIAS = 64
Const FILEATTRCOMPRESSED = 128
Const FORAPPENDING = 8
Const FORWRITING = 2
Const FORREADING = 1


'*****************************************************************************
'*
'*   Initiera objekt
'*
'*****************************************************************************
Set objWSHShell = WScript.CreateObject("WScript.Shell")
Set objWSHNetwork = WScript.CreateObject("WScript.Network")
Set objWSHProcessEnv = objWSHShell.Environment("PROCESS")
Set fso = CreateObject("Scripting.FileSystemObject")



'*****************************************************************************
'*
'*   Initiera Variabler
'*
'*****************************************************************************



'*****************************************************************************
'*
'*   Huvudprogram
'*
'*****************************************************************************



'*****************************************************************************
'*
'*   Subrutiner
'*
'*****************************************************************************
 dim colItems
 dim objitem
 dim counter
 dim ismobile
 dim objwmiservice
 dim macaddress
 dim ipaddress
 dim manufacturer
 dim Model

 ismobile=0
 Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")

 Set colItems = objWMIService.ExecQuery("Select * from Win32_NetworkAdapter", , 48)
 For Each objItem In colItems
   if not isnull(objItem.MACAddress) then
     macaddress= "Macaddress: " & objItem.MACAddress
   end if
 next
 
 Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")
 For Each objItem in colItems
   If Not IsNull(objItem.IPAddress) Then
     For counter = 0 To UBound(objItem.IPAddress)
       ipaddress ="Ipaddress: " & objItem.IPAddress(counter)
     next
   End If
 next

 Set Colitems = objWMIService.InstancesOf ("Win32_ComputerSystem")
 for each objItem in Colitems
manufacturer = "Manufacturer: "& trim(ObjItem.Manufacturer)    
   if right(manufacturer,1)="." then  ' Dell och VMware got a point in the name
     manufacturer= left(manufacturer,len(manufacturer)-1)
   end if
Model= "Modell: " & trim(ObjItem.Model)
 next  

 if instr(ucase(Model),"SCENIC") then 'Fujitsu siemens namnes multiple boxes to Scenic
   Set ColItems = objWMIService.InstancesOf("Win32_BaseBoard") 'for these we use the mainboard as name
   For Each objItem In ColItems
     Model = "Modell: " & trim(ObjItem.Product)
   next
 end if
 

 Set ColItems = objWMIService.InstancesOf("Win32_Processor")
 For Each objItem In ColItems
   
if instr(objitem.name,"Pentium(R) M") or instr(objitem.name,"Mobile") then

  ismobile="Is a mobile"
end if
next

msgbox macaddress & vbcrlf & ipaddress & vbcrlf & manufacturer & vbcrlf & model & vbcrlf & ismobile

then simply do a copy \\server\manufacturer\model\*.* to c:\something

include c:\something in the pnpoemdriverspath in the target registry and it will scan c:\something for drivers the sysprep runs

Link to comment
Share on other sites

Nice peice of code...

The biggest problem the I see right off the bat is that it doesn't deal in machines with more than one network adapter.

I ran this on my dektop and it picked up my VMware Bridged adapter instead of my real NIC. Servers have anywhere from 1 to 4 or even more network adapters. Most commonly 2 unless you add aditional cards.

My other problem is that I have IBM servers that will actually report different values for the model. Same machine... Different Bios revs. Thats why I opted to stay away from WMI I can control the options that I present without having to worry about if the Manufacturer releases a bad bios rev.

Chris

Link to comment
Share on other sites

Hi Chris

It's very true that I only handle one nic in this code. But since it only takes adapters with an ip we simply pull the cables from the other adapters which are on dhcp enabled nets and since it is intended to run from PE virtual dapters are no problem.

If you want to it would be easy to make the macaddress varaible an array and simply query for each mac found in the system instead. Ofcource only one should be in the database your asking for the info

Bios:es kan be a major issue, HP has a nasty habit of changing the modellname as soon as they change a component for example a switch of HD vendor. So far we got two ways to handle that. either reject bad bios:es or copy the driver files to the new name

Link to comment
Share on other sites

I have done a few a those. HP remote insight boards are nice. Simply take the nic ofline and install it :D but i agree that it is a better soloution to enum the macs.

Currently im fighting with DB2, trying to get the db2 ole driver to work in pe. Looks like we will have to use a ms sql as a proxy instead

Link to comment
Share on other sites

I have done a few a those. HP remote insight boards are nice. Simply take the nic ofline and install it  :D but i agree that it is a better soloution to enum the macs.

Currently im fighting with DB2, trying to get the db2 ole driver to work in pe. Looks like we will have to use a ms sql as a proxy instead

No throw the layer of complexity in of MULTIPLE VENDORS. (IBM, HP, DELL, VMWARE)...

Insiteboard is noce.. but only for HP.

Thats what I run into all the time. Make it work across the board.

My supported model list is up to 32.

Chris

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...