Archive for category SCCM 2012

SCCM Task Sequence Error Code 0x80004005

While attempting to perform an in-place upgrade from Windows 7 Enterprise to Windows 10 Enterprise I came across Error Code 0x80004005.

Looking at C:\WINDOWS\CCM\Logs\smsts.log gave me the clues on the error message.

SCCM Error 1

There are many posts on how to fix this particular error message; it seems that this error code is pretty generic and it shows up on several instances in many SCCM operations – this document particularly deals with a task sequence for an in-place operating system upgrade.

Since this was an in-place Windows upgrade, I needed to find out more detailed information and I was able to get it from C:\$WINDOWS-BT\Sources\Panther this folder contains a list of .XML files that collect compatibility data that is collected during the upgrade process.

Win10UpgErrorLogLocation.png

I opened the last XML file and this gave me the actual clue as to what was failing during the upgrade process – video drivers were the culprit!

Win10UpgErrorLog.png

Now I know what’s going on during the task sequence and I can attempt to fix this issue.

I’ll blog about how to fix this issue in a new post, stay tuned!

, , , , , , ,

Leave a comment

WinPE Nic Drivers for DELL Optiplex 7050

While running the latest version of SCCM 2012 and latest up-to-date Boot Image, network drivers for DELL OptiPlex 7050 need to be injected in order for WinPE environment to work.

Luckily, storage and network drivers for the OptiPlex 7050 model can be found on DELL’s support site.

The following screenshot will show you the file you need to download.

3-22-2017 10-34-49 AM

Once you’ve downloaded it the CAB file, then go ahead and update your Boot Image file(s).

Leave a comment

Install Hyper-V Role to Windows Server 2012 R2 During OS Deployment

There are plenty of blogs about this subject, however, many of these blogs are outdated and some of their tips do not work properly for Windows Server 2012 R2. Also, in my case, I’m not using MSDT to install features and roles, but instead I’m using a captured WIM image.

To install Hyper-V role, just add a “Run Command Line” task, towards the end of the task sequence, Install Operating System task.

I’m using the following PowerShell command:

Powershell.exe -Command "& {&'Install-WindowsFeature' –Name Hyper-V -IncludeManagementTools -Restart}"

2016-10-28_1124

Also, here’s an interesting link that discusses this particular issue.

Leave a comment

Get Active Network Adapter

Recently I had the need to create a script to find out what was the active network adapter in our server, so after some ideas from the web, I came up with a one line PowerShell script that helped me achieve my goal.

Note: Get-NetAdapter is a PowerShell commandlet that’s present on Windows 8 and Windows Server 2012 R2. This command will not work on Windows 7.

Get-NetAdapter | Where-Object {($_.LinkSpeed -eq “1 Gbps”) -and ($_.Status -eq ‘Up’)}

In this line, I’m basically getting the adapter with status ‘Up’ and with a linkspeed equals to ‘1 Gbps’. One can change LinkSpeed property to match your server’s network adapter speed(s).

Leave a comment

Deploying Oracle JAVA

As of JAVA 8 Update 73, this is the easiest way I’ve found to deploy JAVA on a corporate environment.

  1. Download JAVA from here
    1. You’re going to select the Windows Offline download option
  2. Take a look at the many installation options now available for the JAVA EXEcutable file, those options can be found here
  3. From an elevated command line, you’re going to run the JRE executable file with the options you select from step 2
    1. Here’s just a sample command line (all in one line):
    2. jre-8u73-windows-i586.exe EULA=Disable INSTALL_SILENT=Enable AUTO_UPDATE=Disable REBOOT=Disable REMOVEOUTOFDATEJRES=1
    3. You should be able to find the meaning of each installation option by reading the document in step 2. In essence, I’m installing JAVA and accepting the EULA, a silent install with JAVA auto update disabled as well as removing any outdated installations of JAVA and finally rebooting is disabled.

JAVA Instal

Note: Here’s a great JAVA 8 deployment blog in case you need other means of installing it

 

