IT Consultant Everyday Notes

Just some problems/solutions storage

Tag Archives: OSD

SCCM: How to extract drivers from an existing machine for later OSD

Michael published a quick-cheat for that. You can extract drivers to a folder, import them to SCCM or MDT and deploy back to bare-metal machines.

 

powershell command is:

Export-WindowsDriver -Destination “C:\Drivers\$((Get-WmiObject -Class win32_computersystem).Model)” -Online

 

more details here: http://deploymentbunny.com/2016/02/26/powershell-is-king-export-drivers-from-windows/

Advertisements

SCCM: OSD tattoo script

Jason Sandys  published a nice script for tattoing imaged machines.

SCCM: Use CSV file to introduce a new machine to SCCM

 

Most commonly CSV file is used in the following format (optional SMSBIOS GUID is omitted between two commas):

Computer_Name,,MAC_Address

 

We can actually add headers to get it more readable

Name,SMBIOS GUID,MAC Address
Computer_name,,00155D01044C

 

If you are planning to use the new machine in REPLACE scenario with USMT you can create necessary association automatically by adding an old computer name to the CSV. Do not forget to capture user data from that old computer before you try to restore them to the new one! Smile

Name,SMBIOS GUID,MAC Address,Source Computer
New_Computer_name,,00155D01044C,Old_Computer_name

 

 

Note: if you use headers in CSV file do not forget to select the checkbox in Import Wizard:

 

image

Windows 8.1: Disable first logon animation

Raphael Perez published a reg key to disable the animation. It can be distributed as an SCCM package during OSD:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
“EnableFirstLogonAnimation”=dword:00000000

The command line that Raphael used was a follows …

regedit.exe /S Disable_First_Run_Animation.reg

Full article

SCCM: OSD on Lenovo M83

I downloaded a driver pack for M83 model from Lenovo website , imported it in SCCM and tried to deploy my Win 7 image.

After driver installation the process stopped on the first boot with error:

Driver ipf63x64.inf is missing or corrupted

It looks like a known issue for Lenovo community http://forums.lenovo.com/t5/Enterprise-Management-IT/Introducing-ThinkPad-Driver-Packs-for-SCCM/td-p/800691/page/9

 

