randalldale

Member
  • Content count

    115
  • Joined

  • Last visited

Community Reputation

1 Neutral

About randalldale

  1. Guys, Not sure if this is the correct forum but I have to add some new driver sets to an existing XP image and if I do the ISO will be to large for burning onto a DVD - even dual layer DVD. USB is out of the question due to the need for extra securtiy they are not allowed in the environment. My thoughts are that we use SCCM to deliver the image now via a package and I was thinking of creating an SCCM package, not an OSD driver package, with the addtional drivers that could be accessed in the final steps of the build process by our onsite setup people. Just wondering if anyone has done this sort of thing and your thoughts on how best to design and build this? I was thinking maybe a folder stucture with an HTA to get called??? If this is the wrong forum sorry. As always thanks for the help... RD
  2. Hi Guys, Just wondering if anyone knows how to remove drivers from SCCM? What I did was a total noob thing... I added some drivers before creating a driver package and then when I tried to add the drivers to the package I could not do more than one at a time. So when faced with the chipset that had about 40 drivers I decided to delete the drivers and start over recreating the packages and drivers sets. Now when I try to add the drivers into the Package I created I get the error they are already in and nothing shows up in my package? What gives? So do I need to delete the driver sets from some location or what as can't figure out how to get the drivers into the packages I have created? Thanks, RD
  3. Actually looks like I got this part fixed. It seems when you copy a script over from another computer, i.e. the zip file, LocalMachine sets the content to BLOCK so I went into all the PS files properties I was importing and changed them to UNBLOCK. Seems to have ran no problem. Now I'm getting nothing but errors on the next script ,4_CreateVirtualMachines.ps1, that is supposed to create the VHD files. ***** Import-Module 'C:\Program Files\modules\HyperV\HyperV.psd1' #New-VMInternalSwitch "Internal" $VM = "HYDRATION-DC01" New-VM -Name $VM Set-VMMemory -VM $VM 512MB md C:\VMs\"$VM" New-VHD -Size 300GB -Path C:\VMs\"$VM"\disk1.vhd Add-VMDisk -VM $VM -ControllerID 0 -LUN 0 -Path C:\VMs\"$VM"\disk1.vhd Add-VMDisk -VM $VM -ControllerID 1 -LUN 0 -Path C:\HydrationServers\HydrationServers.iso -DVD Add-VMNic -VM $VM -Virtualswitch Internal -MAC 00155D000001 $VM = "HYDRATION-DC02" New-VM -Name $VM Set-VMMemory -VM $VM 512MB md C:\VMs\"$VM" New-VHD -Size 300GB -Path C:\VMs\"$VM"\disk1.vhd Add-VMDisk -VM $VM -ControllerID 0 -LUN 0 -Path C:\VMs\"$VM"\disk1.vhd Add-VMDisk -VM $VM -ControllerID 1 -LUN 0 -Path C:\HydrationServers\HydrationServers.iso -DVD Add-VMNic -VM $VM -Virtualswitch Internal -MAC 00155D000002 $VM = "HYDRATION-MDT01" New-VM -Name $VM Set-VMMemory -VM $VM 1024MB md C:\VMs\"$VM" New-VHD -Size 300GB -Path C:\VMs\"$VM"\disk1.vhd Add-VMDisk -VM $VM -ControllerID 0 -LUN 0 -Path C:\VMs\"$VM"\disk1.vhd Add-VMDisk -VM $VM -ControllerID 1 -LUN 0 -Path C:\HydrationServers\HydrationServers.iso -DVD Add-VMNic -VM $VM -Virtualswitch Internal -MAC 00155D000003 $VM = "HYDRATION-CM01" New-VM -Name $VM Set-VMMemory -VM $VM 1536MB md C:\VMs\"$VM" New-VHD -Size 300GB -Path C:\VMs\"$VM"\disk1.vhd Add-VMDisk -VM $VM -ControllerID 0 -LUN 0 -Path C:\VMs\"$VM"\disk1.vhd Add-VMDisk -VM $VM -ControllerID 1 -LUN 0 -Path C:\HydrationServers\HydrationServers.iso -DVD Add-VMNic -VM $VM -Virtualswitch Internal -MAC 00155D000004 ***** For now I will go back and recreate all the steps to see if I missed anything. Consider this item closed. Thanks for the help, RD
  4. Hello I'm trying to build a POCSERVER (Proof Of Concept Server) from this web site using Windows Server 2008 R2: www.deploymentresearch.com/Blog/tabid/62/EntryId/13/Hydration-Automating-builds-in-your-datacenter.aspx The final phase is Step 3 – Create and deploy the virtual machines 1.Install the PowerShell Management Library for Hyper-V by running the install.cmd script, ignore any errors about .NET Framework 2.Verify that the files are not having any alternative data streams, if they do, remove it (using explorer or streams from Sysinternals). 3.Create the virtual machines by running the 4_CreateVirtualMachines.ps1 script. Here is the install.cmd script I have to use... and I get unsigned errors in the final phase when trying to run the PS1 files in the last line of this script because the 'ExecutionPolicy' by default is set to 'Restricted'. I can't just open another instance and set to unresricted as this only works for the current running windows so new windows open restricted. @echo off cls echo Installing HyperV Management Library for PowerShell echo ========================================================== echo. echo Ensuring that .Net Framework 2 and Windows PowerShell are installed Echo Press [ctrl][c] to abort or pause dism /online /enable-feature /featurename:NetFx2-ServerCore dism /online /enable-feature /featurename:MicrosoftWindowsPowerShell echo. echo About to create folder and copy Powershell module. Echo Press [ctrl][c] to abort or pause md "%ProgramFiles%\modules\HyperV" copy %0\..\HyperV_install\*.* "%ProgramFiles%\modules\HyperV" echo. echo About to set registry entries for PowerShell script execution, module path and console settings Echo Press [ctrl][c] to abort or pause start /D %0\.. /w regedit "PS_Console.REG" echo. echo About to Launch PowerShell Echo Press [ctrl][c] to abort or pause start %windir%\System32\WindowsPowerShell\v1.0\powershell.exe -noExit -Command "Import-Module '%ProgramFiles%\modules\Hyperv' " *** I know I need to instert the "Set-ExecutionPolicy Unrestricted or -ExecutionPolicy Unrestricted " or something like this somewhere in the last line but everywhere I do I just get different errors. I'm hoping that this is simple enough that someone sees the issue right away as I was hoping to not have to go out and learn PS too quickly just to make this script work. Thanks, RD
  5. Figured it out guys, I just needed to build my .EXE file and call it first in the BOOT.WIM by just need to modify the run command in WinPE and do that by modifying the template files that is used the the media is created. The files are normally located in C:\Program Files\Microsoft Deployment Toolkit\Templates and are called Unattend_PE_x64.xml and Unattend_PE_x86.xml. Open them and replace the the text that looks like this(Please, make a copy of them before you make the changes…): wscript.exe X:\Deploy\Scripts\LiteTouch.wsf with this: X:\Windows\system32\LTIRunx86.exe Update the media Give credit where credit is due... used this link for help... http://deploymentbunny.com/2011/01/26/password-or-pin-code-protect-mdt-2010-litetouch/ RD
  6. Forgot to mention that has to be a media based install only, so leaving out the network password does me no good. Here is the simple, I've watched the videos about 10 times or at least until they start to put me to sleep and as simple as I want it to be, it is not unless all I want to do is deploy a basic Windows OS. I'm new at MDT 2010 and all I want to do is apply my WIM file but first password protect the media and then limit the install to a certain manufacturer. Also this is windows XP at this time and so far I haven't found the location of a customsetting.ini. And anything I can find on it seems to reference the database yet a media based install doesn't use a database. Look at my first post, everything I need is in 27 lines including references. Yet can I figure out how to integrate it in the MDT 2010 install... not a chance. While I am a newbie at MDT 2010 I'm not a newbie at doing OS installs, building recovery partitions, installing from a multiple partition HDD so I've done a few things and now I need to learn this thing... My new manager now requires that I move to this process so just looking for some help guys. Any good books or anything out there that could be recommended? I love the WROX books, heck used one to learn vbScript. Help me Obi One you're my only hope... Thanks, Randy
  7. Hi Guys, New at this and need to find out how and where I would setup a password to protect the install and also limit the install base to say Dell computers? I currently do it with a VBscript on my none MDT 2010 install but alas must convert to mdt 2010: '======================================================================================= ' Password checker required for installation '======================================================================================= Do Until n = 3 Password = InputBox("Please enter your password", "Windows XP SP3 Install") If Password = "Password" Then Exit Do Else n = n + 1 End If Loop If n = 3 Then MsgBox " Incorrect Password" &_ vbNewLine & " " &_ vbNewLine & " Installation will now reboot" abort Else '======================================================================================= ' Manufacturer checker for allow platforms. '======================================================================================= Dim BaseBoardSet, sLen, item Set BaseBoardSet = GetObject ("winmgmts:").InstancesOf("Win32_BaseBoard") for each item in BaseBoardSet Manu=trim(item.Manufacturer) Next If Manu = "Dell" Then '======================================================================================= It's that simple, but where would I load it so that it does this check during the WinPE boot? Thanks, RD
  8. Hi Guys, I'm developing an image and I have some SSDs in some of the PCs that need a couple of utilities but I don't want all the PCs to have them. I thought that the easiest thing to do would be to detect whether there was an SSD present. Boy was I mistaken... Has anyone written a script that can detect an SSD or maybe even the spin rate on a HDD as the SSD will be '0' so it would be an easy detect that way? I cannot find anything in WMI that appears to detect the SSD, or Diskpart other than name and that will change with product rolls. Help me OB1 you're my only hope... Thanks, RD
  9. Hi guys, Need some help if anyone has run across this. I used Robocopy to get some data off of a failing RAID system onto a 2TB drive that I setup as a GPT disk to use as much space as possible. I was booted using WinPE 3.0 at the time. After copying everything I moved the HDD over to another system to check it and found out that nothing is seen in the Win7\Windows Explorer or if I run DIR from a command prompt. But if I CD to the directories I created all the info is there????? I tried moving the data to a different directory and even after I created the folder using Windows it disappears when I start to copy data yet it is all there. I also tried using the attrib command but the system doesn't see anything for attrib to run. Next I'm going to try using another disk and not set it to gpt and see if I can move the data over. Anyone seen this before? Thanks for the help, RD
  10. Ok Guys, Here is the fix: 1. create your partitions as follows using diskpart: select disk 0 clean create partition primary size=20000 id=27 (you decide what you need I need 20GB, id=27 means hidden) format quick fs=ntfs label=Recovery assign letter=R active create partition primary size=200 format quick fs=ntfs label=System create partiton primary format quick fs=ntfs label=Windows assign letter=s exit This makes up your diskpart.txt file to call. Now take your BOOT.WIM and apply it to the first partition. imagex /apply d:\sources\boot.wim 1 r: Your system will now boot to WinPE under the R: drive. You can now install Windows 7 to the S: partition or reboot and boot from the install DVD and choose the larger HDD partition to install to. Once installation is complete you can no longer boot into WinPE in the hidden partition. You will now make the updates to the BCDedit.exe as follows. Now edit the bcd store to add the winpe boot menu Bcdedit /create /d Winpe /application osloader The above command returns a GUID that you use in the next commands: Bcdedit /set <GUID> osdevice partition=d: Bcdedit /set <GUID> device partition=d: Bcdedit /set <GUID> path \windows\system32\winload.exe Bcdedit /set <GUID> systemroot \windows Bcdedit /set <GUID> winpe yes Bcdedit /set <GUID> detecthal yes Bcdedit /displayorder <GUID> /addlast Also you will need to copy your winload.exe from the install to the winpe partition. open a cmd prompt and type copy c:\windows\system32\winload.exe d:\windows\system32 It will ask to over write choose Yes You can now edit your msconfig file under boot to shorten or lengthen the time I change mine from 30 seconds to 3 so that my end users don't try to run the recovery by accident. To run msconfig go to the start and type msconfig then choose the boot tab to make your changes. That pretty much covers it... If I made any errors I appologize as I'm heading off hunting for a week and will fix any and all errors upon my return. Randall
  11. Hi Guys, Just wondering if anyone has any experience in creating dual boot systems using WinPE and Windows 7? My thoughts, I currently run a HDD install from four partitions for a Windows 7 install. At this time I create the partitions using diskpart as follows: Select disk 0 Clean create part pri size=200 format quick fs=ntfs label=System create part pri size=20000 format quick fs=ntfs label=Windows assign letter=s create part pri size=300 format quick fs=fat32 label=WinPE create part pri size=18000 format quick fs=ntfs label=image assign letter=r select part 3 active exit When the system boots winpe on partition 3 is active boot partition and installs the OS from partition 4. Once completed I now delete partitions 3 and 4 and set partition 1 to active and then run the BCDBOOT.EXE s:\windows and reboot. With this latest request my thoughts are to instead install from a hidden partition ID=27 and then keep it and create a dual boot system using the BCDEdit.exe... Select disk 0 clean create part pri size=20000 id=27 format quick fs=ntfs label=Recovery assign letter=R create part pri size=200 format quick fs=ntfs label=System create part pri format quick fs=ntfs label=Windows assign letter=S select part 1 active exit Now I do the same install but the partition is a recovery partition and I now only need to figure out how to create the BCDEdit.exe store to add my WinPE install as an option and set the time for 3 - 5 seconds for post. That way a user can choose to rebuild the PC whenever they choose or whenever support needs to as it is shown as to opions in the boot loader: "Recover Hard Drive" or "Windows 7" and Windows 7 is the default. Has anyone had any experience with BCDEdit.exe and creating dual boot entries? Part of it is -> bcdedit -create /d "Recover Hard Drive" /application OSLOADER But I'm not sure how to grab the GUID so that I can paste it in a file or what the rest is needed???? Any help would be appreciated. Thanks, Randall
  12. Did you ever get this fixed as here I am a year later with the same issue? Thanks, Randall
  13. Guys thanks for the input... arwidmark I'm afraid I can't use the the MDT as my images are highly evolved and customized... 10 languages and 21 platforms... Tripredacus also thanks as I have used an animatied gif in previous releases. I was looking for a bit more info for the end user rather than an animated gif. I was showing the apply on the wim files and the RoboCopies but was asked to not give so much info and instead just annouce what was going on I.E. 'copying files' or 'loading OS' stuff like that. I use the code I posted during finishing as it does run inside of Windows and gives the user a list of info like 'Installing Roxio' and Installing USB 3.0 Drivers'. I was just hoping that someone has gotten some sort of frame or statusbox to work under WinPE so that I could show the same type of info. Also I added another bit of code for a statusbox that I use inside of Windows in case someone wants it for their installs. It actually has a really clean look. Thanks again, RD <HTML> <HEAD> <TITLE>PC Installation</TITLE> <HTA:APPLICATION ID="aIMAGECONF" APPLICATIONNAME="myApp" BORDER="normal" BORDERSTYLE="normal" CAPTION="yes" ICON="" MAXIMIZEBUTTON="yes" MINIMIZEBUTTON="yes" SHOWINTASKBAR="no" SINGLEINSTANCE="yes" SYSMENU="no" VERSION="1.0" WINDOWSTATE="normal"/> <style type="text/css"> td { font-family: Verdana, Helvetica, sans-serif; font-size: 0.8em; } h3 { font-family: Verdana, Helvetica, sans-serif; font-size: 1.3em; } .imagemeta { font-weight: bold; } #firstRow {color: #000000} #anyRow {color: #AAAAAA} #topBorder { background: #002F63; } #middleContent { width:100%; height:90%; float:left; background:#fff; padding-bottom:4px; padding-top:4px; } #topRight { height: 10%; position: relative; left: 1; background:#efefef; padding-bottom:10px; } #mainRight { height: 90%; position: relative; left: 1; background:#efefef; padding-bottom:10px; } #statusbox { background-color: #f3f3f3; border-width: 0px; overflow: auto; } #mainleft { width: 20%; height: 90%; float:left; background:#5196CD; padding-bottom:10px; } </style> <script language="VBScript"> Dim NewStatus, Status, CurrentStatus Set fso = createobject("scripting.filesystemobject") Set objWSHell = createobject("wscript.shell") Set wshnetwork = createobject("wscript.network") Sub poststatus() '******** Update the statusbox and scroll down so the last update is visible ******** statusbox.value = Status NewStatus = Status & VbCrLf & "-----------------------------------" & VbCrLf & CurrentStatus status = NewStatus End Sub Function BuildImage On Error resume Next Set objWMI = GetObject("winmgmts:") Set myEnum = objWMI.ExecQuery("SELECT * from Win32_ComputerSystemProduct") For Each csp in myEnum oComputerModel.innerHTML = ltrim(rtrim(csp.Name)) & " " & ltrim(rtrim(csp.Version)) oSerialNum.innerHTML = csp.identifyingnumber Next Status = "Please Wait Building Hard Drive Structure" CurrentStatus = "Adding Drivers" poststatus MsgBox "Test" CurrentStatus = "Adding Operating System" poststatus MsgBox "Test" CurrentStatus = "Adding SEP" poststatus MsgBox "Test" CurrentStatus = "Adding Language" poststatus MsgBox "Test" CurrentStatus = "Finishing Install" poststatus MsgBox "Test" CurrentStatus = "Rebooting" poststatus MsgBox "Test" self.close End Function window.onload=GetRef("BuildImage") </SCRIPT> </HEAD> <BODY marginwidth="0" marginheight="0" topmargin="0" leftmargin="0" SCROLL="no"> <DIV ID="topBorder"> <img src="topHeader.gif" border="0" /> </DIV> <DIV ID="middleContent"> <DIV ID="mainLeft"> </DIV> <DIV ID="topRight"> <h3>Image Deployment</h3> <TABLE ID="oImageInfo"> <TBODY> <TR><TD>Computer Model:</TD><TD class="imagemeta" id="oComputerModel"></TD></TR> <TR><TD>Computer Serial Number:</TD><TD class="imagemeta" id="oSerialNum"></TD></TR> <TR><TD> </TD><TD> </TD></TR> </TBODY> </TABLE> </DIV> <DIV ID="mainRight"> <h3>Status</h3> <TABLE ID="aTABLE"> <TR> <TD ID="statusrow" WIDTH="100%"><TEXTAREA cols="70" rows="28" id="statusbox" NAME="statusbox" READONLY="true" UNSELECTABLE="on"></TEXTAREA></TD> </TR> </TABLE> </FRAME> </DIV> </DIV> </BODY> </HTML>
  14. Hi Guys, I'm trying to get a status box to run in my HTA file while install my OS that lets the user know what is going on without telling them the complete details. Has anyone been able to do such a thing? I have two status boxes that run inside of windows but will not work inside of WinPE. here is my coding from one of them... Thoughs? Thanks RD <HTML> <HEAD> <TITLE>PC Installation</TITLE> <HTA:APPLICATION ID="aIMAGECONF" APPLICATIONNAME="myApp" BORDER="normal" BORDERSTYLE="normal" CAPTION="yes" ICON="" MAXIMIZEBUTTON="yes" MINIMIZEBUTTON="yes" SHOWINTASKBAR="no" SINGLEINSTANCE="yes" SYSMENU="no" VERSION="1.0" WINDOWSTATE="normal"/> <style type="text/css"> td { font-family: Verdana, Helvetica, sans-serif; font-size: 0.8em; } h3 { font-family: Verdana, Helvetica, sans-serif; font-size: 1.3em; } .imagemeta { font-weight: bold; } #firstRow {color: #000000} #anyRow {color: #AAAAAA} #topBorder { background: #002F63; } #middleContent { width:100%; height:90%; float:left; background:#fff; padding-bottom:4px; padding-top:4px; } #topRight { height: 10%; position: relative; left: 1; background:#efefef; padding-bottom:10px; } #mainRight { height: 90%; position: relative; left: 1; background:#efefef; padding-bottom:10px; } #statusbox { background-color: #f3f3f3; border-width: 0px; overflow: auto; } #mainleft { width: 20%; height: 90%; float:left; background:#5196CD; padding-bottom:10px; } </style> <script language="VBScript"> Dim NewStatus, Status, CurrentStatus Set fso = createobject("scripting.filesystemobject") Set objWSHell = createobject("wscript.shell") Function BuildImage On Error resume Next Set objWMI = GetObject("winmgmts:") Set myEnum = objWMI.ExecQuery("SELECT * from Win32_ComputerSystemProduct") For Each csp in myEnum oComputerModel.innerHTML = ltrim(rtrim(csp.Name)) & " " & ltrim(rtrim(csp.Version)) oSerialNum.innerHTML = csp.identifyingnumber Next MsgBox "Test" Document.frmMain.S1.value = Document.frmMain.S1.value & "Please wait" Document.frmMain.S1.value = Document.frmMain.S1.value & vbCrlf & "-----------------------------------" Document.frmMain.S1.value = Document.frmMain.S1.value & vbCrlf & "starting process" Document.frmMain.S1.value = Document.frmMain.S1.value & vbCrlf & "-----------------------------------" Document.frmMain.S1.value = Document.frmMain.S1.value & vbCrlf & "starting process" Document.frmMain.S1.value = Document.frmMain.S1.value & vbCrlf & "-----------------------------------" Document.frmMain.S1.value = Document.frmMain.S1.value & vbCrlf & "starting process" Document.frmMain.S1.value = Document.frmMain.S1.value & vbCrlf & "-----------------------------------" MsgBox "Test" self.close End Function window.onload=GetRef("BuildImage") </SCRIPT> </HEAD> <BODY marginwidth="0" marginheight="0" topmargin="0" leftmargin="0" SCROLL="no"> <DIV ID="topBorder"> <img src="topHeader.gif" border="0" /> </DIV> <DIV ID="middleContent"> <DIV ID="mainLeft"> </DIV> <DIV ID="topRight"> <h3>Image Deployment</h3> <TABLE ID="oImageInfo"> <TBODY> <!-- <TR><TD>Image Name:</TD><TD class="imagemeta" id="oImageName"></TD></TR> <TR><TD>Image Version:</TD><TD class="imagemeta" id="oImageVersion"></TD></TR> --> <TR><TD>Computer Model:</TD><TD class="imagemeta" id="oComputerModel"></TD></TR> <TR><TD>Computer Serial Number:</TD><TD class="imagemeta" id="oSerialNum"></TD></TR> <TR><TD> </TD><TD> </TD></TR> </TBODY> </TABLE> </DIV> <DIV ID="mainRight"> <h3>Status</h3> <FORM name="frmMain"> <TABLE ID="aTABLE"> <TR> <form method="POST" action="--WEBBOT-SELF--"> <p><textarea rows="28" name="S1" cols="70"></textarea></p> </TR> </TABLE> </FORM> </DIV> </DIV> </BODY> </HTML>
  15. Fixed!!! Ok guys, here is what it took to fix the boot system. As stated earlier my installs run from the HDD. Whenever I was installing using DVDs I had no issues. But when I ported the Windows 7 install over to the HDD install I contiunally got the above issue. What I found was while I need to create the whole HDD structure up front the 200mb 'System' partition needs to stay raw until you are ready to reboot. In other words here is my text for my diskpart to create the structure: select disk 0 clean create partition primary size=200 create part primary size=15000 Create part primary size=200 create partition primary size=18000 select partition 4 assign letter=r format quick fs=ntfs label="image" select partition 3 active assign letter=i format quick fs=fat32 label="WinPE" select partition 2 assign letter=s format quick fs=ntfs label="Windows" exit Notice nothing is mentioned about the first partition except to create it. Then when I'm ready to reboot I make these two calls. objWShell.Run "cmd /c diskpart.exe /S x:\windows\system32\delPart.txt", 0, True objWShell.Run "cmd /c bcdboot.exe s:\windows",0, True delPart.txt has the following: select disk 0 select part 4 Delete part select part 3 Delete part select part 1 format fs=ntfs label=system active exit There you have it, if you want to do a HDD install you need to make sure that the 'system' partition is not formated or set active until you are ready to reboot. This way during the install someone can pull the power and the system will restart at the begining each time right up to the last two call tags. Makes it almost stupid proof, almost. In case you are wondering if you want to do such a structure you also need a .txt file to call each time the system boots to set the install structure. Here is mine: select disk 0 select partition 4 assign letter=z select partition 3 assign letter=i select partition 2 assign letter=s format quick fs=ntfs label=Windows exit That way I can hard code my drives and not worry about them changing each boot. I install from the 'Z' and install to the 'S' drive that way you do not have to worry about drive letters being available.