For those using System Center Configuration Manager 2012 (SCCM 20120), one of the ways to create an application deployment would be to use ‘manual’ deployment type and use a script to install JAVA. In the script I used, I was able to use START /WAIT command to execute the JRE file.

Leave a comment

SCCM 2012 R2 SP1 & PXE-E53 Error(s)

In SCCM 2012, you may encounter the following PXE error message:

PXE-E53: No  boot filename received
PXE-M0F: Exiting Intel Boot Agent
Selected boot device failed. Press any key to reboot….

IMG_1755

Unfortunately, there are many instances that will generate the error message above; one of those instances is when you’ve not set your Windows PE x86 to deploy in your distribution point.

Yes, even if you’re using Windows PE (x64), you must enable the (x86) version. (see below)

9-21-2015 12-03-34 PM

, , , , , , ,

Leave a comment

Deploy AutoDesk Building Design Suite Premium 2015 with SCCM 2012

In this post, I’m going to go over the deployment of AutoDesk Building Design Suite Premium 2015 using SCCM 2012.

  1. You’re going to use AutoDesk BDSP setup wizard to create the ‘image’ folder using AutoCAD’s own image building process. This process will allow you to perform a standard, or custom, installation of AutoDesk’s applications and features, so I’m not going into details about this. At the end of this process, AutoDesk’s wizard will create a SMS_SCCM scripts folder which contains text files that will allow you to install and un-install BDSP; we’re going to use these text files for the deployment.
  2. The SCCM client imposes a folder size on C:\Windows\ccmcache folder, so we’re going to have to use another script to call the installation process scripts created in step 1.
INSTALL.BAT (calls the script created by BDSP in step 1)

@ECHO OFF

REM MAP NETWORK SHARE DRIVE
REM THIS COMMAND ASSUMES THAT THE USER HAS ACCESS TO THIS SHARE
REM ALL USERS SHOULD HAVE READ ACCESS TO THE SHARE
NET USE X: “\\ServerName\LocationOfBDSPfiles” /user:SomeUser SomePassword

REM CHANGE DRIVES
X:

REM INSTALL AUTODESK BUILDING DESIGN SUITE STANDARD 2015
.\Img\Setup.exe /W /q /I Img\AutoDesk BDS Premium 2015.ini /language en-us

REM REMOVE DESKTOP SHORTCUTS

DEL /Q “C:\Users\Public\Desktop\3ds Max Design 2015.lnk”
DEL /Q “C:\Users\Public\Desktop\AutoCAD*.lnk”
DEL /Q “C:\Users\Public\Desktop\Autodesk*.lnk”
DEL /Q “C:\Users\Public\Desktop\Navisworks Simulate 2015.lnk”
DEL /Q “C:\Users\Public\Desktop\Raster Design 2015*.lnk”
DEL /Q “C:\Users\Public\Desktop\Revit 2015.lnk”

REM CHANGE BACK TO C: DRIVE
C:

REM REMOVE NETWORK SHARE DRIVE
NET USE X: /DEL


I use the previous script in SCCM to create the deployment package.




Here’s what I use for a Detection Method, basically I’m looking for BDSP executable files on the target computer.



This process works well for my environment.

Make a note that this installation may take hours (2-4)…



Leave a comment

Deploy Windows Server 2008 R2 with SCCM 2012 and MDT 2013

In this article I’m going to show how to create a SCCM 2012 task sequence to deploy Windows Server 2008 R2 using Microsoft Deployment Toolkit 2013.

 
MDT 2013 has some features not found in SCCM 2012, such as installing Windows Server 2008 Roles and Features during a task sequence.
 