Resolution:  I removed all FCoE-related components (net, SCSI and system classes) from my driver pack (for that you need to find all drivers under “Drivers” node, right-click Edit-Package and clear a checkbox corresponding to your package. Updated the package on DPs. I actually left just one network friver from multitude provided by Lenovo in the driver pack.

After that installation passed successfully.

 

As a side note – the pack from Lenovo did not impress me too much – it looks like manufacturer put all available drivers there and did not bother to test it.

Driver Grabber in its turn missed some drivers (for example Lenovo Application Integration driver – LBAI.sys).

SCCM: Prepare a standalone media for an external Vendor

The recommended way from Microsoft in this case is to prepare a pre-staged media for the Vendor. In this case your gold image, necessary drivers and (for SCCM 2012 SP1) necessary Applications will be cached on a computer when the Vendor prepares it for you. On Client side the Computer starts, looks for SCCM and execute an available Task Sequence, if the TS needs a package a local cache can be used instead of connection to the Distribution Point. And that works just great if you are ok to wait while drivers and apps will be installed.

Unfortunately SCCM 2007 cannot cache Applications in pre-stage media (workaround – put it in SCCM Client Cache folder manually Smile )

One of my Clients wanted to short installation time on his end as much as possible. In this situation we decided to you a Standalone media containing drivers and apps. Such media can be send to a Vendor who will boot from it and install everything at once.

Drawbacks:

1. Standalone media does not know about Collection variables, so it is not too dynamic. For example if you use different collections for English and French languages with corresponding variables for each language you may either hardcode the variables during standalone media creation or create a script to populate the variable dynamically

2. Standalone media assumes there is no connection to the corp net and you need to figure out how to join the computer to the domain after it will be shipped to you.

3. You cannot install necessary updates on Vendor side Sad smile

 

I was inspired Dell’s approach available on their website  (http://en.community.dell.com/techcenter/enterprise-client/w/wiki/3583.leverage-sccm-in-dell-factory-part-1-building-your-task-sequence.aspx)

It suggests to bring the target machine in a Workgroup, install all drivers and apps and power the machine off in the middle of the TS. As soon as the machine is Off it is ready to be shipped to the Client. At the Client side the machine is started again and the TS continues with connection to the Corpnet (so you can bring it to the domain, install updates etc…).

Sound nice, the only problem was how to stop the machine just in time. We must stop it when the machine is rebooting, I guess ideal time is during POST.

Simple Reboot step does not work because if we have multiple machines we cannot relay on Vendor tech shutting them down in time. If we set longer dialog time on Reboot step that did not help, because there is no “ok” button on the dialog window and the tech need to wait until the machine goes to reboot itself.

Dell uses their scripts to resolve it, but I do not have access to them, so I needed to master my own structure.

It looks like a simple popup dialog would be ok, but since TS is working under System account I never see the popup Sad smile

TO resolve the issue I use two scripts:

The first one invis.vbs (found somwhere on Internet, sorry cannot find source anymore) is just a wrapper to start the second one dialog.vbs, showing the dialog box.

Here are both scripts:

invis.vbs

set args = WScript.Arguments
num = args.Count

if num = 0 then
    WScript.Echo “Usage: [CScript | WScript] invis.vbs aScript.bat <some script arguments>”
    WScript.Quit 1
end if

sargs = “”
if num > 1 then
    sargs = ” “
    for k = 1 to num – 1
        anArg = args.Item(k)
        sargs = sargs & anArg & ” “
    next
end if

Set WshShell = WScript.CreateObject(“WScript.Shell”)

WshShell.Run “””” & WScript.Arguments(0) & “””” & sargs, 0, true

dialog.vbs

MsgBox “The system is ready to be shipped to a Customer. Click ok and power off when reboot.”

I put both scripts in a folder and created an SCCM package (without any Program). This Package I used in the TS I generated a Standalone Media from:

image

Here is the user (Vendor Tech) experience:

WP_20130801_005

dialog box pops up and waits for the Tech click Ok. After that the Machine goes to reboot and can be shut off as soon as enters POST. The only problem I have is the popup is BEHIND the TS Progress bar… Smile

After the Machine start in my corp environment the TS continues from “Join … to corp domain step”

SCCM: Installation from a USB-3 Standalone media fails on some computers

I recently bumped into an issue when an SCCM 2007  standalone media prepared from a standard New Computer TS failed on some laptops during post-image packages installation.

From the log analysis we saw package source files for the packages are not available. At that time TS is running in full OS. F8 showed that USB drive is not available!  but after pressing OK on Error popup and Windows reboot we could see the USB flash drive just fine Smile

It turned out to be some issue with USB-3 flash drive in USB-3 port.

Resolution 1: Use USB2 media

Resolution 2: Force USB-3 ports works as USB-2

Resolution 3: Plug the media in USB-2 port

SCCM: Automatically Populate the PATCH Property for the ConfigMgr Client Installation

 

Michael updated his script. The latest version is here (MDT integration is required).

SCCM 2012: Boot images not updated after upgrading to SP1 in System Center 2012 Configuration Manager

In my upgrade I did not see this issue, but it looks like some people have it. To resolve it:

  • Rename the boot.wim and the default boot wims in each architecture folder of the <smsinstall>OSD\boot\ folder – both the i386 and x64 to <wim>.bak
  • Starting with the i386 folder first…Find the install folder of the ADK, which should be here if you installed with the defaults: “C:\Program Files (x86)\Windows
    Kits\8.0\Assessment and Deployment Kit\Windows Preinstallation Environment\x86\en-us\winpe.wim”. You will need to copy the winpe.wim to the <smsinstall>OSD\boot\i386 folder. Rename it to boot.wim.
  • You will also need to copy it again, but this time rename it so it matches the name of the default boot wim for the site – so it should look like boot.<packageid>.wim
  • Update default boot image. Click “Execute Method” -> input object path as SMS_BootImagePackage.PackageID=”<Image ID you see in the Console e.g. POL00001>” -> UpdateDefaultImage
  • You will need to do this for the x64 folder as well. Do not do this for any custom boot images – this is just to update the default boot wims installed during setup of the site.

as described in Clifton Hughes blog

OSD:IE Customization

Internet Explorer Administration Kit (IEAK) can be used for IE customization/branding. IEAK for different versions  can be downloaded from here: http://technet.microsoft.com/en-us/ie/bb219517.aspx