IPB

Google Frontpage Forums Unattended CD/DVD Guide
 Forum Rules Unattended CD/DVD Guide Homepage · MSFN Forum Rules
28 Pages V   1 2 3 > »   
Reply to this topicStart new topic
> Multi Manufacturer Pre-Activation
Bezalel
post Mar 26 2006, 10:57 PM
Post #1


Senior Member
****

Group: Members
Posts: 588
Joined: 11-October 05
Member No.: 76348
OS: XP Pro x86
Country Flag


Do you want to use the same CD for installing Windows on multiple computer from differant manufacturers and still maintain Pre-activation? If so I can help but I need your help. I've written a VBScript file that will try to determine who the manufacturer and what model your computer is. The third line of output is the manufacturer string converted into Hex. Please reply with the output from this VBScript so that I can make a database of manufacturer's strings. Please only reply if your computer was built by a Royalty OEM.

CODE
strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colComputer = objWMIService.ExecQuery("Select * from Win32_ComputerSystem")
For Each objComputer in colComputer
    MfgHex=""
    for i=1 to len(objComputer.Manufacturer)
        MfgHex=MfgHex & Hex(Asc(Mid(objComputer.Manufacturer,i,1)))
        If i Mod 4 = 0 then MfgHex=MfgHex & " "
    Next
    ComputerReport = ("Manufacturer: " & objComputer.Manufacturer & vbCrLf &_
    "Model: " & objComputer.Model & vbCrLf &_
    MfgHex)
Next
WScript.Echo ComputerReport


Sample output

QUOTE
Manufacturer: Dell Computer Corp.
Model: PowerVault 715N
44656C6C 20436F6D 70757465 7220436F 72702E


This code hase been modified by gunsmokingman to output the report to a text file.

CODE
strComputer = "."
Dim Act, ComputerReport, Fso, Dtop, Report, Ts
Set Act = CreateObject("Wscript.Shell")
Set Fso = CreateObject("Scripting.FileSystemObject")
Dtop = Act.SpecialFolders("Desktop")
Set Ts = Fso.CreateTextFile(Dtop & "\ComputerReport.txt")
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colComputer = objWMIService.ExecQuery("Select * from Win32_ComputerSystem")
For Each objComputer In colComputer
  MfgHex=""
  For i=1 To Len(objComputer.Manufacturer)
    MfgHex=MfgHex & Hex(Asc(Mid(objComputer.Manufacturer,i,1)))
    If i Mod 4 = 0 then MfgHex=MfgHex & " "
  Next
  ComputerReport = (space(3) & "Manufacturer: " & objComputer.Manufacturer & vbCrLf &_
  space(3) & "Model: " & objComputer.Model & vbCrLf & space(3)& MfgHex)
Next
Ts.WriteLine ComputerReport : Ts.Close
Act.Run(Chr(34)& Dtop & "\ComputerReport.txt" & Chr(34)),1,True


This post has been edited by Bezalel: Mar 28 2006, 10:40 AM
Go to the top of the page
 
+Quote Post
Djé
post Mar 27 2006, 10:40 AM
Post #2


accent artist
***

Group: Members
Posts: 359
Joined: 10-January 06
From: your back
Member No.: 84897
Country Flag