First, let’s get all the requirements out of the way.
Important: this document assumes that you have a working SCCM environment, and that you have a good background with SCCM 2012.
  1. Make sure to have an Operating System Images and an Operating System Installers ready for Windows Server 2008 R2 already installed in SCCM
  2. Download, install and configure Microsoft Deployment Toolkit 2013 (Make sure to perform these steps on the SCCM server!)
    1. Make sure MDT is properly installed

  3. Once you make sure that MDT is properly installed, then you need to create a MDT package in SCCM
    1. Basically, from the MDT installation folder, you’re going to copy the following folders to a network share that you’ll use to create the SCCM package: Control, Scripts, Servicing and Tools
    2. Once in the create package wizard, make sure you select This package contains source files and point it to the network share you created in step 2.1
    3. In the Program Type screen, select Do not create a program
    4. Once finished, make sure to Distribute Content
  4. Make sure these steps are done properly or you’ll have major issues with the rest of this how-to. I found some great information about creating an MDT package on this link
 
Create MDT Task Sequence for Windows Server 2008 R2
  1. Click on Create MDT Task Sequence
  2. In the Choose Template screen, select Server Task Sequence
  3. In the General screen, provide a name and description for the task sequence
  4. In the Details screen, provide the domain and domain account that will be used to join such domain. Also provide organization name and product key number for the installation of the server OS
  5. In Capture Settings screen, select This task sequence will never be used to capture an image
  6. In Boot Image screen, select your WinPE boot image, in my case that will be Boot image (x64)
  7. In MDT Package screen, you’re going to select the MDT package created earlier in this how-to (this portion will either make or break this how-to)
  8. In OS Image screen, select the Windows Server 2008 R2 WIM file (Described in requirements step 1)
  9. In OS Image Index, select the version of server you want to run, in my case it will be Sever 2008 R2 Enterprise
  10. In Client Package, select the SCCM client package that you’ve been using in your environment
  11. In Settings Package screen, in my case I selected just any package from the list…because I’m going to disable these tasks later on
  12. In Sysprep Package, there’s only one option already selected, so just hit Next button
  13. Hit Next until you get to Finish
Next, I’m going to Edit the previously created task sequence.
If you completed the requirements, you should not have any problems following these screenshots.
 
I deploy Windows Server 2008 R2 with only one partition, and that partition is labeled as Local Disk and uses drive letter C
Format & Partition Disk.png
Drive Letter Variable.png
Note: Grayed out steps are those that I do not use in my deployments. You’ll see that there are many steps grayed out by me, it’s up to you to disable them for your environment
Back in step 11, I asked you to pick any package from the list because I was going to disable it in the task sequence. Now, go through every single step in this task sequence and disable that package you selected for step 11. Again, this works for me and my environment.
There is one exception to this rule though, and you’ll see it soon!
In this step, we’re going to enable the Gather step found in the Install\Refresh Only section. Here’s the exception I mentioned earlier.
Gather

 

Also, pay close attention to the following fields in Apply Operating System Image section:

  • Destination – Logical drive letter stored in a variable
  • Variable name – System
    • System is used for drive letter, in this case C:

Apply Operating System

Next, we’re going to configure the Apply Windows Settings section.
Here, you’re going to type your company’s name and user name for this server, also you’ll need the server’s product key numbers.
In our environment, we have a licensing server, so I set the Licensing server field to Do not specify. Make sure you set the Time Zone as well.

Apply OS Settings

Now, we’re going to Apply Network Settings to our server installation.
This section will allows us to join this server to the domain. You can specify your domain name and the domain organizational unit (OU) where the server account can be placed.
The account used to join the server to the domain can be just a regular domain account.

Apply Network Settings
We’re now going to load drivers to our server installation, this is a nice to have option, but not required. Obviously, you have to have the driver packages created previously.

Apply Driver Package
Next, we’re going to load the SCCM client to our server installation. In this section, I’m loading the default SCCM client, which comes with SCCM installation, and I’m also installing a hotfix for the SCCM client.

 

Install SCCM Client

 
Now, we’re getting to the section where we’ll be adding server roles and features. As a matter of fact, this is the main reason why I decided to use MDT to deploy my Windows 2008 R2 servers.
Roles and FeaturesNote: It’s very important to make sure that Use Toolkit Package, Gather and Tattoo steps precede the Install Roles and Features section.
This section is pretty much self explanatory, just select the server roles and features you want to add then continue.

