Jump to content

leen2

Member
  • Posts

    44
  • Joined

  • Last visited

  • Donations

    0.00 USD 
  • Country

    United States

Everything posted by leen2

  1. This depends on how you intent to install Vista. If you have an image you want to push down I believe you need to use sysprep and the image together with an unattend for any customizations. If you want deploy the OS in the same manner that you used to use Winnt32.exe in the old days, run setup.exe with the /unattend command line switch and specify the unattend.xml file to use. Your Unattend.xml file needs to point to the OS's wim image file and contain all the sttings you need to customize the install. The MAK key should be in the appropriate sections in the unattend. Alternatively you can use a KMS license server and leave the license key blank, then on joining your domain the OS will automatically find the license server and license itself.
  2. You are missing the action in FirewallGroups. It should be: <FirewallGroups> <FirewallGroup wcm:action="add" wcm:keyValue="RemoteDesktop"> <Active>true</Active> <Group>Remote Desktop</Group> <Profile>all</Profile> </FirewallGroup> </FirewallGroups>
  3. If you are using WinPE 2.1 (Vista PE) to create the partitions and then install Windows XP or Windows Server 2003 onto those partitions, you may need to set the following registry values for disk alignment in the Virtual Disk service in WinPE. In Windows PE registry, Under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\vds\ALIGNMENT set the following DWord values LessThan4GB Between4_8GB Between8_32GB GreaterThan32GB with the value 0 Then perform the diskpart commands to create the partitions.
  4. Not that I know of. So I wrote my own equivalent, basically an HTA as a graphical interface to a set of VBscripts that take the input from the HTA and write out the settings required line by line into an unattend.xml file, then kick of the install. For our implementation I also hacked ADSI support into WinPE so that I could query our Active Directory infrastructure and verify domain credentails and rights so that the machine would be added to the domain and OU specified during Windows setup in an unattended join. The scripts I wrote also allow you to change IP settings in WinPE, that then get added to the Unattend.xml file used during the install. And I wrote this to cover OS Server versions from Windows 2000 through Windows Server 2008. While you are interested in Vista, it is essentially the same as Server 2008. To use this the method of install we use is to run Winnt32.exe (2003 OS and earlier) or setup.exe (2008 OS) with the /unattend command line switch pointing to unmodified source media on a network share. While I can't just give you what I wrote as it is specific to the organization I work for, I can give you pointers on pieces of it so you can achieve approximately the same thing with some work if you are experienced with VBscript and HTA.
  5. The 2 versions of WinPE are based on different OS versions (1.2 is XP, 2.0/2.1 is Vista). As the drivers that are compatibile with XP are not compatible with Vista, you will need to identify ech driver you need and find the Windows Vista / Windows Server 2008 equivalent. The good news is a large number of the drivers will probably be already included in the New WinPE. To answer your question, a driver for a device will usually have a .inf file and .sys file, but may also have a .dll and/or a .cat file. In WinPE 1.2, the following locations contain the driver files: i386\inf contains the .inf files from each driver, open these in notepad to see what they apply to. i386\system\drivers contains the .sys files from each driver. If it is a mass storage controller driver, look at the i386\system\WINPEOEM.SIF to see what drivers are being loaded from which folders in addition to the basic set of drivers included with WinPE. (This assumes the person integrating the drivers followed standard practices). In reality, rather than trying to reverse engineer what was previously added, best bet is to fire up the default WinPE 2.1 on each hardware and see what is not detected. You can then use the command line program DRVLoad.exe included to load Vista / Server 2008 drivers manually and see if the hardware works under a newer driver.
  6. We do similar to what you are doing, we create the unattend.xml file dynamically based on the information the user selects and enters. We don't encrypt the passwords because we have found that windows setup when reading the unattend.xml file removes sensitive data. You can see this if you look at the answer file in the C:\windows\panther folder after setup is completed. I don't even think you need to remove the unattend.xml file, I think windows setup removes it. You will find all sensitive data has been removed. I don't know if you can still encrypt the passwords, and put them in the unattend file, there again you would need to be able to generate them in encrypted form and I don't know of a way to do that. hope this helps.
  7. We use the second method detailed in KB931761, change the registry as follows: 1. Click Start, click Run, type Regedit, and then click OK. 2. Locate and then click the following registry subkey: HKEY_LOCAL_MACHINE\SYSTEM\CURRENTCONTROLSET\SERVICES\VDS\ALIGNMENT 3. On the Edit menu, point to New, and then click DWORD value. 4. Type LessThan4GB as the new entry name. 5. Right-click LessThan4GB, and then click Modify. 6. In the Edit DWORD Value dialog box, click Decimal. 7. In the Value data box, type 0, and then click OK. 8. Repeat steps 3 through 7 to add the following registry entries: Between4_8GB Between8_32GB GreaterThan32GB Each registry entry must have a value of 0. 9. Exit Registry Editor. We actaully have these settings made by script, but it works for us.
  8. I use WMI to modify the network settings. I wrote an HTA to provide a graphical interface that the user could use to enter the data and use the methods available to set the configuration. Use the Win32_NetworkAdapterConfiguration WMI provider, it has all the methods needed to change the adapter configuration. Methods we use are EnableStatic, SetGateways, SetDNSDomain, SetDNSServerSearchOrder, SetWinsServer.
  9. You need to separate the OS install from the App installs. Use a script file to install the apps and have windows autologon and run it once setup is complete. For your answer file, the settings are made in the component "Microsoft-Windows-Shell-Setup", you need to add this to the "oobeSystem" settings pass. Configure OOBE as: <OOBE> <HideEULAPage>true</HideEULAPage> <NetworkLocation>Other</NetworkLocation> <ProtectYourPC>3</ProtectYourPC> <SkipUserOOBE>true</SkipUserOOBE> </OOBE> Additional settings as: <ShowWindowsLive>false</ShowWindowsLive> <StartPanelOff>false</StartPanelOff> <TimeZone>US Eastern Standard Time</TimeZone> (or what ever your time zone is) Configure the administrator account: <UserAccounts> <AdministratorPassword> <Value>your password goes here</Value> <PlainText>true</PlainText> </AdministratorPassword> </UserAccounts> Configure registration settings: <RegisteredOrganization>Your ORG</RegisteredOrganization> <RegisteredOwner>Your Name</RegisteredOwner> Configure the system to autologon with administrator account: <AutoLogon> <Password> <Value>your password goes here</Value> <PlainText>true</PlainText> </Password> <Enabled>true</Enabled> <LogonCount>1</LogonCount> <Username>administrator</Username> </AutoLogon> Set display settings if you want: <Display> <ColorDepth>32</ColorDepth> <HorizontalResolution>1024</HorizontalResolution> <VerticalResolution>768</VerticalResolution> </Display> Set command file to run on autologon (add each command file you need): <FirstLogonCommands> <SynchronousCommand wcm:action="add"> <CommandLine>c:\script1.cmd</CommandLine> <Description>Initial Variables</Description> <Order>1</Order> </SynchronousCommand> <SynchronousCommand wcm:action="add"> <CommandLine>c:\script2.cmd</CommandLine> <Description>Post Configuration Script</Description> <Order>2</Order> </SynchronousCommand> </FirstLogonCommands> If you add these settings to your answer file, it should finish windows setup, and autologon with the local admin account and run your script files. Then it is up to you what you put in your script files and to amke sure they are there on the C: drive.
  10. While I am not an expert on this, a number of things to note: 1. Windows Server 2008's network stack includes the ability to tune the network performance of TCP communications to your needs. Out of the box it is fine, just not always optimal depending on your network. I would investigate TCP performnce tuning of the network stack if you think the server end is where the problem lies. 2. 64-bit versins of Windows Server 2008 benefit from the additional memory addres space and are able setup larger pagesd and non-paged memory address pools that can facilitate faster network performance. 3. We have found an issue with the way Internet Explorer in Vista uses a small window size to negotiate TCP packet transfers, even if you have tuned the OS to use larger window sizes. Internet Explorer in XP does not suffer from this, if your app uses Internet Explorer, try testing it from an XP client against the Windows server 2008 server to see if the issue is in your client. This only relates to IE, Windows Explorer in Vista is unaffected. 4. Use standard troubleshooting to find the cause, that means go back to the original solution that works well and change 1 thing at a time and retest after each change to isolate where the problem is. You could find it is something as simple as the network ports on your switch set to auto negotiate speed and duplex and you server's NIC card is negotiating down to a Half duplex and 10MB. 5. Use a program like Wireshark to take packet captures and look at what is happening at the packet level, etc...
  11. We do this a different way, before running windows setup with the answer file, create and format the C: partition in Windows PE, then tell Windows Setup in the answer file to leave the C: disk alone. Put your answer file on the C: drive and run Windows Setup with the unattend option pointing to the C:\unattend.xml file instead of the <ram drive>\unattend.xml file. Basically, don't have windows setup partition and format the drive, use Diskpart with a script file to partition it, assign a drive letter and make it active so it is bootable, then format it usign the format command. Then put your answer file on the C: drive and run windows setup using the answer file on the C: drive.
  12. We use a similar approach on the server side to install everything from Windows 2000 OS through to Windows Server 2008 x64. We do not use sysprep however, we use Winnt32.exe or Setup.exe (for Server 2008) with a /unattend: switch and the location of the Unattend.txt or Unattend.xml file that is dynamically written out based on the answers provided by the user. In this manner we do not maintain images, we run a full scripted setup everytime. To answer your question, the Guirunonce can now be done as Synchronous commands: under <component name="Microsoft-Windows-Shell-Setup" ....etc.....> <FirstLogonCommands> <SynchronousCommand wcm:action="add"> <CommandLine>c:\mycommand.cmd</CommandLine> <Description>My commands</Description> <Order>1</Order> </SynchronousCommand> </FirstLogonCommands> </component> You will also need to set autologin under the same component <AutoLogon> <Password> <Value>xxxxxxxx</Value> <PlainText>true</PlainText> </Password> <Enabled>true</Enabled> <LogonCount>1</LogonCount> <Username>username specified</Username> </AutoLogon>
  13. We do these the other way arround. We change the name during the Specialize pass and then add to the domain in an unattended join suppressing OOBE. To do this we actually have the user fill out the information needed and dynamically write out the unattend.xml file with the data the user entered. This works through an HTML application to get the data from the user and a VBscript to write out a custom unattend.xml that setup then uses. Hope this helps.
  14. Firstly I think these should be under the component "Microsoft-Windows-Shell-Setup", an example would be: <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"> <AutoLogon> <Password> <Value>************</Value> <PlainText>true</PlainText> </Password> <Enabled>true</Enabled> <LogonCount>2</LogonCount> <Username>administrator</Username> </AutoLogon> <FirstLogonCommands> <SynchronousCommand wcm:action="add"> <CommandLine>c:\script.cmd</CommandLine> <Description>Initial Variables</Description> <Order>1</Order> </SynchronousCommand> </FirstLogonCommands> </component> This uses the Administrator account to autologon and execute the command file C:\script.cmd once setup is complete and the system has rebooted. You could put all your commands into this file and have them execute as a normal batch script or have multiple Synchronous Commands in the unattend.xml file.
  15. The following sections should help, while we use them for Windiows Server 2008 unattended builds, they should work for Vista as well. These are also for x64 builds, if you need it for x86 then change the setting for processorArchitecture="amd64" to processorArchitecture="x86". The following sections cover setting a Static IP v4 address, DNS and WINS entries. The line <Identifier>xx:xx:xx:xx:xx:xx</Identifier> is the MAC address of your NIC. The settings for <UnicastIpAddresses> must be in CIDR notation The settings for <NextHopAddress>xxx.xxx.xxx.xxx</NextHopAddress> is the Default Gateway The Microsoft-Windows-DNS-Client component adds DNS Server entries The Microsoft-Windows-NetBT component adds WINS entries There is no way in the unattend file to disable IP v6. however there are settings to configure IP v6 settings, we just don't use IP v6 so we disable it after setup is complete. <component name="Microsoft-Windows-TCPIP" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Interfaces> <Interface wcm:action="add"> <Identifier>xx:xx:xx:xx:xx:xx</Identifier> <Ipv4Settings> <DhcpEnabled>false</DhcpEnabled> <Metric>10</Metric> <RouterDiscoveryEnabled>false</RouterDiscoveryEnabled> </Ipv4Settings> <UnicastIpAddresses> <IpAddress wcm:action="add" wcm:keyValue="1">xxx.xxx.xxx.xxx/xx</IpAddress> </UnicastIpAddresses> <Routes> <Route wcm:action="add"> <Identifier>1</Identifier> <Metric>10</Metric> <NextHopAddress>xxx.xxx.xxx.xxx</NextHopAddress> <Prefix>0.0.0.0/0</Prefix> </Route> </Routes> </Interface> </Interfaces> </component> <component name="Microsoft-Windows-DNS-Client" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Interfaces> <Interface wcm:action="add"> <DNSServerSearchOrder> <IpAddress wcm:action="add" wcm:keyValue="1">xxx.xxx.xxx.xxx</IpAddress> <IpAddress wcm:action="add" wcm:keyValue="2">xxx.xxx.xxx.xxx</IpAddress> </DNSServerSearchOrder> <Identifier>xx:xx:xx:xx:xx:xx</Identifier> <EnableAdapterDomainNameRegistration>false</EnableAdapterDomainNameRegistration> <DisableDynamicUpdate>true</DisableDynamicUpdate> <DNSDomain>mydomain.com</DNSDomain> </Interface> </Interfaces> <DNSDomain>mydomain.com</DNSDomain> <UseDomainNameDevolution>true</UseDomainNameDevolution> </component> <component name="Microsoft-Windows-NetBT" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Interfaces> <Interface wcm:action="add"> <NameServerList> <IpAddress wcm:action="add" wcm:keyValue="1">xxx.xxx.xxx.xxx</IpAddress> <IpAddress wcm:action="add" wcm:keyValue="2">xxx.xxx.xxx.xxx</IpAddress> </NameServerList> <Identifier>xx:xx:xx:xx:xx:xx</Identifier> <NetbiosOptions>1</NetbiosOptions> </Interface> </Interfaces> </component> Hope this helps.
  16. There are no options in the unattend.xml file that will allow you to disable IPv6 during Windows Setup. One way to do this is after the OS is installed to disable it with the DisabledComponents regisrty value. The VBscript below will accomplish this: Set objShell = WScript.CreateObject("WScript.Shell") strIPv6 = "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\DisabledComponents" objShell.RegWrite strIPv6, "255", "REG_DWORD"
  17. We have found that some drivers have .inf files that include sections for multiple OS versions. These drivers have problems loading until you remove / comment out the sections that do not apply. This is particularly true for x64 drivers. We have better luck once the x86 sections are removed from the files. I don't know if the x86 version of WinPE has the same issue, we are currently concentrating on the x64 version first. However we are finding that driver loading is more luck than anything at the moment. There is a driver loading preference and we find that sometimes WinPE will load its own driver if it thinks it is better and ignore the driver you have added to the image. This is particularly the case if the WinPE native driver is newer, or just gets loaded first, or if it thinks it is a better PnPID match. We have found that Drvload, used once the WinPE OS is running, can force a new driver to be loaded. We also have found issues with Virtual Bus device drivers for NIC cards. We are still figuring out the best set of drivers for our images and seeing which work and which don't. Unfortunately HP, who's servers we mainly use, do not seem to actually test the drivers they put out in the Smart Start scripting toolkit for WinPE 2.1 I would like to know more on your method of inserting drivers manually and updating the registry settings in PE. Thanks.
  18. I plan to do this for our unattended installs. We currently do this for Windows 2000 and Windows Server 2003 OS versions for unattend.txt, so I plan to extend it for Windows Server 2008 as well for unattend.xml. Simple VB code to create a FileSystemObject we use is as follows: Set objFS = CreateObject("Scripting.FileSystemObject") Set objNewFile = objFS.CreateTextFile("c:\unattend.xml") objNewFile.WriteLine "<?xml version=" & chr(34) & "1.0" & chr(34) & " encoding=" & chr(34) & "utf-8" & chr(34) & "?>" objNewFile.WriteLine "<unattend xmlns=" & chr(34) & "urn:schemas-microsoft-com:unattend" & chr(34) & ">" objNewFile.WriteLine "< <servicing>" etc... objNewFile.Close (as you can't use the double quote charater directly, you have to substitutue it for " & chr(34) & " in the code so that when it writes out the file it fills in the correct character.) Just produce and validate your original unattend.xml file in Windows System Image manager from WAIK and then use it as the template for the VBscript to dynamically produce.
  19. I have found a similar issue with the HP Multifunction NIC included in a number of HPs servers, specifically the DL585 server. Unfortunately the WinPE drivers included in the latest Smart Start Scritping toolkit do not work either. I had assumed that this was some sort of conflict between drivers included with WinPE 2 from WAIK and the HP provided drivers but I will try the drivers you have found to see if they work. For this particular server, a DL585 G1 server I was trying to build with a x64 OS version, I had to use WinPE 1.5 with the drivers extracted from Proliant Support Pack 7.60. Newer drivers from different Proliant Support Packs did not work. It seems that HP no longer actually test their drivers that they put out in the Smart Start Scritping toolkit.
×
×
  • Create New...