Jump to content

arwidmark

Member
  • Posts

    105
  • Joined

  • Last visited

  • Donations

    0.00 USD 
  • Country

    Sweden

Everything posted by arwidmark

  1. Setting per computer is fine, but I normally use the make / model to set screen resolution on a per model basis rather than on each machine. Anyway, these rules configure MDT to read the database for Computer Settings and Make/Model Settings [settings] Priority=CSettings, MMSettings, Default [CSettings] SQLServer=MDT01 Instance=SQLEXPRESS Database=MDT Netlib=DBNMPNTW SQLShare=Logs$ Table=ComputerSettings Parameters=UUID, AssetTag, SerialNumber, MacAddress ParameterCondition=OR [MMSettings] SQLServer=MDT01 Instance=SQLEXPRESS Database=MDT Netlib=DBNMPNTW SQLShare=Logs$ Table=MakeModelSettings Parameters=Make, Model / Johan
  2. I have seen these error multiple times at multiple customers. Most times it has been that the machines are running out of resources (like when usimg vm's and having the client and the server on the same physical host) or when having poor network equipment. To verify this, simply attach another virtual disk (if it's a vm), or a physical disk if its a physical machine and run imagex manually, storing the wim on the second disk. Rare exception has been strange ACL's or EFS encrypted files preventing imagex from completing, but again, most times it's related to vm resources or network hickups. There is a KB article stating this to be related to disk space, that article is incorrect. / Johan
  3. I have answered your crossposting in the minasi forum... I think it's better if you try one forum at the time / Johan
  4. To be perfectly honest with you, you are right... The Windows AIK tools are just the plumbing pieces, and how fun it ever is to play around with unattend.xml files, dism, command lines tools, batch files and create your own scripts... that's not the proposed or recommended way by Microsoft... Thing is, Microsoft realized this was bad, and created a deployment solution to work as a layer on top of Windows AIK. The deployment solutions is free to download from Microsoft, it's named Microsoft Deployment Toolkit (MDT) 2010... the link is www.microsoft.com/deployment You can even initiate the deployment from unix box
  5. You need to add the variable to the properties list, as well as set it before the Gather action in the task sequence / Johan
  6. Check the ZTIPatches.log file as well as setupact.log / Johan
  7. If a MDT deployment fails, you need to click Finish on the red dialog screen (deployment summary). Otherwise the logfiles and task sequence progress tracker are not deleted. and the next time you execute litetouch.vbs, it tries to resume.. In the past (BDD 2007/MDT 2008 days) I added a script that executed before litetouch.vsb that cleaned out any junk. Not very much needed anymore in MDT 2010 (as long as you do click Finish). Leftover junk prevents new installation in MDT 2008 / BDD 2007 http://www.deployvista.com/Blog/JohanArwidmark/tabid/78/EntryID/48/language/en-US/Default.aspx / Johan
  8. The quickest way is to use MDT 2010 to generate an unattend CD/DVD media for you, it has a built-in wizard that asks for what applications to install (a list with checkboxes). Download from http://www.microsoft.com/deployment. / Johan
  9. For sysprep and/or setup to pick up the unattend.xml file automatically it needs to be named unattend.xml or autounattend.xml depending on where you store it. Check the Implicit Answer File Search Order section http://technet.microsoft.com/en-us/library/dd744269(WS.10).aspx If you use the /unattend:filename.xml to sysprep you can use any name. / Johan
  10. Using FolderLocation in unattend.xml you can the users and programdata folder. In general this is not recommended because it may break future updates or servicing of the image. <FolderLocations> <ProfilesDirectory>D:\Users</ProfilesDirectory> <ProgramData>D:\ProgramData</ProgramData> </FolderLocations> / Johan
  11. A few years ago the most common method was to build on the Advanced ACPI HAL type, and then when deploying the image, detect the hal type and have a script that copied the necessary files and adjust syspprep.inf for the other HAL types. In these days the Advanced ACPI is mostly gone, so companies rather build their images on the MultiProc ACPI, but still use the script to copy necessary HAL files. Most times it's not necessary to copy the correct files, for example when going from MultiProc to UniProc, but you will find hardware where this is needed. I wrote a script for this a few years back.. A geeks guide to Windows XP HAL Replacement http://www.myitforum.com/articles/47/view.asp?id=8997 / Johan
  12. Here is the snippet from MDT 2010 that does that... ' Get the SMBIOS asset tag from the Win32_SystemEnclosure class Set objResults = objWMI.InstancesOf("Win32_SystemEnclosure") bIsLaptop = false bIsDesktop = false bIsServer = false For each objInstance in objResults If objInstance.ChassisTypes(0) = 12 or objInstance.ChassisTypes(0) = 21 then ' Ignore docking stations Else If not IsNull(objInstance.SMBIOSAssetTag) then sAssetTag = Trim(objInstance.SMBIOSAssetTag) End if Select Case objInstance.ChassisTypes(0) Case "8", "9", "10", "11", "12", "14", "18", "21" bIsLaptop = true Case "3", "4", "5", "6", "7", "15", "16" bIsDesktop = true Case "23" bIsServer = true Case Else ' Do nothing End Select End if Next / Johan
  13. The reason it works with the boot image is that is based on Windows Vista (or Windows 7 if you are using the latest MDT version). You need to make sure to add Windows XP drivers to BDD 2007 for your HP mini PC. A problem you may run into is that XP is trying to inject the Windows Vista Drivers you use for the boot image... In MDT 2010 Microsoft added numerous new features to deal with drivers, so my recommendation would be to upgrade from BDD 2007 to MDT 2010.
  14. Well, I can't help you with that one, but good luck on your quest...
  15. The only Windows 7 OS that supports changing the startup screens is (as mentioned previously) Windows Embedded Standard 7. And the options you have is basically to remove the startup screens all together, so that you cannot see it's windows booting. Vendors of Windows Embedded devices uses this together with custom shells to hide the fact the device is running Windows. The package you use is called Unbranded Startup Screens, and is enabled via ICE (the Windows Embedded version of WSIM). Windows 7 is using digital signing to ensure none of the boot files has been tampered with so I would'nt even try to go changing those. And of course it would be very unsupported as well.
  16. Here is a working sample you can compare with, if you want to copy and paste you need to remove wasPassProcessed=true and assign your own password and user accounts... For joindomain troubleshooting, check the netsetup.log file on the client. <?xml version='1.0' encoding='utf-8'?> <unattend xmlns="urn:schemas-microsoft-com:unattend"> <settings pass="windowsPE" wasPassProcessed="true"> <component name="Microsoft-Windows-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"> <ImageInstall> <OSImage> <WillShowUI>OnError</WillShowUI> <InstallTo> <DiskID>0</DiskID> <PartitionID>1</PartitionID> </InstallTo> <InstallFrom> <Path>\\MDT01\MDTProduction$\Operating Systems\Windows 7 Enterprise Eng x86 Custom Image\W7-X86-001.wim</Path> <MetaData> <Key>/image/index</Key> <Value>1</Value> </MetaData> </InstallFrom> </OSImage> </ImageInstall> <UpgradeData> <Upgrade>false</Upgrade> </UpgradeData> <Display> <ColorDepth>16</ColorDepth> <HorizontalResolution>1024</HorizontalResolution> <RefreshRate>60</RefreshRate> <VerticalResolution>768</VerticalResolution> </Display> <ComplianceCheck> <DisplayReport>OnError</DisplayReport> </ComplianceCheck> <UserData> <AcceptEula>true</AcceptEula> </UserData> </component> <component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SetupUILanguage> <UILanguage>en-US</UILanguage> </SetupUILanguage> <InputLocale>0409:00000409</InputLocale> <SystemLocale>en-US</SystemLocale> <UILanguage>en-US</UILanguage> <UserLocale>en-US</UserLocale> </component> </settings> <settings pass="generalize"> <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <DoNotCleanTaskBar>true</DoNotCleanTaskBar> </component> </settings> <settings pass="specialize" wasPassProcessed="true"> <component name="Microsoft-Windows-UnattendedJoin" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"> <Identification> <Credentials> <Username>TSLAB\JoinAccount</Username> <Domain></Domain> <Password>*SENSITIVE*DATA*DELETED*</Password> </Credentials> <JoinDomain>TSLAB</JoinDomain> <MachineObjectOU>ou=Workstations,dc=tslab,dc=net</MachineObjectOU> </Identification> </component> <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"> <ComputerName>MININT-5SR4D09</ComputerName> <RegisteredOrganization>TrueSec</RegisteredOrganization> <RegisteredOwner>TrueSec</RegisteredOwner> <TimeZone>Pacific Standard Time</TimeZone> <DoNotCleanTaskBar>true</DoNotCleanTaskBar> </component> <component name="Microsoft-Windows-IE-InternetExplorer" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Home_Page>about:blank</Home_Page> <IEWelcomeMsg>false</IEWelcomeMsg> </component> <component name="Microsoft-Windows-Deployment" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <RunSynchronous> <RunSynchronousCommand wcm:action="add"> <Description>EnableAdmin</Description> <Order>1</Order> <Path>cmd /c net user Administrator /active:yes</Path> </RunSynchronousCommand> <RunSynchronousCommand wcm:action="add"> <Description>EnableAdmin_ploc</Description> <Order>2</Order> <Path>cmd /c net user Administrator_ploc /active:yes</Path> </RunSynchronousCommand> <RunSynchronousCommand wcm:action="add"> <Description>UnfilterAdministratorToken</Description> <Order>3</Order> <Path>cmd /c reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v FilterAdministratorToken /t REG_DWORD /d 0 /f</Path> </RunSynchronousCommand> </RunSynchronous> </component> <component name="Microsoft-Windows-International-Core" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <InputLocale>0409:00000409</InputLocale> <SystemLocale>en-US</SystemLocale> <UILanguage>en-US</UILanguage> <UserLocale>en-US</UserLocale> </component> <component name="Microsoft-Windows-TapiSetup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <TapiConfigured>0</TapiConfigured> <TapiUnattendLocation> <AreaCode>""</AreaCode> <CountryOrRegion>1</CountryOrRegion> <LongDistanceAccess>9</LongDistanceAccess> <OutsideAccess>9</OutsideAccess> <PulseOrToneDialing>1</PulseOrToneDialing> <DisableCallWaiting>""</DisableCallWaiting> <InternationalCarrierCode>""</InternationalCarrierCode> <LongDistanceCarrierCode>""</LongDistanceCarrierCode> <Name>Default</Name> </TapiUnattendLocation> </component> <component name="Microsoft-Windows-SystemRestore-Main" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <DisableSR>1</DisableSR> </component> </settings> <settings pass="oobeSystem" wasPassProcessed="true"> <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"> <UserAccounts> <AdministratorPassword>*SENSITIVE*DATA*DELETED*</AdministratorPassword> <LocalAccounts> <LocalAccount wcm:action="add"> <Description>Temp account</Description> <DisplayName>Temp account</DisplayName> <Group>Users</Group> <Name>TempAccount</Name> </LocalAccount> </LocalAccounts> </UserAccounts> <AutoLogon> <Enabled>true</Enabled> <Username>Administrator</Username> <Domain>.</Domain> <Password>*SENSITIVE*DATA*DELETED*</Password> <LogonCount>999</LogonCount> </AutoLogon> <Display> <ColorDepth>32</ColorDepth> <HorizontalResolution>1024</HorizontalResolution> <RefreshRate>60</RefreshRate> <VerticalResolution>768</VerticalResolution> </Display> <FirstLogonCommands> <SynchronousCommand wcm:action="add"> <CommandLine>cscript.exe C:\MININT\Scripts\LiteTouch.wsf /start</CommandLine> <Description>Lite Touch new OS</Description> <Order>1</Order> </SynchronousCommand> <SynchronousCommand wcm:action="add"> <CommandLine>cscript.exe D:\MININT\Scripts\LiteTouch.wsf /start</CommandLine> <Description>Lite Touch new OS</Description> <Order>2</Order> </SynchronousCommand> <SynchronousCommand wcm:action="add"> <CommandLine>cscript.exe E:\MININT\Scripts\LiteTouch.wsf /start</CommandLine> <Description>Lite Touch new OS</Description> <Order>3</Order> </SynchronousCommand> <SynchronousCommand wcm:action="add"> <CommandLine>cscript.exe F:\MININT\Scripts\LiteTouch.wsf /start</CommandLine> <Description>Lite Touch new OS</Description> <Order>4</Order> </SynchronousCommand> </FirstLogonCommands> <OOBE> <HideEULAPage>true</HideEULAPage> <NetworkLocation>Work</NetworkLocation> <ProtectYourPC>1</ProtectYourPC> <SkipUserOOBE>true</SkipUserOOBE> </OOBE> <RegisteredOrganization>TrueSec</RegisteredOrganization> <RegisteredOwner>TrueSec</RegisteredOwner> <TimeZone>Pacific Standard Time</TimeZone> </component> <component name="Microsoft-Windows-International-Core" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <InputLocale>0409:00000409</InputLocale> <SystemLocale>en-US</SystemLocale> <UILanguage>en-US</UILanguage> <UserLocale>en-US</UserLocale> </component> </settings> <settings pass="offlineServicing" wasPassProcessed="true"> <component name="Microsoft-Windows-PnpCustomizationsNonWinPE" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <DriverPaths> <PathAndCredentials wcm:keyValue="1" wcm:action="add"> <Path>\Drivers</Path> </PathAndCredentials> </DriverPaths> </component> </settings> </unattend>
  17. It depends on if you want to use the computername or the hostname (they are normally the same) though) Here is a vbscript using the computername (run using cscript scriptname.vbs) ' get computer name Set oWshShell = CreateObject( "WScript.Shell" ) Set oWshNetwork = WScript.CreateObject( "WScript.Network" ) sComputerName = oWshNetwork.ComputerName sCmd = "net use O: \\" & Left(sComputerName,7) & "AB\folder$" wscript.echo "Executing commandline: " & sCmd oWshShell.run sCmd,0,True Here is a vbscript using the hostname from registry (run using cscript scriptname.vbs) ' get hostname Set oWshShell = CreateObject( "WScript.Shell" ) sRegValue = "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Hostname" sHostName = oWshShell.RegRead( sRegValue ) sCmd = "net use O: \\" & Left(sHostName,7) & "AB\folder$" wscript.echo "Executing commandline: " & sCmd oWshShell.run sCmd,0,True
  18. Very true. WAIK 2.0 (or as it's named Windows AIK for Windows 7 1.0) is a requirement for servicing Windows 7. That version will also support Windows Vista SP1 or higher, and Windows Server 2008.
  19. You normally get error like that if the USB device has been partitioned/formatted in WIndows XP, rather then on a Windows 7 machine, or if the partition you created is not set active The Walkthrough: Create a Bootable Windows PE RAM Disk on UFD section in Windows AIK provides super-detailed steps...
  20. Since it's WinPE you need to specify a domain controller to connect to. You also need to add the ADSI components as well. I have written ADSI plugins for WinPE 3.0 (x86 and x64) that you can download from this link ADSI Plugin for Windows PE 3.0 (x86 and x64) http://www.deployvista.com/Home/tabid/36/EntryID/127/language/sv-SE/Default.aspx There is a sample script in the Plugin that will show you a working connection.
  21. You are not alone out there, and luckily Microsoft also realized the Windows AIK tools where a bit complex for the average user, so they have written a wrapper (UI) for them... it's called Microsoft Deployment Toolkit (MDT) 2010... MDT 2010 has really good unattend.xml templates, and a good UI to manage your deployment solution. Download from http://www.microsoft.com/deployment
  22. There is no need to creating a custom bcd, the default one works great with USB devices. Check the following section in the Windows AIK docs Walkthrough: Create a Bootable Windows PE RAM Disk on UFD Its quite straight forward 1. Create a WInPE folder structure using CopyPE 2. Format a USB device on a Windows 7 machine and make the device Active 3. Copy the content of the WinPE folder structure to the device 4. Done
  23. Count the number of processors too... Sub UpdateSysprepinf () ' Find out the HAL type sHalType = oWshShell.RegRead("HKLM\SYSTEM\CurrentControlSet\Enum\Root\ACPI_HAL\0000\HardwareID") If sHalType(0) = "acpiapic" Then if oWshShell.Environment.item("NUMBER_OF_PROCESSORS") = 1 then WriteIni "c:\sysprep\sysprep.inf", "Unattended", "UpdateUPHAL", "ACPIAPIC_UP,%WINDIR%\Inf\Hal.inf" else writeini "c:\sysprep\sysprep.inf", "Unattended", "UpdateHAL", "ACPIAPIC_MP,%WINDIR%\Inf\Hal.inf" end if ElseIf sHalType(0) = "acpiapic_up" Then WriteIni "c:\sysprep\sysprep.inf", "Unattended", "UpdateUPHAL", "ACPIAPIC_UP,%WINDIR%\Inf\Hal.inf" ElseIf sHalType(0) = "acpiapic_mp" Then writeini "c:\sysprep\sysprep.inf", "Unattended", "UpdateHAL", "ACPIAPIC_MP,%WINDIR%\Inf\Hal.inf" End if End Sub / Johan
  24. Since WinPE wasn't really designed to be a server os, most deployment tool vendors (including Microsoft) have a client applications or scripts (running in WinPE) reading ini-files, databases or web services from the deployment server rather than pushing them from the deployment server. A very good source of sample scripts is in the 30.000+ lines of vbscript repository you get when downloading MDT 2010. The link is http://www.microsoft.com/deployment
  25. Except for the vmrun thing... what exactly are you trying to automate? / Johan
×
×
  • Create New...