I have disabled some section (New Computer Only and Capture the Reference Machine) on purpose, you don’t have to to that.


See you all next time! 🙂
 
 
 
 
 
 
 
 
 

6 Comments

Pin & Unpin Icons To The Windows 7 Taskbar

During the deployment of Windows 7, I was given the task to find out a way to pin and unpin icons to the taskbar.


Well, the process is rather easy, but it takes two steps.
  1. Find out the verbs associated with the application you want to pin/unpin to the taskbar.
  2. Execute the proper verb that will pin or unpin the application.
Note: This code isn’t mine, I modified it a bit to suit my needs

1. Let’s find the verbs

Here’s the VB code that handles that:

Const CSIDL_COMMON_PROGRAMS = &H17 
Const CSIDL_PROGRAMS = &H2 
Set objShell = CreateObject(“Shell.Application”) 
Set objScript = CreateObject( “WScript.Shell” )

REM The original code had the following line as part of it
REM Set objFolder = objShell.Namespace(“C:\Program Files\Internet Explorer”)

REM In my case, I’m pointing directly to the user path where all taskbar shortcut files are located
Set objFolder = objShell.Namespace(“C:\Users\” & objScript.ExpandEnvironmentStrings ( “%USERNAME%” ) & “\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar”)

REM I want to see a list of verbs pertaining to IE link file
Set objFolderItem = objFolder.ParseName(“Internet Explorer.lnk”) 
Set colVerbs = objFolderItem.Verbs 

For Each objVerb in colVerbs 
    Wscript.Echo objVerb 
Next
You can get verbs from .exe or .lnk files.
Here’s the output for that code (the output will change based on your computer):
cscript /nologo GetVerbs.vbs
&Open
Open file locat&ion
&Enable/Disable Digital Signature Icons
Run as &administrator
Edit with &Notepad++
Scan with System Center 2012 Endpoint Protection…
Unpin from Tas&kbar
Pin to Start Men&u
Restore previous &versions

Cu&t
&Copy
Create &shortcut
&Delete
Rena&me
P&roperties
2. Let’s pin, or unpin, to the taskbar
The code that handles pinning or unpinning to the taskbar is here:
Const CSIDL_COMMON_PROGRAMS = &H17 
Const CSIDL_PROGRAMS = &H2 
Set objShell = CreateObject(“Shell.Application”) 
Set objScriptShell = CreateObject( “WScript.Shell” )

REM Unpin Internet Explorer 64-bit from the taskbar
Set objFolder = objShell.Namespace(“C:\Users\” & objScriptShell.ExpandEnvironmentStrings ( “%USERNAME%” ) & “\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar”)

Set objFolderItem = objFolder.ParseName(“Internet Explorer (64-bit).lnk”) 
Set colVerbs = objFolderItem.Verbs

For Each objVerb in colVerbs 
    If Replace(objVerb.name, “&”, “”) = “Unpin from Taskbar” Then objVerb.DoIt 
Next

REM Pin Internet Explorer to the taskbar
Set objFolder = objShell.Namespace(“C:\Program Files (x86)\Internet Explorer”)

Set objFolderItem = objFolder.ParseName(“iexplore.exe”) 
Set colVerbs = objFolderItem.Verbs

For Each objVerb in colVerbs 
    If Replace(objVerb.name, “&”, “”) = “Pin to Taskbar” Then objVerb.DoIt 
Next
As soon as the script finishes the results are shown in the taskbar.

Leave a comment

Deploy Adobe Acrobat Reader XI (11.0.03) Using SCCM 2012 SP1

There are several blogs on this topic; however, some seem to be lacking one or more details or may not show how to patch and customize Adobe Acrobat Reader XI. In this blog, I will show you how to patch, customize and deploy, via SCCM, Adobe Reader XI (11.0.03).

