Jump to content

GTOOOOOH

Member
  • Posts

    57
  • Joined

  • Last visited

  • Donations

    0.00 USD 
  • Country

    United States

Everything posted by GTOOOOOH

  1. I have nothing in the autoexec.bat and the only lines in config.sys are the following: DEVICE=GRUB.EXE INSTALL=GRUB.EXE SHELL=GRUB.EXE I even tried a blank config.sys and then running GRUB from the a:\ prompt... same error, but, if I switch to an XP MS-DOS boot disk and rub GRUB from A: it's fine. I'm using the latest version.
  2. I'm trying to use a Win98SE Bootdisk to kick-off Grub4DOS, doesn't seem possible though I keep getting an error: Failure restore ROM INT 0x11 vector. Unsupposed DOS, device driver or TSR. If I use an XP bootdisk it's fine, but I'm forced to use Win98SE bootdisk for this old PXE server we have and I cannot upgrade the PXE... so, can GRUB4DOS be activated from a 98SE bootdisk?
  3. This is more of an exploratory question... here's my problem.. I currently use a scripted version of Robocopy to sync up some usb keys with a server share, however, when we go across time zones, it's an issue, and when we change times, like Daylight Savings, and Daylight Spending in the U.S. we get out of sync because the operating system see's it's files as 1 hour ahead or behind what's on the key(s). I know there are programs out there to compensate for this, however, I'm looking for a FREE solution, and I use AIT constantly, for everything, but this one is eluding me. Does anyone know of a free utility to compensate for time zone issues? XXCopy requires you purchase the Pro version to get that functionality, and I'm not aware of any others?
  4. I think the easiest way is to search on here how to dual-boot with PE in the Windows Boot Menu?
  5. It's going to cost you big time!!!! NOTE! - All code is written in AutoIT - !NOTE Alright, so first thing, since I use DP's I have the typical OEM directory on the root of my install source. I also have an OEM2 that's for MY DP's, and in the sources directory where the boot.wim resides I keep my .ini files. That being said, onto the code... MODELS.INI - This is the file it checks after reading the BIOS to see if the models/models section matches what it found in the BIOS, if so it reads the model specific section/filename entry for what custom DP files it needs to use rather then the OEM\DP files which are only used if it doesn't find the specific model entry in this file. Get it? Another thing I need to mention, since some of these DP's are actually program installs, I've also packaged them to be unattended as well, so, something like the HP DriveGuard software you'll see below is a scripted app installation. You'll see below from the T61 section that's where I really got granular with packaging the drivers individually as well as apps. From this point forward, that's the way I do all the drivers/apps, singular. [models] models=2510p,6710b,8710w,dc7800p,t61 [2510p] Filename=dpricoh4in1R5C83x84x.7z,dpricoh4in1R5C83x84x.ini,dphplaptops.7z,dphpdriveguard.7z,dphpdrive guard.ini,dphpfingerprintreader.7z,dphpfingerprintreader.ini,dphpprotecttools.7z,dphpprotecttools.in i ,dphpquicklaunch.7z,dphpquicklaunch.ini [6710b] Filename=dphplaptops.7z,dphpdriveguard.7z,dphpdriveguard.ini,dphpfingerprintreader.7z,dphpfingerprin treader.ini,dphpprotecttools.7z,dphpprotecttools.ini,dphpquicklaunch.7z,dphpquicklaunch.ini,dpricoh4 i n1R5C83x84x.7z,dpricoh4in1R5C83x84x.ini [8710w] Filename=dphplaptops.7z,dphpdriveguard.7z,dphpdriveguard.ini,dphpfingerprintreader.7z,dphpfingerprin treader.ini,dphpprotecttools.7z,dphpprotecttools.ini,dphpquicklaunch.7z,dphpquicklaunch.ini,dpricoh4 i n1R5C83x84x.7z,dpricoh4in1R5C83x84x.ini [dc7800p] Filename=dphpdesktops.7z,dphplightscribe.7z,dphplightscribe.ini,dphpprotecttools.7z,dphpprotecttools .ini [t61] Filename=dpibmatmeltpm.7z,dpibmACPIPowerManagement.7z,dpibmACPIPowerManagement.ini,dpibmActiveProtec tionSystem.7z,dpibmActiveProtectionSystem.ini,dpibmFingerPrintReader.7z,dpibmFingerPrintReader.ini,d p ibmaccessconnections.7z,dpibmaccessconnections.ini,dpibmmodem.7z,dpibmPowerManager.7z,dpibmPowerMana g er.ini,dpibmTX61SoundMaxAudio.7z,dpibmTX61SoundMaxAudio.ini,dpibmBlueTooth.7z,dpibmBlueTooth.ini,dpI n telGM965chipset.7z,dpIntelGM965chipset.ini,dpIntelPro1000a.7z,dpricoh4in1R5C83x84x.7z,dpricoh4in1R5C 8 3x84x.ini,dpSecureDigital6040501.7z,dpibmSmartCard.7z,dpNvidia614115666.7z,dpIntelVideo1.7z,dpIntelP r oWiFi1.7z,dpUltraNav751725.7z,dpUltraNav751725.ini,dpibmUltraNavUtility.7z,dpibmUltraNavUtility.ini, d pDisableTurboMemory.7z,dpIntelVideo2.7z NEXT!!!!! I'll show you the BIOS capture coding that reads the BIOS, then does everything I mentioned above, parsing the INI copying the necessary files, and then building a customized manifest.ini for that model based on what was read from the first ini file. It does this for any INI files MENTIONED in the model specific section, I do that because in those INI files I put the command-line switches for the applications specific packages, since most of them are InstallShield packages it's setup.exe /S /v/qn. Func Model() $wbemFlagReturnImmediately = 0x10 $wbemFlagForwardOnly = 0x20 $colItems = "" $objWMIService = ObjGet("winmgmts:\\localhost\root\CIMV2") $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_ComputerSystemProduct", "WQL", _ $wbemFlagReturnImmediately + $wbemFlagForwardOnly) For $objItem In $colItems $biosinfo[0] = $objItem.Vendor; =====================================================MANUFACTURER, ALWAYS AVAILABLE=================================================================== $biosinfo[1] = $objItem.Name $biosinfo[2]= $objItem.Version Next If $biosinfo[0] <> "Lenovo" And $biosinfo[0] <> "IBM" Then $biosinfo[2] = $biosinfo[1] For $m = 1 To $allmodels[0] $model = StringInStr($biosinfo[2], $allmodels[$m]) If $model <> 0 Then $foundit = "1" ExitLoop EndIf Next If $foundit = "1" Then $filename = IniRead($path & "\sources\models.ini", $allmodels[$m], "Filename","") RunWait(@COMSPEC & " /c x:\windows\system32\robocopy y:\oem\bin c:\temp\oem\bin /e /z", "x:\windows\system32") FileCopy("y:\oem\ATICCC.ins", "c:\temp\oem\ATICCC.ins", 9) FileCopy("y:\oem\DPM711.7z", "c:\temp\oem\DPM711.7z", 9) $filename = StringSplit($filename, ",") $inicounter = 1 For $filecount = 1 To $filename[0] FileCopy("y:\oem2\" & $filename[$filecount], "c:\temp\oem\" & $filename[$filecount], 9) $inifile = StringInStr($filename[$filecount], ".ini") If $inifile <> 0 Then IniWrite("c:\temp\manifest.ini", "inis", $inicounter, $filename[$filecount]) $inicounter = $inicounter+1 EndIf Next Else; ======================================================================GENERAL DRIVER PACK USED, MODEL NOT SPECIFIC======================================================================================== RunWait(@COMSPEC & " /c x:\windows\system32\robocopy y:\oem c:\temp\oem /e /z", "x:\windows\system32") EndIf ;WriteMif() Return EndFunc This last piece of code is run on XP's first boot where it automatically logs in as the Administrator account, and after the DP cleanup runs. This checks for the manifest.ini, and if it exists, it knows that packaged apps have to be installed. If FileExists("c:\temp\manifest.ini") Then $CountLines = _FileCountLines("c:\temp\manifest.ini") $CountLines = $CountLines-1 For $iniloop = 1 To $CountLines $inis = INIRead("c:\temp\manifest.ini", "inis", $iniloop,"") $ininame = StringTrimRight($inis, 4) $CountLines2 = _FileCountLines("c:\temp\oem\" & $inis) $CountLines2 = $CountLines2-1 For $installloop = 1 To $CountLines2 $installfile = INIRead("c:\temp\oem\" & $inis, "installs", $installloop,"") $msifile = StringInStr($installfile, ".msi") If $msifile <> 0 Then RunWait(@ComSpec & " /c C:\WINDOWS\system32\msiexec /i c:\windows\system32\elcishd\drvrs\d\d\" & $ininame & "\" & $installloop & "\" & $installfile, "c:\windows\system32\elcishd\drvrs\d\d\" & $ininame & "\" & $installloop, @SW_HIDE) Else RunWait(@ComSpec & " /c c:\windows\system32\elcishd\drvrs\d\d\" & $ininame & "\" & $installloop & "\" & $installfile, "c:\windows\system32\elcishd\drvrs\d\d\" & $ininame & "\" & $installloop, @SW_HIDE) EndIf Next Next EndIf That's it, looking at the system it's simple as all hell, but as you know, getting simple is the hardest thing to do.
  6. Wild, I just built something similar, but I used the DriverPacks program/method, heavily customized/rewritten. Mine reads the BIOS, determines the machine type, based on that, it walks an INI, if it finds a match it ROBOCOPY's the filenames listed in the INI to the typical DriverPacks location I use. The files listed are 7Zip packages I build, and are simply 1 file per driver. So, 1 file is for a modem for that specific model, 1 for audio, 1 for the chipset, etc... then I just let DriverPacks take over and do the rest, works perfectly everytime. The other cool thing, no duplicate drivers, I keep a manifest of what drivers I've already packaged, and if a different model computer uses the same hardware, I just copy/paste that package info from 1 spot in the INI to the corresponding spot. Works wonders!!
  7. You know you could just slipstream all your hotfixes right?
  8. Forget it, I got it... and in case anyone is interested, adding WMI adds about 50mb.
  9. So, I'm tinkering with a WIM file I have, it's stripped down big time. 79mb, it runs, but when I try to add the WMI package to it, it says it's been prep'd already, true. Now what? I thought I could mount the WIM, and export it to a new WIM, then add packages to it, however that's not the case. Am I doing something wrong here, or have I misunderstood the /export option?
  10. GTOOOOOH

    Shrink PE2.0?

    Jazkal peimg.exe /prep /f C:\winpe_2x86\Mount\Windows While attempting to shrink my image some I used the PREP line in BOLD above and got the error: PEIMG failed to complete the operation with status code 0x80004005.
  11. So, this is kind of like a BartPE, but a build it yourself way?
  12. I did post that because of the high security environment I manage and compliancy with several regulatory groups we must maintain certain standards. My point is that I used to use images and because of the new standards we traded time for compliancy, and now that my new method is set, I have some time to explore some hybrid of images/uai. Best of both worlds ya know, speed AND compliancy. Also, my next step in speed improvement is building individual driver packs for each model computer we have rather then relying on the bloat of the current driverpacks system. I've already done this for several of our models and it's a great time saver to have my scripts in PE read the BIOS through a WMI AutoIT script, then push the specific DP for the machine as well as any manufacturer related items. It's working great and cut out 10-15min from the install.
  13. I know and it's so frustrating, I keep thinking about Vista, and whatever platform MS comes out with next. The fact that you can deploy without HAL issues or having to try and overcome HAL issues is a big time saver in a largely mixed environment, and yet I still won't be able to take advantage of it. I actually had a question about HAL scripts and such. When I look in the registry of a machine that I've booted with WinPE2, you know that key that tells you the HardwareID for the HAL? Every multiprocessor machine I look at, just says acpiapic... so, isn't that wrong? Because in Windows the same machine is listed as an MP_ACPI or something like that?
  14. Ok, so my problem is time versus consistency. Some people on here use images for OS deployment and they get around HAL issues with XP in various ways. So, let's say I want to go that route and I tackle the HAL issue. Ok... the next real issue for me is image consistency. How can you, or CAN YOU at all keep an image up to date with MS patches, virus dat's, new tweaks/settings, application installations, etc, etc with as little work as slipstreaming? Ideally I would love to dump an XP WIM on any machine, and have it have the same patch levels virus dat's, etc, etc as a bare metal would have that has been slipstreamed and has post installation tasks attached? I realize I can attach post installation tasks to an image, but what about MS patches, OS tweaks, virus DAT levels INSIDE the image? Any thoughts? Best practices?
  15. I wish I only had 22 models and that right there is the reason why imaging with sysprep and re-sysprepping would be so prohibitive on time for me, by the time I'm "done" we'd have new models to test. Currently at the last count we had over 6 manufacturers and 53 models, now for the most part as long as the HAL is the same, you can cut that number in half, however staying on top of virus dat's and critical KB's from MS because we run Safe Access to lock down all our machines requires I stay up to date by no less then 4 days, otherwise a machine in our domain is quarantined and the user unable to get a production IP. This also forces us to use local media rather then a network install because PXE can't hand out addresses in our production environment because Safe Access blocks machines not in our domain. Your way of doing things is really pie-in-the-sky for me, one day maybe, but with so much legacy equipment, SOX restrictions, and red-tape... 1 hour is the best we got at this point.
  16. Man that's a lot for an unknown end result. As for your last statement about laptop hardware profiles let me expand on that with a little elegance. If you use PE with any kind of WMI scripting you can query the BIOS and determine just about any manufacturers info, specifically the model. If they're custom built computers, that's nearly impossible but if they are, you're probably not in a corporate environment anyway and this doesn't really pertain to you. So, you query the BIOS get the model, then based on the model you only install the drivers you need. The way I did this was by heavily rescripting DriverPacks and making my own bastardized version. So my installs go as follows. Plug in USB key Answer a few questions like machine name, IP Segment you're currently on, Domain you'll be joining, etc Provide the password for the encrypted volume on the key After a few minutes it prompts you to remove the key, now, sit back and relax. In the background it determines what sort of hardware it is, copies the right driverpacks to the C: drive, and moves ahead with the installation. Post install gets all our corporate apps/tweaks/settings/etc. 0 interaction from the tech once they unplug the key. It takes about an hour from start to finish which most people scoff at because it's not UBER quick and it's not GHOST, and it's not coming down from a network share, blah blah blah. But if you've ever had to maintain images you know you'll spend FAR more time on maintenance tasks and testing then actually improving your product. So, start to finish most images take about a 1/2 hour with apps and all sorts of setting changes etc.. however once you get new hardware the process starts out all over again and it's an absolute pain to continue rebuilding and testing images in a hardware diverse environment. So, you double your "imaging" time, but you by creating a solution that takes 5 minutes to deploy, but 55min to setup, you lower your costs because a tech can walk away and come back while the user works on a loaner machine or is out to lunch. The only thing I WISH for is a faster network where we COULD push the same solution down via PXE, but that's impossible for now, so this solution is great and scalable, cost effective and fast.
  17. 2 weeks huh? Took me 8 months the first time I had to do that, in my spare time at work. Now-a-days I use PE 2.0 and went completely away from "images" because I think with all the extra stuff you have to do in order to make it hardware independent, it's time prohibitive. At the end of the day you might have a working image to be proud of, but in a matter of days it's outdated. Antivirus falls behind, patch levels fall behind, hotfixes, service packs, programs that you realized you needed. You have to re-deploy, let it reinstall, install the stuff you're missing, and re-image. Then test. Now with PE I use a bare metal scripted install, I slipstream my hotfixes, and the ones I can't slipstream, I have scripted as a post install. For hardware I just keep adding drivers through custom DriverPacks, and any programs, etc that I need to add as time marches on, I just add in as installs through some scripted INI's I've written. The "image" all sits nicely on a USB Key, and we have 30 of them in the company that our techs use if they need to rebuild a machine. The Key gets updated through scripts on our network, you plug in, run 1 executable, and within a few minutes you've got a fully updated "image". It's even fully encrypted so if anyone loses a Key or one gets stolen, our "image", apps, programs, serials, etc, etc are all secure. Took me a long time to get to this point... man 2 weeks huh? F that. I pity your situation. I can't even offer advice because you have such a silly deadline IMO. Good luck.
  18. I actually had a similar problem and because you can't really query what's on the computer you can't just say select disk 1, 2, 3, etc because you can't select a disk that isn't present without getting an error and select doesn't have the NOERR switch which sucks and breaks the diskpart script. So, I wrote an AutoIT script that makes the user select the disk they'll want to install XP on, then it queries all the other disks using the diskpart.au3, and based on some customizing, it writes a diskpart.ini file. Here is my AutoIT script that I re-customizes for your situtation, hopefully you can use it. If you don't know AutoIT or where to get the support files go ask at www.autoitscript.com this is as much help as I can provide... Also you could make it smarter by having AutoIT query the drive letters in use and then build the $drvltrs variable based on that so you don't try and assign a driver letter that's in use by a CD/DVD drive. Good luck. #include-once #include <GUIConstants.au3> #include <Constants.au3> #include <Misc.au3> #include "diskpart.au3" ;#include "array.au3" Global $diskCount2, $myDisks2, $ii Dim $myVolumes2[20][5] Global $drvltrs = "c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z" $drvltrs = StringSplit($drvltrs, ",") $ii = Ask_TargetDisk() $file = FileOpen("c:\windows\system32\diskpart.ini", 2) For $lc = 0 To $diskCount2-1 FileWrite($file, "select disk " & $myVolumes2[$lc][0] & @CRLF) FileWrite($file, "clean" & @CRLF) FileWrite($file, "create partition primary noerr" & @CRLF) FileWrite($file, "select partition 1" & @CRLF) FileWrite($file, 'format FS=ntfs label="' & $drvltrs[$lc+1] & '_drive" quick override noerr' & @CRLF) FileWrite($file, "assign letter=" & $drvltrs[$lc+1] & " noerr" & @CRLF) Next FileWrite($file, "exit") FileClose($file) Run(@COMSPEC & ' /c notepad.exe "c:\windows\system32\diskpart.ini"', "c:\windows\system32") Exit Func Ask_TargetDisk() Local $GUI = GUICreate("Select Target Disk", 690, 320, -1, -1, BitOR($WS_CAPTION,$WS_BORDER,$WS_CLIPSIBLINGS)) Local $cboTargetDisk = GUICtrlCreateCombo("", 8, 8, 673, 25, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) GUICtrlSetFont(-1, 10, 400, 0, "Lucida Console") GUICtrlSetData(-1, "") Local $txtDiskDetails = GUICtrlCreateEdit("", 8, 32, 673, 236, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_READONLY,$ES_WANTRETURN,$WS_HSCROLL,$WS_VSCROLL)) GUICtrlSetFont(-1, 10, 400, 0, "Courier New") Local $btnContinue = GUICtrlCreateButton("Continue", 608, 272, 75, 40 ) Local $diskList, $diskDetails, $diskListArray, $diskWithFocus = 1 If Not Ask_TargetDisk_GetSystemDiskConfiguration( $diskList, $diskDetails ) > 0 Then GUIDelete( $GUI ) Return _Iif( @error, SetError( 1, 2, -1 ), SetError( 1, 3, -1 )) EndIf $diskListArray = StringSplit( $diskList, "|" ) If $diskListArray[0] > 0 Then GUICtrlSetData( $cboTargetDisk, $diskList, $diskListArray[$diskWithFocus] ) GUICtrlSetData( $txtDiskDetails, $diskDetails[$diskWithFocus - 1] ) GUICtrlSetState( $cboTargetDisk, $GUI_FOCUS ) Else GUIDelete( $GUI ) Return SetError( 1, 3, -1 ) EndIf GUISetState( @SW_SHOW ) Local $rc = 0, $ec = 0, $xc = 0 While 1 Local $msg = GUIGetMsg() Switch $msg Case $btnContinue Local $m = StringRegExp( GUICtrlRead( $cboTargetDisk ), "(?i)^[ ]*Disk (\d+)", 1 ) If @error Then $rc = -1 $ec = 1 $xc = 0 ExitLoop Else $rc = Int($m[0]) $ec = 0 $xc = 0 ExitLoop EndIf Case $cboTargetDisk Local $cboText = GUICtrlRead( $cboTargetDisk ) For $i = 1 To $diskListArray[0] If StringLeft( $cboText, 10 ) = StringLeft( $diskListArray[$i], 10 ) Then If $diskWithFocus = $i Then ExitLoop Else $diskWithFocus = $i GUICtrlSetData( $txtDiskDetails, $diskDetails[$diskWithFocus - 1] ) EndIf EndIf Next EndSwitch WEnd GUISetState( @SW_HIDE ) GUIDelete( $GUI ) Return SetError( $ec, $xc, $rc ) EndFunc Func Ask_TargetDisk_GetSystemDiskConfiguration( ByRef $cboDisks, ByRef $cboDetails ) Local $myDisks, $diskCount, $diskDetails Global $myVolumes, $volumeCount Local $myPartitions, $partitionCount Local $pid, $version Local $tmpList = "", $tmpDetails[63] = [""], $emptyDetailArray[1] = [""] $cboDisks = "" $cboDetails = $emptyDetailArray ProgressOn( "Reading Disk Configuration", "Please wait...", "", -1, -1 ) ProgressSet( 0, "Starting diskpart utility..." ) _DiskpartStartConsole( $pid, $version ) If @error Then ProgressOff() Return SetError( 1, 2, 0 ) EndIf ProgressSet( 10, "Getting list of disks in system...", "Diskpart v" & $version ) $diskCount = _DiskpartListDisks( $pid, $myDisks ) $diskCount2 = $diskCount ReDim $myVolumes2[$diskCount2][5] If @error Then ProgressOff() _DiskpartCloseConsole( $pid ) Return SetError( 1, 2, 0 ) EndIf For $d = 0 To $diskCount - 1 ProgressSet( 20 + $d, "Reading disk " & $myDisks[$d][0] & " configuration..." ) _DiskpartSelectDisk( $pid, $myDisks[$d][0] ) If @error Then ProgressOff() _DiskpartCloseConsole( $pid ) Return SetError( 1, 2, 0 ) EndIf $volumeCount = _DiskpartDetailDisk( $pid, $diskDetails, $myVolumes ) If @error Then ProgressOff() _DiskpartCloseConsole( $pid ) Return SetError( 1, 2, 0 ) EndIf $myVolumes2[$d][0] = $myDisks[$d][0] $myVolumes2[$d][1] = $myVolumes[0][1] $tmpList &= _Iif( $d > 0, "|", "" ) $tmpList &= "Disk " & $myDisks[$d][0] & " (ID: " & $diskDetails[1] & ", Type: " & $diskDetails[2] & ", " & $diskDetails[0] & ")" $tmpDetails[$d] = "Details for disk " & $myDisks[$d][0] & " (ID: " & $diskDetails[1] & ", Type: " & $diskDetails[2] & ", " & $diskDetails[0] & ")" & @CRLF If $volumeCount > 0 Then For $v = 0 To $volumeCount - 1 ProgressSet( 20 + $d + $v, "Reading disk " & $myDisks[$d][0] & ", volume " & $myVolumes[$v][0] & " configuration..." ) $tmpDetails[$d] &= @CRLF & StringFormat( " %-10s %-3s %-11s %-5s %-10s %7s %-9s %-8s", "Volume ###", "Ltr", "Label", "Fs", "Type", "Size", "Status", "Info" ) & @CRLF $tmpDetails[$d] &= " ---------- --- ----------- ----- ---------- ------- --------- --------" & @CRLF $tmpDetails[$d] &= StringFormat( " %-10s %-3s %-11s %-5s %-10s %7s %-9s %-8s", _ "Volume " & $myVolumes[$v][0], $myVolumes[$v][1], $myVolumes[$v][2], _ $myVolumes[$v][3], $myVolumes[$v][4], $myVolumes[$v][5], _ $myVolumes[$v][6], $myVolumes[$v][7] ) & @CRLF $partitionCount = _DiskpartListPartitionsByVolume( $pid, $myVolumes[$v][0], $myPartitions ) $myVolumes2[$d][2] = $partitionCount If @error Then ProgressOff() _DiskpartCloseConsole( $pid ) Return SetError( 1, 2, 0 ) EndIf If $partitionCount > 0 Then $tmpDetails[$d] &= StringFormat( @CRLF & @TAB & " %-13s %-16s %7s %7s", "Partition ###", "Type", "Size", "Offset" ) & @CRLF $tmpDetails[$d] &= @TAB & " ------------- ---------------- ------- -------" & @CRLF For $p = 0 To $partitionCount - 1 $myVolumes2[$d][3] = $myVolumes2[$d][3] & $myPartitions[$p][0] & "," $tmpDetails[$d] &= StringFormat( @TAB & " %-13s %-16s %7s %7s", _ "Partition " & $myPartitions[$p][0], $myPartitions[$p][1], _ $myPartitions[$p][2], $myPartitions[$p][3] ) & @CRLF Next If $myVolumes2[$d][4] = "" Then $myVolumes2[$d][4] = StringTrimRight($myVolumes2[$d][3], 1) Else $tmpDetails[$d] &= @CRLF & @TAB & "No partitions are associated with this volume" & @CRLF EndIf Next Else $tmpDetails[$d] &= @TAB & "This disk does not contain any recognized volumes or partitions" EndIf Next ProgressSet( 100, "Closing diskpart console...." ) _DiskpartCloseConsole( $pid ) ProgressOff() If $diskCount > 0 Then ReDim $tmpDetails[ $diskCount ] $cboDetails = $tmpDetails $cboDisks = $tmpList EndIf Return SetError( 0, 0, $diskCount ) EndFunc You'll end up with an output like this: select disk 0 clean create partition primary noerr select partition 1 format FS=ntfs label="c_drive" quick override noerr assign letter=c noerr select disk 1 clean create partition primary noerr select partition 1 format FS=ntfs label="d_drive" quick override noerr assign letter=d noerr select disk 2 clean create partition primary noerr select partition 1 format FS=ntfs label="e_drive" quick override noerr assign letter=e noerr select disk 3 clean create partition primary noerr select partition 1 format FS=ntfs label="f_drive" quick override noerr assign letter=f noerr exit
  19. Here is the output: "X:\hardtest.ini" Thanks Jaz, I ended up writing a very simple AutoIT script for it, working great now.
  20. SMBiosD and W don't work for me in 2.0? HTA and WMI packages are installed and I can't figure out why neither will run. They both say that the .exe cannot be found. Does anyone have a freeware utility that will read the bios in PE 2.0? I need to extract Model and Manufacturer.
  21. I have an nLite'd/Ryan'd/DriverPack'd XPSP2 install. It works on almost every piece of hardware my company has. The problem, is when I get a laptop with an Intel 2100B Wireless Integrated NIC, the machines ALWAYS get a GPF on the SVCHOST pertaining to the wzcsvc.dll file (which from what I can tell is the Wireless Zero Configuration Service). I've tried disabling the service as well as the card, the laptops behave very slow, and once they get the GPF, the machine has to be hard powered off. I've got every possible hotfix in the world for this that I'm aware of, and nothing fixes it. I've got the latest Intel driver for the WIFI card, nothing. Any thoughts?
  22. Start removing things 1 at a time until it works, then you'll know what was breaking it. If you get back to a pure XP installation and it's still failing it's something you're doing, or your media is bad possibly. If you get back to pure, and it does work, start adding things back in, in the same order you removed them, in theory, the LAST thing you add in, which should be the last thing you took out should break it... Otherwise, I dunno.
  23. This should get you started. $drive = DriveGetDrive( "all" ) If NOT @error Then For $i = 1 to $drive[0] If $drive[$i] = "a:" Or $drive[$i] = "b:" Or $drive[$i] = "c:" Then ContinueLoop If FileExists($drive[$i] & "\boot\boot.sdi") Then MsgBox(0,"",$drive[$i]) Exit EndIf Next EndIf MsgBox(0,"","No drives found containing ..\boot\boot.sdi") Exit
  24. Research NetDom.exe it's an MS tool, you don't need sysprep as long as you provide the correct PC name at some point before running netdom.
×
×
  • Create New...