Nice idea thumbup.gif
But i've got 3 of them (different manufs), I am lazier than you, I don't know vbscript enough AND the output is a msgbox from which i cannot copy/paste !
Can you improve this (clipboard is enough, I'll do the rest) please?
Go to the top of the page
 
+Quote Post
Bezalel
post Mar 27 2006, 12:45 PM
Post #3


Senior Member
****

Group: Members
Posts: 588
Joined: 11-October 05
Member No.: 76348
OS: XP Pro x86
Country Flag


I origionally wanted to use the clipboard but MS doesn't let VBScript files access the clipboard. I changed the code from MsgBox to WScript.Echo so you can redirect the output to a text file

CODE
cscript /nologo GetMfgName.vbs >> MfgName.txt
Go to the top of the page
 
+Quote Post
Djé
post Mar 28 2006, 12:44 AM
Post #4


accent artist
***

Group: Members
Posts: 359
Joined: 10-January 06
From: your back
Member No.: 84897
Country Flag


Thanks, and here you are:

Manufacturer: TOSHIBA
Model: Satellite M30
544F5348 494241

Manufacturer: COMPAQ
Model: PRESARIO 1721LA 470027-254
434F4D50 4151

Manufacturer: Packard Bell NEC
Model: 00000000000000000000000
5061636B 61726420 42656C6C 204E4543

Reverse chronological order so the 3rd one is there for archeological purpose (not that the others are brand new...). Model is a EasyNote Sc 3703.
Anyway manufacturer still exist!
Also I don't have pre-activation on this one: it was shipped with WinMe!
Go to the top of the page
 
+Quote Post
Bilou_Gateux
post Mar 28 2006, 01:28 AM
Post #5


Powered by Windows Embedded
*****

Group: Members
Posts: 752
Joined: 3-January 04
From: Underworld
Member No.: 11874
OS: XP Pro x86
Country Flag


thumbup.gif
I will use it for RIS deployment.

post #103

This post has been edited by Bilou_Gateux: Jul 26 2006, 10:07 AM
Go to the top of the page
 
+Quote Post
gunsmokingman
post Mar 28 2006, 02:00 AM
Post #6


MSFN Addict
Group Icon

Group: Moderator
Posts: 1743
Joined: 2-August 03
From: Vancouver,B.C
Member No.: 5386
OS: none
Country Flag


I have added to your script so it produces a text file for them to send you or post here.
QUOTE
CODE
strComputer = "."
  Dim Act, ComputerReport, Fso, Dtop, Report, Ts
  Set Act = CreateObject("Wscript.Shell")
  Set Fso = CreateObject("Scripting.FileSystemObject")
  Dtop = Act.SpecialFolders("Desktop")
  Set Ts = Fso.CreateTextFile(Dtop & "\ComputerReport.txt")
  Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
  Set colComputer = objWMIService.ExecQuery("Select * from Win32_ComputerSystem")
    For Each objComputer In colComputer
     MfgHex=""
      For i=1 To Len(objComputer.Manufacturer)
        MfgHex=MfgHex & Hex(Asc(Mid(objComputer.Manufacturer,i,1)))
        If i Mod 4 = 0 then MfgHex=MfgHex & " "
      Next
     ComputerReport = (space(3) & "Manufacturer: " & objComputer.Manufacturer & vbCrLf &_
    space(3) & "Model: " & objComputer.Model & vbCrLf & space(3)& MfgHex)
   Next
  Ts.WriteLine ComputerReport : Ts.Close
  Act.Run(Chr(34)& Dtop & "\ComputerReport.txt" & Chr(34)),1,True
Go to the top of the page
 
+Quote Post
Sonic
post Mar 28 2006, 05:00 AM
Post #7


Sonic
Group Icon

Group: Patrons
Posts: 1583
Joined: 4-December 03
From: France
Member No.: 10366
OS: none
Country Flag


I have many Acer notebook and classic tower to prepare ... I will post my results during this week if I can ... but what about integration of oembios files ? multiple I386 source ? a batch same as pyron method to swith oembios files ?
Go to the top of the page
 
+Quote Post
Bezalel
post Mar 28 2006, 10:34 AM
Post #8


Senior Member
****

Group: Members
Posts: 588
Joined: 11-October 05
Member No.: 76348
OS: XP Pro x86
Country Flag


Sonic; I intend to install using the MS files and replace the files with vendor specific files from cmdlines.txt. I will not be providing the vendor specific files but will provide scripts to extract them from a working system. I'm not familiar with Pyron's method.

gunsmokingman; thanks for the code improvements.
Go to the top of the page
 
+Quote Post
gunsmokingman
post Mar 28 2006, 02:59 PM
Post #9


MSFN Addict
Group Icon

Group: Moderator
Posts: 1743
Joined: 2-August 03
From: Vancouver,B.C
Member No.: 5386
OS: none
Country Flag


Your welcome, hope what I added helps your project.
The text file is left on the user desktop.
Go to the top of the page
 
+Quote Post
Bezalel
post Mar 30 2006, 10:28 PM
Post #10


Senior Member
****

Group: Members
Posts: 588
Joined: 11-October 05
Member No.: 76348
OS: XP Pro x86
Country Flag


Is there any way to get the manufacturer's name without using WMI? apparently WMI isn't fully functional during setup (even when the WMI services are running). I know I can replace the files using GuiRunOnce but then I'd have to disable SFP and I'd rather replace the files before SFP is fully initialized and possibly have the replaced files be protected by SFP.
Go to the top of the page
 
+Quote Post
AmphetaMarinE
post Apr 1 2006, 11:24 PM
Post #11


Newbie


Group: Members
Posts: 14
Joined: 28-May 05
Member No.: 57989
Country Flag


here u go...
Manufacturer: Samsung Electronics
Model: SM40P
53616D73 756E6720 456C6563 74726F6E 696373
Go to the top of the page
 
+Quote Post
Bezalel
post Apr 9 2006, 05:39 PM
Post #12


Senior Member
****

Group: Members
Posts: 588
Joined: 11-October 05
Member No.: 76348
OS: XP Pro x86
Country Flag


I've been having some problems with WFP so here is a temporary solution. In order for this to work WFP must be disabled on the machine you are building.

SetEnvVar.vbs
CODE
strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colComputer = objWMIService.ExecQuery("Select * from Win32_ComputerSystem")
For Each objComputer in colComputer
    MfgHex=""
    for i=1 to len(objComputer.Manufacturer)
        MfgHex=MfgHex & Hex(Asc(Mid(objComputer.Manufacturer,i,1)))
    Next
Next
Set Shell=CreateObject("Wscript.Shell")
Shell.Environment.item("MFGHEX") = MfgHex


CollectOEMFiles.bat
CODE
setEnvVar.vbs
copy %SYSTEMROOT%\system32\OEMBIOS.BIN .\%MFGHEX%.BIN
attrib -s %SYSTEMROOT%\system32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\OEMBIOS.CAT
copy %SYSTEMROOT%\system32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\OEMBIOS.CAT .\%MFGHEX%.CAT
attrib +s %SYSTEMROOT%\system32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\OEMBIOS.CAT
copy %SYSTEMROOT%\system32\OEMBIOS.DAT .\%MFGHEX%.DAT
copy %SYSTEMROOT%\system32\OEMBIOS.SIG .\%MFGHEX%.SIG


RestoreOEMFiles.bat
CODE
%SYSTEMDRIVE%\oembios\setEnvVar.vbs
copy /y %SYSTEMDRIVE%\oembios\%MFGHEX%.BIN %SYSTEMROOT%\system32\OEMBIOS.BIN
attrib -s %SYSTEMROOT%\system32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\OEMBIOS.CAT
copy /y %SYSTEMDRIVE%\oembios\%MFGHEX%.CAT %SYSTEMROOT%\system32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\OEMBIOS.CAT
attrib +s %SYSTEMROOT%\system32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\OEMBIOS.CAT
copy /y %SYSTEMDRIVE%\oembios\%MFGHEX%.DAT %SYSTEMROOT%\system32\OEMBIOS.DAT
copy /y %SYSTEMDRIVE%\oembios\%MFGHEX%.SIG %SYSTEMROOT%\system32\OEMBIOS.SIG


To collect your files put SetEnvVar.vbs and CollectOEMFiles.bat in the same directory and run CollectOEMFiles.bat This will create 4 files whose names are hex strings representing your PC manufacturer.

On your CD put the files SetEnvVar.vbs, RestoreOEMFiles.bat, and all the files created by CollectOEMFiles.bat (from each manufacturer) in the \$OEM$\$1\OEMBIOS\ directory and run %SYSTEMDRIVE%\oembios\RestoreOEMFiles.bat from GUIRunOnce or RunOnceEx. This will not work from cmdlines.txt.

You need to use the CD-Key used by your PC Manufacturer (or any other manufacturer) or one found at http://www.microsoft.com/technet/prodtechn...y/oempreac.mspx.

This post has been edited by Bezalel: Apr 11 2006, 05:52 AM
Go to the top of the page
 
+Quote Post
Sonic
post Apr 10 2006, 11:28 AM
Post #13


Sonic
Group Icon

Group: Patrons
Posts: 1583
Joined: 4-December 03
From: France
Member No.: 10366
OS: none
Country Flag


CODE
Manufacturer: Acer, inc.
   Model: Aspire 1640    
   41636572 2C20696E 632E
CODE
Manufacturer: Dell Computer Corporation
   Model: Inspiron 8600                  
   44656C6C 20436F6D 70757465 7220436F 72706F72 6174696F 6E
CODE
Manufacturer: Acer
   Model: Aspire T135
   41636572
CODE
Manufacturer: Acer
   Model: Aspire T160
   41636572


Bezalel, attach files required, it's better than copy/paste, thanks.

Goodbye.
Go to the top of the page
 
+Quote Post
Bilou_Gateux
post Apr 11 2006, 03:40 AM
Post #14


Powered by Windows Embedded
*****

Group: Members
Posts: 752
Joined: 3-January 04
From: Underworld
Member No.: 11874
OS: XP Pro x86
Country Flag


@Bezalel



Not tried yet your scripts but:

shouldn't be %SystemDrive%\System32 replaced with %SystemRoot%\System32 in both batch scripts.



I would like to switch oembios* files @T39 using SMBios Details to identify System Manufacturer.

Actually i can output SMBios Details using a HP tool (HPQSI.EXE) launched with a batch script (OCA_MRK.CMD) @T39 but i haven't yet written the script to parse the output and copy the right OEMBIOS* files depending of the manufacturer.



ristndrd.sif

QUOTE
[GuiUnattended]OemSkipWelcome = 1
OemSkipRegional = 1
TimeZone = %TIMEZONE%
AdminPassword = "*"
DetachedProgram=".\system32\cmd.exe"
Arguments="/Q /C FOR /F %I IN (%SystemRoot%\SYSTEM32\$WINNT$.INF) DO (FOR %J IN (%I\$OEM$) DO (IF EXIST %J (%J\NirCmd.exe exec hide %J\OCA_MRK.CMD)))"


sample HPQSI.INI
QUOTE
[ParsedHPQSystemInformation]Product Name="HP Compaq dc7600 Convertible Minitower"
Product Number="EC834ET#ABF"
Serial Number="HUB#######"

[RawHPQSystemInformation]
BIOSVendor="Hewlett-Packard"
BIOSVersion="786D1 v01.03"
BIOSReleaseDate="05/18/2005"
BIOSMajorVersion="1"
BIOSMinorVersion="3"
ECFirmwareMajorVersion="0xff"
ECFirmwareMinorVersion="0xff"
SystemManufacturer="Hewlett-Packard"
SystemProductName="HP Compaq dc7600 Convertible Minitower"
SystemVersion=" "
SystemFamily="103C_53307F"
SystemSKU="EC834ET#ABF"
SystemSerialNumber="HUB#######"
BaseBoardManufacturer="Hewlett-Packard"
BaseBoardProductName="09F0h"
BaseBoardVersion=""
ProcessorManufacturer="Intel"
ProcessorVersion="Intel® Pentium® 4 CPU 3.00GHz"
ProcessorID="0xf43"
MemoryDeviceManufacturer[1]="JEDEC ID:C1 00 00 00 00 00 00 00"
MemoryDeviceSerialNumber[1]="13720101"
MemoryDevicePartNumber[1]="64T32000HU3.7A"
MemoryDeviceManufacturer[2]="JEDEC ID:"
MemoryDeviceSerialNumber[2]=" "
MemoryDevicePartNumber[2]=" "
MemoryDeviceManufacturer[3]="JEDEC ID:C1 00 00 00 00 00 00 00"
MemoryDeviceSerialNumber[3]="13E60101"
MemoryDevicePartNumber[3]="64T32000HU3.7A"
MemoryDeviceManufacturer[4]="JEDEC ID:"
MemoryDeviceSerialNumber[4]=" "
MemoryDevicePartNumber[4]=" "


This post has been edited by Bilou_Gateux: Apr 13 2006, 01:48 AM
Go to the top of the page
 
+Quote Post
Bezalel
post Apr 11 2006, 06:10 AM
Post #15


Senior Member
****

Group: Members
Posts: 588
Joined: 11-October 05
Member No.: 76348
OS: XP Pro x86
Country Flag


QUOTE (Bilou_Gateux @ Apr 11 2006, 05:40 AM) *
shouldn't be %SystemDrive%\System32 replaced with %SystemRoot%\System32 in both batch scripts.

You are right I've fixed that post
QUOTE (Bilou_Gateux @ Apr 11 2006, 05:40 AM) *
Actually i can output SMBios Details using a HP tool (HPQSI.EXE) launched with a batch script (OCA_MRK.CMD) @T39 but i haven't yet written the script to parse the output and copy the right OEMBIOS* files depending of the manufacturer.

Is HPQSI.EXE publicly available? I know I have a copy of IBM's SMBIOS.EXE, I'll try to see if I can do anything with the output of these files. I don't want to build my script around files that are not freely available to the public.
Go to the top of the page
 
+Quote Post
Bilou_Gateux
post Apr 11 2006, 08:20 AM
Post #16


Powered by Windows Embedded
*****

Group: Members
Posts: 752
Joined: 3-January 04
From: Underworld
Member No.: 11874
OS: XP Pro x86
Country Flag


QUOTE (Bezalel @ Apr 11 2006, 01:10 PM) *
Is HPQSI.EXE publicly available? I know I have a copy of IBM's SMBIOS.EXE, I'll try to see if I can do anything with the output of these files. I don't want to build my script around files that are not freely available to the public.




no.gif

We can use another command line tool call GetSys.exe, which is part of 'Mitec System Information Component Suite'.



ReadMe.txt

QUOTE
MSICS is freeware.

Sources are available on purchase/registration. Price is 110 euro (EUR).
For registration details see Order.txt file in this package.

Distribution pack:
------------------

The zip file has subdirectories in it. You must use the pkunzip -d option
to restore this directory tree or you will have problems because the files
will not be in their proper subdirectories.

This is the subdirectory layout:

.\ Info directory
.\apps Applications written using this component
.\demos Sample applications
.\dll MSICS.DLL library for using MSI data from any app
.\help HTML Help file
.\D5 compiled units containing components and packages for installing for Delphi 5 (not in registered version)
.\D6 compiled units containing components and packages for installing for Delphi 6 (not in registered version)
.\D7 compiled units containing components and packages for installing for Delphi 7 (not in registered version)
.\BDS3 compiled units containing components and packages for installing for Delphi 2005 (not in registered version)
.\BDS4 compiled units containing components and packages for installing for Delphi 2006 (not in registered version)
.\Sources source files (only in registered version)




You can get it by downloading the full package, extract and grab the exe in \Apps\GetSys folder.
Go to the top of the page
 
+Quote Post
Bezalel
post Apr 11 2006, 10:32 AM
Post #17


Senior Member
****

Group: Members
Posts: 588
Joined: 11-October 05
Member No.: 76348
OS: XP Pro x86
Country Flag


QUOTE (Bilou_Gateux @ Apr 11 2006, 09:20 AM) *
We can use another command line tool call GetSys.exe, which is part of 'Mitec System Information Component Suite'.


Have you used this program during setup? The output looks more like WMI than SMBIOS.
Go to the top of the page
 
+Quote Post
RogueSpear
post Apr 11 2006, 11:32 AM
Post #18


OS: SimplyMEPIS
Group Icon

Group: Normal Sponsors
Posts: 1529
Joined: 18-September 04
From: Buffalo, NY
Member No.: 31429
OS: none
Country Flag


QUOTE (Bezalel @ Mar 27 2006, 02:45 PM) *
I origionally wanted to use the clipboard but MS doesn't let VBScript files access the clipboard. I changed the code from MsgBox to WScript.Echo so you can redirect the output to a text file


I'm a little late coming to the thread, but if you still have any interest in utilizing the clipboard from a VBscript, just use AutoItX.

CODE
Set ai = WScript.CreateObject("AutoItX3.Control")
text = ai.ClipGet()
WScript.Echo "Clipboard contains:" & text


You just need to have AutoItX.dll registered.
Go to the top of the page
 
+Quote Post
Bezalel
post Apr 11 2006, 12:34 PM
Post #19


Senior Member
****

Group: Members
Posts: 588
Joined: 11-October 05
Member No.: 76348
OS: XP Pro x86
Country Flag


QUOTE (RogueSpear @ Apr 11 2006, 12:32 PM) *
I'm a little late coming to the thread, but if you still have any interest in utilizing the clipboard from a VBscript, just use AutoItX.

CODE
Set ai = WScript.CreateObject("AutoItX3.Control")
text = ai.ClipGet()
WScript.Echo "Clipboard contains:" & text


You just need to have AutoItX.dll registered.


Thanks, but I prefer to use built-in features of the OS or stand-alone applications for OS deployment and management.
Go to the top of the page
 
+Quote Post
RogueSpear
post Apr 11 2006, 12:35 PM
Post #20


OS: SimplyMEPIS
Group Icon

Group: Normal Sponsors
Posts: 1529
Joined: 18-September 04
From: Buffalo, NY
Member No.: 31429
OS: none
Country Flag


Just lettin ya know. You never know when something like that might come in handy newwink.gif

This post has been edited by RogueSpear: Apr 11 2006, 12:36 PM
Go to the top of the page
 
+Quote Post

Google Frontpage Forums Unattended CD/DVD Guide

28 Pages V   1 2 3 > » 
Reply to this topicStart new topic
3 User(s) are reading this topic (3 Guests and 0 Anonymous Users)
0 Members:

 




Lo-Fi Version Time is now: 7th November 2009 - 07:11 PM
All trademarks mentioned on this page are the property of their respective owners
MSFN is not affiliated with Microsoft
Copyright © 2001-2009 msfn.org
Privacy Policy