Pre-requisite: Make sure you have installed Adobe Customization Wizard XI

  1. Download the latest version of Acrobat Reader from Adobe’s FTP site.
    1. The direct FTP link is: ftp://ftp.adobe.com/pub/adobe/reader/win/11.x/11.0.03/en_US/
  2. We’re going to download the EXE file: AdbeRdr11003_en_US.exe
  3. Next, from an administrator command line, we’re going to extract the MSI from the EXE file using the following command: AdbeRdr11003_en_US.exe -nos_o”c:\SomeDirectory” -nos_ne
    1. Do not close this command line window as we’ll use it again.
    2. For this example I’m extracting the contents to C:\temp\Adobe XI (11.0.03) folder.

  4. Once we’ve extracted the source files from the EXE file, then let’s run (as an administrator) the Adobe Customization Wizard XI to create the MST file that we’re going to use to customize Adobe Reader XI.
    1. If the customization wizard isn’t run as an administrator, you won’t be able to save the package.
  5. Basically, we’re going to make changes in the the following sections:
    1. Personalization Options
    2. Installation Options
    3. Shortcuts
    4. WebMail Profiles
    5. Online and Adobe online services Features

  6. Once the customization options have been completed, proceed to click on Transform menu option then click on Generate Transform…
    1. Save the MST file in the same folder where the Adobe Reader MSI exists.
    2. For this example, we’re going to save this file as AcroRead.mst
  7. Next, click on File and then click on Save Package.
  8. Back to the command line and let’s create an Application Installation Point (AIP) in order to patch Acrobat Reader.
    1. In the folder where the MSI file was extracted, you’ll notice that file AdbeRdrUpd11003.msp is located there – that’s our patch file that we’ll be applying.
    2. For this example we’re going to create a new folder – C:\AdobeAIP
  9. From the command line, in step 3, we’re going to create the AIP with the following command: msiexec /a AcroRead.msi
    1. Once the wizard comes up, make sure to point it to the folder created in step 8.2
    2. Make sure you run this command from the folder in step 3.
    3. Take a look at the files extracted
  10. Change directory to folder C:\AdobeAIP
  11. Now we’re ready to patch the Acrobat Reader source files, let’s use the following command: msiexec /a AcroRead.msi /p “c:\temp\Adobe XI (11.0.03)\AdbeRdrUpd11003.msp”
    1. This will open a wizard window; make sure there are no error messages during this task.

  12. If the patching process was successful, then we should now have a patched Acrobat Reader XI installation as well as a customization file.
  13. From Step 3 folder (C:\temp\Adobe XI (11.0.03)), copy the MST file to the Step 6 folder (C:\AdobeAIP)
  14. At this time, folder C:\AdobeAIP should contain a patched Acrobat Reader  XI as well as the customization file. We’re going to use the contents of folder C:\AdobeAIP as our deployment files to create our SCCM 2012 deployment package.
  15. Copy all contents of C:\AdobeAIP to the share that SCCM uses to deploy applications in your environment.
  16. Let’s create a new application deployment package in SCCM. First, go to the Software Library section, and click on Application Management and then click on the Applications container to create the new package.
  17. Right click on the Applications container then click on Create Application option.
  18. Point to the network share where you copied the files in Step 15 and select the file AcroRead.msi
    1. You may get a warning message about not being able to verify the publisher of this MSI file, just click on Yes.
  19. In the General Information wizard screen, in the Installation program field, add the following:TRANSFORMS=”AcroRead.mst”
    1. This line should read: msiexec /i “AcroRead.msi” TRANSFORMS=”AcroRead.mst” /q

  20. Continue accepting defaults until the application wizard finishes.
  21. Now, you can deploy this new application to a selected number of computers or users.


Supersedence Notes
In my environment, I’m replacing, or superseding, and older version of Adobe Acrobat Reader. Here’s a quick screenshot on how it’s done.


36 Comments