Quantcast
Channel: Deployment Research - Johan Arwidmark
Viewing all 168 articles
Browse latest View live

Whats new in the September 2014 release of Windows ADK 8.1

$
0
0

On September 15, 2014 – Microsoft made the fourth release of Windows ADK 8.1 available. As usual without any explanation on what’s been changed :)

Windows ADK 8.1 history

First release, September 2013: 2.79 GB in size

Initial release, contained ACT 6.0, WinPE 5.0, and USMT 6.3

Second release, October 2013: 2.85 GB in size, subversion 8.100.26020 (Patches folder)

No new versions, just bug fixes.

Third release, April 2014: 2.97 GB in size, subversion 8.100.26629 (Patches folder)

In this release ACT was updated to 6.1, and a package to update WinPE to 5.1 was made available. The other updates was basically bug fixes.

Fourth release, September 2014: 2.97 GB in size, subversion 8.100.26866 (Patches folder)

Bug fixes and updates to the documentation (EULAs). Still ACT 6.1 and WinPE 5.0 with WinPE 5.1 update option.


image
The updated Patches folder.

 

Download the fourth release

For an offline download, simply download the adksetup.exe file to a temporary location, and run adksetup.exe /layout C:\tmp\offlineADK81.

image
The Windows ADK 8.1 folder once all bits are downloaded.

 

Upgrading to the September 2014 release of Windows ADK 8.1

To upgrade to the latest version, run adksetup, and run through the setup wizard.

image
Upgrading to the latest version of Windows ADK 8.1.

 

What files are new in the fourth release

As in the previous updates the Installers folder is exactly the same, and it’s in the Patches folder you find the updates. The following files are updated in this release (compared with the April 2014 release)

assessments on client-x86_en-us.msp
assessments on server-x86_en-us.msp 
toolkit documentation-x86_en-us.msp
user state migration tool-x86_en-us.msp
windows assessment services-x86_en-us.msp
windows assessment toolkit-x86_en-us.msp
windows deployment tools-x86_en-us.msp
windows pe x86 x64-x86_en-us.msp
windows system image manager on amd64-x86_en-us.msp
windows system image manager on x86-x86_en-us.msp
wpt redistributables-x86_en-us.msp
wptx64-x86_en-us.msp
wptx86-x86_en-us.msp

I’ll keep updating this post with more info…

/ Johan


More ...

Error during Windows 8.1 Setup - Could not process or parse unattend answer file

$
0
0

Earlier today I got an email from a fellow deployment geek having issues with Windows 8.1 deployments. He had an unattend file that worked perfect for Windows 7 deployments, but failed when deploying Windows 8.1. Now, it’s simply comes down to that Windows 8.1 does not support all unattend.xml settings that Windows 7 does.

So far the most issues are caused by the IEWelcomeMessage or ShowMenuBar values being set. The solution, simply get rid of them.

Step-by-step guide

  1. Start Windows System Image Manager (WSIM) and open your unattend.xml file.
  2. In WSIM, in the Answer File pane, expand the 4 specialize node, and select the amd64_Microsoft-Windows-IE-InternetExplorer_neutral entry.
  3. In the amd64_Microsoft-Windows-IE-InternetExplorer_neutral properties (right-hand window), right-click the IEWelcomeMessage property and select Revert Change.
  4. Repeat for ShowMenuBar setting in amd64_Microsoft-Windows-IE-InternetExplorer_neutral entry if needed.

 

WIN8Error
The “famous” error message.


More ...

Installing CU3 for ConfigMgr 2012 R2

$
0
0

Earlier today the CU3 update for ConfigMgr 2012 R2 was released, containing a few nice to have fixes for ConfigMgr.

The full list of fixes, and link to request the hotfix is available here: http://support.microsoft.com/kb/2994331

Backup your Site Server

Before continuing, make sure you have a SQL Backup of the Site Server. The update will update the site server database by default.

Running the CU3 Setup

Installing the CU3 update is the same process as previous updates. You make sure you have a SQL Backup of the Site Server, and that there are no pending reboots. You can use this PowerShell script to verify prior to running the setup: http://gallery.technet.microsoft.com/scriptcenter/Get-PendingReboot-Query-bdb79542   Or the update will warn you if needed, or simply reboot the site server before installing the update.

image
Checking pending reboots prior running the update (don’t forget to “dot sourcing” the script”).

After that, simply run the setup (CM12-R2CU3-KB2994331-X64-ENU.exe) and navigate through the wizard.

image
Running the setup.

image
Setup completed successfully.

Update your ConfigMgr Client Package

Since both CU1 and CU2 has been released you probably have a good understanding about how to update the client package. You can either use SCUP 2011 to do it, and/or just update your existing client package with the new files. As with the previous updates, the setup will help you create update packages that you can deploy. After updating the client, the updated components have version 5.00.7958.1401.

image
The updated client.

Update your Task Sequence

The Task Sequence components of the client or also updated which means you should configure your task sequence to install the latest components. I like to that with the PATCH command in the Setup Windows and ConfigMgr action: PATCH="C:\_SMSTaskSequence\OSD\PS10000C\Hotfix\x64\configmgr2012ac-r2-kb2994331-x64.msp

image
Configure the task sequence to install the latest client updates.

/ Johan


More ...

Sample files and links from The Ultimate Event II roadshow

$
0
0

Here are samples files and links I demonstrated during The Ultimate Event II roadshow that took place during September 22 – 26, 2014.

Scripts from Mikael's demos are found here: http://deploymentbunny.com/2014/09/25/sample-files-and-links-from-the-ultimate-event-ii-roadshow/

Session 01

Client health and troubleshooting

How to get SMART data from Windows 8.1 machines using PowerShell

# Show Disk Health
Get-Disk 0 | Get-StorageReliabilityCounter

The xperf and xbootmgr commands used in the Windows Performance Toolkit demo.

xperf -profiles
Xperf –start perf!GeneralProfiles.InBuffer 
xperf –stop perf!GeneralProfiles.InBuffer C:\Demo\trace.etl 
Xperf trace.etl 
xbootmgr -trace boot 

PowerShell commands to read reliability history information was gathered from the following posts:

https://www.myotherpcisacloud.com/post/2012/01/09/Using-Powershell-to-Monitor-Windows-Reliability-Data.aspx (by Ryan Ries)

http://technet.microsoft.com/en-us/magazine/dd535685.aspx (by Jason Leznek)

Session 03

The script that exported task sequences was gathered from the following post:

http://trevorsullivan.net/2010/05/13/exporting-configmgr-task-sequences (by Trevor Sullivan)

The script that imported task sequences was gathered from the following post:

http://www.david-obrien.net/2012/09/29/how-to-backup-restore-your-tasksequenceconfiguration-manager-2012-and-powershell (by David O’Brien)

The New-TaskSequence.ps1 script that created native task sequence in ConfigMgr 2012 was gathered (and then modified a bit) from the following post:

http://www.jamesbannanit.com/2014/09/create-an-os-deployment-task-sequence-in-configuration-manager-2012-with-powershell (by James Bannan)

Here is the modified script:

Import-Module (Join-Path $(Split-Path $env:SMS_ADMIN_UI_PATH) ConfigurationManager.psd1)
cd PS1:

# Define Configuration Manager variables
 
$CMSiteCode = 'PS1'
$CMSiteServer = 'CM01.corp.viamonstra.com'
$CMNameSpace = "root\SMS\site_$CMSiteCode"

$Password = 'P@ssw0rd'
$DomainPassword = ConvertTo-SecureString -AsPlainText $Password -Force
$LocalAdminPassword = ConvertTo-SecureString -AsPlainText $Password -Force

 
# 1.0 Get Deployment Objects
 
$BootImageID = (Get-CMBootImage -Name 'Zero Touch WinPE 5.0 x64').PackageID
$OSImageID = (Get-CMOperatingSystemImage -Name 'Windows 8.1 Enterprise x64').PackageID
$ClientPackageID = (Get-CMPackage -Name 'ConfigMgr Client with Hotfixes').PackageID
  
# 1.1 Create Task Sequence
 
New-CMTaskSequence -InstallOperatingSystemImageOption `
  -TaskSequenceName 'Deploy Windows 8.1 x64 Enterprise' `
  -BootImagePackageId $BootImageID `
  -OperatingSystemImagePackageId $OSImageID `
  -OperatingSystemImageIndex '1' `
  -ClientPackagePackageId $ClientPackageID `
  -JoinDomain DomainType `
  -DomainName 'corp.viamonstra.com' `
  -DomainAccount 'VIAMONSTRA\CM_JD' `
  -DomainPassword $DomainPassword `
  -DomainOrganizationUnit 'LDAP://OU=Workstations,DC=corp,DC=viamonstra,DC=com' `
  -PartitionAndFormatTarget $true `
  -LocalAdminPassword $LocalAdminPassword

New-CMTaskSequence -InstallOperatingSystemImageOption -BootImagePackageId "PS100007" -TaskSequenceName "InstallOStask01" -OperatingSystemImagePackageId "PS100006" -OperatingSystemImageIndex "1" -JoinDomain WorkgroupType  -WorkgroupName "ViaMonstra" -UserStateMigrationToolPackageID "PS100001" 

The New-MDTProductionDS.ps1 script to build a deployment share in MDT 2013.

<#
Script name: 
Created:     2013-12-16
Version:     1.2
Author       Mikael Nystrom and Johan Arwidmark       
Homepage:    http://www.deploymentfundamentals.com

Disclaimer:
This script is provided "AS IS" with no warranties, confers no rights and 
is not supported by the authors or DeploymentArtist.

Author - Mikael Nystrom
    Twitter: @mikael_nystrom
    Blog   : http://deploymentbunny.com

Author - Johan Arwidmark
    Twitter: @jarwidmark
    Blog   : http://deploymentresearch.com
#>

# Check for elevation
If (-NOT ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole(`
    [Security.Principal.WindowsBuiltInRole] "Administrator"))
{
    Write-Warning "Oupps, you need to run this script from an elevated PowerShell prompt!`nPlease start the PowerShell prompt as an Administrator and re-run the script."
    Write-Warning "Aborting script..."
    Break
}

#Set Variables
$ComputerName = $Env:COMPUTERNAME
$RootDrive = "C:"

# Validation, verify that we have all files, and that the deployment share doesnt exist already
if (!(Test-Path -Path "$RootDrive\Setup\MDTProduction")) {Write-Warning "Could not find MDT Production sample files, aborting...";Break}
if (!(Test-Path -Path "$RootDrive\Setup\Downloads\Application Import\Install - HP Service Pack - x86-x64")) {Write-Warning "Could not find HP Service Pack, aborting...";Break}
if (!(Test-Path -Path "$RootDrive\Setup\Drivers\Windows Server 2012 R2\Proliant ML350p Gen8")) {Write-Warning "Could not find Windows Server 2012 R2 drivers, aborting...";Break} 
if (!(Test-Path -Path "$RootDrive\Setup\Drivers\WinPE x64")) {Write-Warning "Could not find WinPE drivers, aborting...";Break}
if (!(Test-Path -Path "$RootDrive\MDTBuildLab\Captures\REFWS2012R2-001.wim")) {Write-Warning "Could not find REFWS2012R2-001.wim, aborting...";Break}
if (!(Test-Path -Path "$RootDrive\MDTBuildLab\Operating Systems\WS2012R2\setup.exe")) {Write-Warning "Could not find Windows Server 2012 R2 setup files, aborting...";Break}

# Validation, verify that the deployment share doesnt exist already
$MDTProductionShareExist = Get-SmbShare | Where-Object -Property Name -Like -Value 'MDTProduction$'
If ($MDTProductionShareExist.Name -eq 'MDTProduction$'){Write-Warning "MDTProduction$ share already exist, aborting...";Break}
if (Test-Path -Path "$RootDrive\MDTProduction") {Write-Warning "$RootDrive\MDTProduction already exist, aborting...";Break}

# Validation, verify that the PSDrive doesnt exist already
if (Test-Path -Path "DS002:") {Write-Warning "DS002: PSDrive already exist, aborting...";Break}

# Create the MDT Production Deployment Share root folder
New-Item -Path $RootDrive\MDTProduction -ItemType directory

# Create the MDT Production Deployment Share
Import-Module "$RootDrive\Program Files\Microsoft Deployment Toolkit\bin\MicrosoftDeploymentToolkit.psd1"
new-PSDrive -Name "DS002" -PSProvider "MDTProvider" -Root "$RootDrive\MDTProduction" -Description "MDT Production" -NetworkPath "\\$ComputerName\MDTProduction$" | add-MDTPersistentDrive

New-SmbShare –Name MDTProduction$ –Path "$RootDrive\MDTProduction" –ChangeAccess EVERYONE

#Create Logical Folder Structure
New-Item -Path "DS002:\Operating Systems" -enable "True" -Name "Windows Server 2012 R2" -Comments "" -ItemType "folder"
New-Item -Path "DS002:\Task Sequences" -enable "True" -Name "Windows Server 2012 R2" -Comments "" -ItemType "folder"
New-Item -Path "DS002:\Applications" -enable "True" -Name "HP" -Comments "" -ItemType "folder"
New-Item -Path "DS002:\Out-of-Box Drivers" -enable "True" -Name "WinPE x64" -Comments "" -ItemType "folder"
New-Item -Path "DS002:\Out-of-Box Drivers" -enable "True" -Name "Windows Server 2012 R2" -Comments "" -ItemType "folder"
New-Item -Path "DS002:\Out-of-Box Drivers\Windows Server 2012 R2" -enable "True" -Name "Proliant ML350p Gen8" -Comments "" -ItemType "folder"

#Update ControlFiles
Copy-Item "$RootDrive\Setup\MDTProduction\Control\Bootstrap.ini" "$RootDrive\MDTProduction\Control" -Force
Copy-Item "$RootDrive\Setup\MDTProduction\Control\CustomSettings.ini" "$RootDrive\MDTProduction\Control" -Force

#Import Applications
Import-MDTApplication -Path "DS002:\Applications\HP" -enable "True" -Name "Install - HP Service Pack - x86-x64" -ShortName "Install - HP Service Pack - x86-x64" -Version "" -Publisher "" -Language "" -CommandLine "cscript.exe Install-HPServicePackx86x64.wsf" -WorkingDirectory ".\Applications\Install - HP Service Pack - x86-x64" -ApplicationSourcePath "$RootDrive\Setup\Downloads\Application Import\Install - HP Service Pack - x86-x64" -DestinationFolder "Install - HP Service Pack - x86-x64"

#Import Drivers for OS
Import-MDTDriver -Path "DS002:\Out-of-Box Drivers\Windows Server 2012 R2\Proliant ML350p Gen8" -SourcePath "$RootDrive\Setup\Drivers\Windows Server 2012 R2\Proliant ML350p Gen8"

#Import Drivers for WinPE
Import-MDTDriver -Path "DS002:\Out-of-Box Drivers\WinPE x64" -SourcePath "$RootDrive\Setup\Drivers\WinPE x64"

#Import Custom Image
Import-MDTOperatingSystem -Path "DS002:\Operating Systems\Windows Server 2012 R2" -SourceFile "$RootDrive\MDTBuildLab\Captures\REFWS2012R2-001.wim" -DestinationFolder "WS2012R2" -SetupPath "$RootDrive\MDTBuildLab\Operating Systems\WS2012R2"

$ImageName = Get-ChildItem -Path 'DS002:\Operating Systems\Windows Server 2012 R2' | Where-Object -Property ImageFile -Like -Value '*REFWS2012R2-001.wim'
$ImageLabel = $ImageName.Name 

Rename-Item -Path "DS002:\Operating Systems\Windows Server 2012 R2\$ImageLabel" -NewName 'Windows Server 2012 R2 Standard'

#Create WinPE Selection Profile
New-Item -Path "DS002:\Selection Profiles" -enable "True" -Name "WinPE x64" -Comments "" -Definition "" -ReadOnly "False"

#Create TaskSequence
Import-MDTTaskSequence -Path "DS002:\Task Sequences\Windows Server 2012 R2" -Name "Windows Server 2012 R2 Standard" -Template "Server.xml" -Comments "Production deployment" -ID "WS2012R2-001" -Version "1.0" -OperatingSystemPath "DS002:\Operating Systems\Windows Server 2012 R2\Windows Server 2012 R2 Standard" -FullName "ViaMonstra" -OrgName "ViaMonstra" -HomePage "about:blank"

#Configure DeploymentShare
Set-ItemProperty -Path DS002: -Name SupportX86 -Value 'False'
Set-ItemProperty -Path DS002: -Name Boot.x64.ScratchSpace -Value '512'
Set-ItemProperty -Path DS002: -Name Boot.x64.IncludeAllDrivers -Value 'True'
Set-ItemProperty -Path DS002: -Name Boot.x64.SelectionProfile -Value 'WinPE x64'
Set-ItemProperty -Path DS002: -Name Boot.x64.LiteTouchWIMDescription -Value 'MDT Production x64'
Set-ItemProperty -Path DS002: -Name Boot.x64.LiteTouchISOName -Value 'MDT Production x64.iso'

#Update DeploymentShare
Update-MDTDeploymentShare -Path "DS002:"

d


More ...

Fix for installing Windows Technical Preview via PXE on Gen 2 VM

$
0
0

If you try to PXE boot a Windows Technical Preview VM running on Hyper-V in Windows Server 2012 R2, you are greeted by a nice error message: Boot Failed. EFI Network. Failed Secure Boot Verification.

The simple fix

Until there is an update available turn off secure boot for the Gen 2 VM.

secure
Disabling Secure Boot.

PXE
The error when secure boot is still enabled.


More ...

Beyond unsupported - Deploying Windows Technical Preview with MDT 2013

$
0
0

Why Microsoft decided not to ship any deployment tools when Enterprise companies are supposed to evaluate Windows Technical Preview I have no idea. But I don’t work for Microsoft so I guess I’m not supposed to understand those things…

Anyway, if you try to deploy Windows Technical Preview using MDT 2013 and Windows ADK 8.1 it fails by default because the servicing stack version is wrong.

Update 2014-10-02: For support for adding roles and features, check the comment from Seth Lerman (in the comments section).

The fix

First, this is not supported so don’t blame me if something is not working.

Second, the fix is to simply have the the task sequence copy the right servicing stack to the WinPE 5.0 boot image.

On your MDT server, copy the dism.exe and DISM folder from a x64 WTP boot.wim file to your deployment share, in my case E:\MDTProduction\Tools\x64.

The dism.exe file and DISM folder are found in the X:\Windows\System32 on your boot image (once booted), or E:\Mount\Windows\System32 if you just mounted the boot.wim.

image
The needed files, copied to the deployment share.

After copying the files, add two run command line actions to your Windows Technical Preview task sequence (and only this task sequence).

Copy WTP dism.exe
cmd /c copy %deployroot%\tools\%architecture%\dism.exe x:\windows\system32\ /y

Copy WTP DISM subsystem
cmd /c copy %deployroot%\tools\%architecture%\dism\*  x:\windows\system32\dism /y

image
The additional actions in the task sequence.


More ...

Beyond unsupported - Deploying Windows 10 preview (including drivers) with ConfigMgr 2012 R2

$
0
0

Like the MDT 2013 Lite Touch post from yesterday, here is the same info but for ConfigMgr 2012 R2. In this post you find step-by-step guidance on how to deploy the Windows 10 preview, including driver injection support, with ConfigMgr 2012 R2 (integrated with MDT 2013 of course).

I also encourage you to read Niall Brady’s guide on the topic: How can I deploy Windows 10 Enterprise using System Center 2012 R2 Configuration Manager.

If you don’t do the setup explained in this post, ConfigMgr 2012 R2 will fail with the following errors when trying to inject drivers during deployment of Windows 10 preview.

Dism failed with return code 50 
Failed to add driver to driver store. Code 0x80070032   
Failed to provision driver. Code 0x80070032   

image
The smsts.log file, showing driver injection failure

 

Step-by-step guide

First, this is not supported so don’t blame me if something is not working.

Second, to make ConfigMgr 2012 R2 (integrated with MDT 2013) work with Windows 10 preview image, including driver injection, you need to make sure WinPE 5.0 is updated with the new dism.exe and sub-components required to do offline servicing (otherwise driver injection fails). The trick is to simply have the the task sequence copy the right servicing stack to the WinPE 5.0 boot image, when deploying Windows 10 operating systems.

On your file share you use for your MDT 2013 package source files, copy the dism.exe and DISM folder from a x64 WTP boot.wim file to MDT 2013 package, in my case \\CM01\Sources\MDT\MDT 2013\Tools\x64. The dism.exe file and DISM folder are found in the X:\Windows\System32 on your boot image (once booted), or E:\Mount\Windows\System32 if you just mounted the boot.wim.

 image
The needed files, copied to the MDT 2013 package.

After copying the files, add two run command line actions to your Windows Technical Preview task sequence (and only this task sequence).

Copy WTP dism.exe
cmd /c copy %deployroot%\tools\%architecture%\dism.exe x:\windows\system32\ /y

Copy WTP DISM subsystem
cmd /c copy %deployroot%\tools\%architecture%\dism\*  x:\windows\system32\dism /y

 image
The additional actions in the task sequence.

Driver injection is now successful for Windows Technical Preview deployments


More ...

Offline Virus Scanning in a ConfigMgr 2012 R2 Task Sequence

$
0
0

Ever wanted to have ConfigMgr 2012 R2 (SCCM) scan for virus in a machine that is offline? Look no further, Windows Defender Offline will help you…

Step-by-step guide

To add Windows Defender Offline you do the following:

  • Download Windows Defender Offline
  • Download the latest definition updates
  • Create a ConfigMgr package that contains Defender Offline
  • Create a task sequence that runs the virus scan

Step 1  - Download Windows Defender Offline

Download the x64 versions of the Offline Defender tool as well as the offline defender package and save them to a temporary location. I used C:\Tmp.

 

Step 2 – Download the latest definition updates

Download the latest definition updates, save them to C:\Tmp, and then rename mpam-fe.exe to mpam-fex64.exe.

image
Offline defender package and latest definitions downloaded.

 

Step 3 - Create a ConfigMgr package that contains offline defender

Get the needed files

  1. Create a source folder for your Offline Defender package, I used \\CM01\Sources\OSD\OfflineDefender in this example.
  2. Download the Run-WDO.wsf sample vbscript wrapper to \\CM01\Sources\OSD\OfflineDefender
  3. Copy the ZTIUtility.vbs script from your MDT 2013 files package to \\CM01\Sources\OSD\OfflineDefender
  4. Copy the mpam-fex64.exe file to \\CM01\Sources\OSD\OfflineDefender
  5. Create a Sources subfolder in \\CM01\Sources\OSD\OfflineDefender
  6. Using 7-Zip, extract the downloaded imagepackage64.exe to C:\Tmp
  7. Using ImageX or DISM, mount the C:\Tmp\imagepackage64\sources\boot.wim file to a folder. I used C:\Tmp\Mount.
  8. Copy the C:\Tmp\mount\Program Files\Microsoft Security Client folder to \\CM01\Sources\OSD\OfflineDefender\Sources, and then unmount the boot.wim file.

Create a standard ConfigMgr package named Offline Defender, with no program, distribute the content.

image
Package source for my Offline Defender package, including the latest definitions.

 

Step 4 - Create a task sequence that runs the virus scan

The final step, create a new ConfigMgr task sequence using the MDT custom template. I named my task sequence Run Offline Defender.

Keep the Gather and Use Toolkit action (not required, but in general useful to have), and remove the other actions.

Add a Run Command Line that use the Offline Defender package, and has the following command line:

cscript.exe Run-WDO.wsf

Deploy the new task sequence to a collection where your machines you want to scan exist.

PXE boot any of the machines, and select the Run Offline Defender task sequence.

 

image


More ...

Deploying Windows 10 build 9860 using MDT 2013 Lite Touch

$
0
0

First, check out my earlier post on how to deploy Windows 10 build 9841 for some background info.

Then, since there is no ISO download of Windows 10 Enterprise Technical Preview build 9860 (at least not yet), you have to get the install.wim another way. You basically have two options:

  1. Upgrade a Windows 10 build 9841 to build 9860 and then “extract” the install.wim file from the install.esd file which you find in the C:\RecoveryImage folder after upgrading.
     
  2. Upgrade a Windows 10 build 9841 to build 9860, run sysprep, and capture the installation to a new WIM image.

In this guide I used option 1 because it was more fun :)

 

install-esd
The install.esd file after upgrading build 9841 to build 9860.

Viewing the Install.esd file

ESD files were introduced in Windows 8.1, and are simply highly compressed versions of a normal WIM file. They are often called a Push-Button Reset Image. You cannot mount or service an ESD file, and you will find they take forever to extract (decompress) information from. But they are smaller than the normal WIM file, about 30 percent or so.

Anyway, if you want to review the content of the install.esd, you can use the dism command to do so:

dism.exe /Get-WimInfo /WimFile:C:\RecoveryImage\Install.esd

dism
The Windows 10 Enterprise image, build 9860.

Extract the install.wim

To extract the install.wim in a format that MDT 2013 accepts, you need to change the compression type in the image. You can either do that by applying the correct index (#4) to a folder, and then capture that folder to a new install.wim file. But you can also create a new empty WIM file with the right compression type, and then just export the correct index from the install.esd file to this new wim file.

1. Create a new empty WIM file, with the right compression type, by running the following commands (press Enter after each command):

md C:\EmptyFolder

dism.exe /Capture-Image /ImageFile:C:\Temp\Install.wim /CaptureDir:C:\EmptyFolder /Name:EmptyWimImage /Compress:max

2. Export the Windows 10 build 9860 image from the install.esd file by running the following command.

dism.exe /Export-Image /SourceImageFile:C:\RecoveryImage\Install.esd /SourceIndex:4
/DestinationImageFile:C:\Temp\Install.wim /Compress:Recovery

3. Delete the empty index (#1) in the install.wim.

dism.exe /Delete-Image /ImageFile:C:\Temp\Install.wim /Index:1

 

Import the install.wim to MDT 2013

Once the capture is completed, you simply copy the new install.wim to your MDT server, import it in Deployment Workbench, and create a new task sequence. After creating the task sequence, modify it per the instructions in my earlier post.

Note: You still need to have the updated dism files on your deployment share as outlined in my earlier post. I didn’t have to update the dism files to 9860 versions, the 9841 version of dism seems to support the new 9860 build just fine.

image
Deployment Workbench with the new 9860 build of Windows 10 Enterprise.

 

 

image
Deploying Windows 10 Enterprise, build 9860, using MDT 2013.

image
Windows 10 Enterprise, build 9860, deployed and ready to go…


More ...

Deploying Windows 10 build 9860 using ConfigMgr 2012 R2

$
0
0

First, check out my earlier post on how to deploy Windows 10 build 9841 for some background info.

Note: If you are looking for how to do this with MDT 2013 Lite Touch instead, check this post: http://www.deploymentresearch.comhttp://www.deploymentresearch.com/Research/tabid/62/EntryId/195/Deploying-Windows-10-build-9860-using-MDT-2013-Lite-Touch.aspx

Then, since there is no ISO download of Windows 10 Enterprise Technical Preview build 9860 (at least not yet), you have to get the install.wim another way. You basically have two options:

  1. Upgrade a Windows 10 build 9841 to build 9860 and then “extract” the install.wim file from the install.esd file which you find in the C:\RecoveryImage folder after upgrading.
     
  2. Upgrade a Windows 10 build 9841 to build 9860, run sysprep, and capture the installation to a new WIM image.

In this guide I used option 1 because it was more fun :)

 

install-esd_thumb1
The install.esd file after upgrading build 9841 to build 9860.

Viewing the Install.esd file

ESD files were introduced in Windows 8.1, and are simply highly compressed versions of a normal WIM file. They are often called a Push-Button Reset Image. You cannot mount or service an ESD file, and you will find they take forever to extract (decompress) information from. But they are smaller than the normal WIM file, about 30 percent or so.

If you want to review the content of the install.esd, you can use the dism command to do so:

dism.exe /Get-WimInfo /WimFile:C:\RecoveryImage\Install.esd

dism_thumb1
The Windows 10 Enterprise image, build 9860.

Extract the install.wim

To extract the install.wim in a format that ConfigMgr 2012 R2 accepts, you need to change the compression type in the image. You can either do that by applying the correct index (#4) to a folder, and then capture that folder to a new install.wim file. But you can also create a new empty WIM file with the right compression type, and then just export the correct index from the install.esd file to this new wim file.

1. Create a new empty WIM file, with the right compression type, by running the following commands (press Enter after each command):

md C:\EmptyFolder

dism.exe /Capture-Image /ImageFile:C:\Temp\Install.wim /CaptureDir:C:\EmptyFolder /Name:EmptyWimImage /Compress:max

2. Export the Windows 10 build 9860 image from the install.esd file by running the following command.

dism.exe /Export-Image /SourceImageFile:C:\RecoveryImage\Install.esd /SourceIndex:4
/DestinationImageFile:C:\Temp\Install.wim /Compress:Recovery

3. Delete the empty index (#1) in the install.wim.

dism.exe /Delete-Image /ImageFile:C:\Temp\Install.wim /Index:1


 

Import the install.wim to ConfigMgr 2012 R2

Once the capture is completed, you simply copy the new install.wim to your ConfigMgr or File server, import it to the ConfigMgr console, and create a new task sequence. After creating the task sequence, modify it per the instructions in my earlier post.

Note: You still need to have the updated dism files in your MDT 2013 files package as outlined in my earlier post. I didn’t have to update the dism files to 9860 versions, the 9841 version of dism seems to support the new 9860 build just fine.

 image
Image Properties of the new 9860 build of Windows 10 Enterprise image (add to the ConfigMgr console).

 

 

 image
Deploying Windows 10 Enterprise, build 9860, using ConfigMgr 2012 R2.

image
Windows 10 Enterprise, build 9860, deployed and ready to go…


More ...

How to create a Windows 10 Enterprise build 9860 ISO

$
0
0

Since there is no ISO download of Windows 10 Enterprise Technical Preview build 9860 (at least not yet), I thought a little PowerShell that created one from the downloaded preview update could be handy.

Creds: @Chris123NT has a pretty cool post here, however linked together with some crapware I don’t like, but still good info… Respect!

Disclaimer: This is probably not even remotely supported, so don’t blame me if something doesn’t work as it should (but please let me know)

Note: If you want to build an ISO that also contain drivers, updates and applications, view my post on how to deploy Windows 10 build 9860 with MDT 2013. In MDT it’s super-easy to generate an ISO :)

Anyway. everything you need to create a clean, default ISO, is in the install.esd file which you find in the C:\RecoveryImage folder after upgrading a machine to build 9860.

install-esd_thumb1_thumb2
The install.esd file after upgrading build 9841 to build 9860.

Viewing the Install.esd file

ESD files were introduced in Windows 8.1, and are simply highly compressed versions of a normal WIM file. They are often called a Push-Button Reset Image. You cannot mount or service an ESD file, and you will find they take forever to extract (decompress) information from. But they are smaller than the normal WIM file, about 30 percent or so.

If you want to review the content of the install.esd, you can use the dism command to do so:

dism.exe /Get-WimInfo /WimFile:C:\RecoveryImage\Install.esd

Note: You would think that the PowerShell DISM cmdlet would let you view the install.esd file, but nope... so dism.exe it is…

 dismposh
The Windows 10 Enterprise image, build 9860.

Convert the install.esd into a bootable ISO

Here is a small PowerShell script I put together that takes care of the conversion. I added documentation inline in the script so it should not be too hard to follow.

Note: You need to copy oscdimg.exe from Windows ADK 8.1 to C:\oscdimg for the script to work.

# Note, only tested on Windows 10 build 9860, x64 Enterprise edition.
# The native DISM cmdlets didn't like the ESD files very much, so using dism.exe instead.

$ESDFile = 'C:\RecoveryImage\Install.esd'
$ISOMediaFolder = 'C:\ISO\Media'
$ISOFile = 'C:\ISO\Windows10_build9860.iso'
$PathToOscdimg = 'C:\oscdimg'

Write-Output "Checking for oscdimg.exe"
If (Test-Path $PathToOscdimg\oscdimg.exe){
    Write-Output "Oscdimg.exe found, OK, continuing..." 
    Write-Output ""
    } 
Else {
    Write-Output "Oupps, cannot find Oscdimg.exe. Aborting"
    Break
}

# Create ISO folder structure
New-Item -ItemType Directory $ISOMediaFolder
dism.exe /Apply-Image /ImageFile:$ESDFile /Index:1 /ApplyDir:$ISOMediaFolder

# Create empty boot.wim file with compression type set to maximum
New-Item -ItemType Directory 'C:\EmptyFolder'
dism.exe /Capture-Image /ImageFile:$ISOMediaFolder\sources\boot.wim /CaptureDir:C:\EmptyFolder /Name:EmptyIndex /Compress:max

# Export base Windows PE to empty boot.wim file (creating a second index)
dism.exe /Export-image /SourceImageFile:$ESDFile /SourceIndex:2 /DestinationImageFile:$ISOMediaFolder\sources\boot.wim /Compress:Recovery /Bootable

# Delete the first empty index in boot.wim
dism.exe /Delete-Image /ImageFile:$ISOMediaFolder\sources\boot.wim /Index:1

# Export Windows PE with Setup to boot.wim file
dism.exe /Export-image /SourceImageFile:$ESDFile /SourceIndex:3 /DestinationImageFile:$ISOMediaFolder\sources\boot.wim /Compress:Recovery /Bootable

# Display info from the created boot.wim
dism.exe /Get-WimInfo /WimFile:$ISOMediaFolder\sources\boot.wim 


# Create empty install.wim file with MDT/ConfigMgr friendly compression type (maximum)
dism.exe /Capture-Image /ImageFile:$ISOMediaFolder\sources\install.wim /CaptureDir:C:\EmptyFolder /Name:EmptyIndex /Compress:max

# Export Windows Technical Preview to empty install.wim file
dism.exe /Export-image /SourceImageFile:$ESDFile /SourceIndex:4 /DestinationImageFile:$ISOMediaFolder\sources\install.wim /Compress:Recovery

# Delete the first empty index in install.wim
dism.exe /Delete-Image /ImageFile:$ISOMediaFolder\sources\install.wim /Index:1

# Display info from the created install.wim
dism.exe /Get-WimInfo /WimFile:$ISOMediaFolder\sources\install.wim 

# Create the Windows Technical Preview ISO
# For more info on the Oscdimg.exe commands, check this post: http://support2.microsoft.com/kb/947024

$BootData='2#p0,e,b"{0}"#pEF,e,b"{1}"' -f "$ISOMediaFolder\boot\etfsboot.com","$ISOMediaFolder\efi\Microsoft\boot\efisys.bin"
& ("$PathToOscdimg\oscdimg.exe") @("-bootdata:$BootData",'-u2','-udfver102',"$ISOMediaFolder","$ISOFile")

 

The Windows Technical Preview ISO

After running the script, you get the Windows10_build9860.iso

ISO
The Windows 10 build 9860 ISO.

Once you have the ISO you can either mount a virtual machine on it, burn it to a DVD, or copy the content to a USB stick you made active and then install Windows 10 Build 9860 from it.

image
Installing Windows 10 Build 9860 from the new ISO.

image
Windows 10 build 9860 deployed from the ISO.

Happy deployment, Johan


More ...

TechEd Europe 2014 - Sessions and Sample Files

$
0
0

Tomorrow (Monday October 27), TechEd Europe 2014 starts in Barcelona. In this post you find all my sessions as well as sample files from those sessions (updated as the event goes along).

20130627_TechEd2013_0210_thumb1
From TechEd 2013 in Madrid, handing out a book in reward for a good question…

 

Sessions list for TechEd Europe 2014

Here is the my list of sessions at TechEd Europe 2014 in Barcelona… I would love to see you there, and don’t hesitate to say hi!

Sample files will be added to each sessions, so watch out for updates.

PRC08 Using Microsoft System Center 2012 R2 Configuration Manager in the Real World: Notes from the Field

Monday, October 27 9:00 AM - 5:00 PM Room: Hall 8.0 Room F5

Join Johan Arwidmark and Kent Agerlund, two of the world’s foremost Configuration Manager 2012 R2 experts in a dazzling series of seminars on how to use Configuration Manager 2012 R2 in the real world. Learn about the changes in Configuration Manager 2012 R2, how to build a Configuration Manager 2012 R2 infrastructure, how to migrate from Configuration Manager 2007, and upgrade to Configuration Manager 2012 SP1. Learn how to deploy applications and updates, and how to deploy and manage Windows 7 and Windows 8.1 operating systems. You also learn how to integrate Configuration Manager 2012 R2 with Windows Intune, for mobile device management. Kent and Johan share their notes from the field, and their tips and tricks for making System Management using Configuration Manager 2012 R2 even better. If you are working with Configuration Manager 2012 R2, or thinking about moving to Configuration Manager 2012 R2, this is the seminar that you cannot afford to miss.

 

WIN-B324 Real-World Windows Deployment: Notes from the Field

Tuesday, October 28 3:15 PM - 4:30 PM Room: Hall 8.0 Room B2

The uber-demo spaceship has landed... Join Johan Arwidmark in an hour (plus) live demo on how to build a Windows deployment solution, based on MDT 2013. Learn about the new features in Microsoft Deployment Toolkit 2013. Learn about deploying to EUFI enabled hardware. Work with drivers, updates, applications, configuring BitLocker—all for the enterprise network. This is notes from the field, lessons learned from real-world Windows 7 and Windows 8.1 deployment projects.

 

WIN-B412 Advanced Microsoft Deployment Toolkit 2013 Customizations: Dueling MDT Enhancements 

Wednesday, October 29 8:30 AM - 9:45 AM Room: Hall 8.1 Room L

Meet Johan Arwidmark taking Microsoft Deployment Toolkit 2013 (MDT) to its outer limits. Learn about the new features in MDT 2013 and how to customize it to fit your organization's needs. You can expect a lot of live demos, tips, and tricks.

 

WIN-B314 Windows 8.1 Deployment Using Free Tools from Microsoft

Thursday, October 30 5:00 PM - 6:15 PM Room: Hall 8.0 Room B1

If your job duties include deploying Windows 8/8.1 and you would like to do this using the FREE tools provided by Microsoft, this session is for you. During the session we cover the basic steps to install the solution and configure it. We explain things like reference images, Windows Deployment Services, Microsoft Deployment Toolkit (MDT), Lite Touch, new computer scenarios, refreshing old computers, and how to replace old computers while keeping the user data and re-installing applications.

 

/ Johan


More ...

Upcoming OSD changes in ConfigMgr v.Next and MDT v.Next

$
0
0

This post is a summary of the “What’s New and Upcoming with OS Deployment in System Center Configuration Manager and the Microsoft Deployment Toolkit” session presented by Jason Githens and Katarina Hotz at TechEd Europe 2014 on October 28, 2014. The full recording (53 minutes) is available here: http://channel9.msdn.com/Events/TechEd/Europe/2014/EM-B326

Disclaimer: This is pre-release information, and may very well change before final release.

General changes

Fundamental direction change in setup for Enterprise organizations: Microsoft is really trying to make in-place upgrades to Windows 10 a good experience. I’m glad they are assigning resources for this, and I will believe it’s working when I see it :)   Please note that the current scenarios (New Computer, Refresh and Replace) will still be around, but Microsoft really want core upgrades to work.

In addition to the above, Microsoft wants to be able to roll back an upgrade, in the event the upgrade fails for whatever reason.

No need to upgrade to ConfigMgr v.Next to deploy Windows 10, even good old ConfigMgr 2012 SP1 will be able to do it.

 

Running the Windows 10 upgrade

In the demo Jason where using the following command line in the task sequence to launch the upgrade.

Setup.exe /Auto:Upgrade /Quiet /NoReboot /DynamicUpdate Disable /PostOobe %SystemDrive%\v_NextUpgrade /PostRollback %SystemDrive%\v_NextUpgrade

There was also a similar command listed, with typos (the : in /Auto:Upgrade was missing), in a later slide:

Setup.exe /Auto:Upgrade /Quiet /CompatIgnoreWarning /NoReboot /PostOobe %SystemDrive%\v_NextUpgrade\SetupComplete.cmd /PostRollback %SystemDrive%\v_NextUpgrade\SetupRollBack.cmd

According to the presentation, in the preceding example, the setupcomplete.cmd file contained a PowerShell script, not sure yet how that actually works,  but here is a transcript:

# trigger and wait for the CM client to repair on the new OS
$process = Start-Process $env:WinDir\ccmsetup\ccmsetup.exe -ArgumentList "/remediate:Client" -Wait -NoNewWindows -PassThru

# enable health tasks
schtasks /change /tn "Microsoft/Configuration Manager/Configuration Manager Health Evaluation" /enable | Create-LogEntry

schtasks /change /tn "Microsoft/Configuration Manager/Configuration Manager Idle Detection" /enable | Create-LogEntry

schtasks /change /tn "Microsoft/Configuration Manager/Configuration Manager Maintenance" /enable | Create-LogEntry

# start and wait for the task sequence
$service = Get-Service -Name "smstsmgr"
Set-Service -Name $service.Name -StartupType Automatic
Start-Service -Name $service.Name
$service.WaitForStatus("Stopped")

# Disable Client Provisioning Mode
Invoke-WmiMethod - Namespace root\CCM -Class SMS_Client -Name SetClientProvisioningMode -ArgumentList $False

New core tools

Windows 10 ADK supports Windows 7, Windows 8.1 and Windows 10 deployments.

Windows Image Configuration Designer (WICD), pronounced Wicked ?   :)  Is supposed to be able to build a customized mobile or desktop image, and also create provisioning packages that allow you to customize a Windows device, without re-imaging.

Personal note:The provisioning idea sounded good to me, but the idea of using WICD for image builds almost made me scream out loud… YET another tool to build images! No Thank You! We have enough tools already, stick with MDT and/or ConfigMgr, and let both OEMS, small organizations, and Enterprise use the same deployment solutions to deploy the same windows. I do meet a lot of OEMs and they would be thrilled to be able to use the real deployment solutions instead of having to re-invent and create everything them selves from scratch. Such as waste of resources (IMNSHO), both internally at Microsoft and at each and every customer. (End personal note).

 WICD
Upcoming WICD screenshot.

Microsoft Deployment Toolkit v.Next (MDT) (standalone)

New upcoming version of MDT is in development, not much info presented yet, but a few items were mentioned in the session:

Windows 10 Deployment and Upgrade Support, as well as updated Task Sequence binaries

Removed deprecated components from Deployment Workbench, and making OSD more accessibility compliant.

MDT documentation will be on TechNet (removed legacy help file and DOCX)

 

OSD in ConfigMgr v.Next

Driver Management UI Improvements (better filtering)

BranchCache with WinPE

Improved Task Sequence resilience for unknown reboots and improved SMSTS logging (file size and how values are stored)

 versionmissing
Driver Management UI Improvements.


More ...

Storage Spaces Shared Nothing in Windows Server v.Next

$
0
0

This morning I was viewing the recorded “Design Scale-Out File Server Clusters in the Next Release of Windows Server” session from TechEd Europe 2014 presented by Claus Joergensen, and there were indeed some really interesting topics discussed. Especially the new “Storage Spaces Shared Nothing” feature coming in Windows Server v.Next.

The recorded session is available for download here: http://channel9.msdn.com/Events/TechEd/Europe/2014/CDP-B325

Summary of Storage Spaces Shared Nothing

Here follows a quick summary of the Storage Spaces Shared Nothing part (starting 01:02:40 into the session).

The new "Storage Spaces Shared Nothing" feature doesn't need shared JBODs and SAS fabric behind SOFS nodes, which is awesome news. That being said it will require special hardware to work (Prescriptive configurations for "Storage Spaces Shared Nothing" will be available at a later time).

The storage network fabric between nodes needs to be really fast, it requires high-speed SMB3 interconnect, cannot be stretched to other sites.

Does not support thin provisioning this time around.

Storage Spaces Shared Nothing

 

Overview….

 

/ Johan


More ...

MMS 2014 - Sessions and Sample Files

$
0
0

On Monday November 10, MMS 2014 starts in Minneapolis. In this post you find all my sessions as well as sample files from those sessions (updated as the event goes along).

 KnowTheRules
Lots of my sessions will be about rules :) 

 

Sessions list for MMS 2014

Here is the my list of sessions at MMS 2014 in Minneapolis… I would love to see you there, and don’t hesitate to say hi!  For other sessions, please go to: http://mms2014.sched.org

Sample files will be added to each sessions, so watch out for updates.

 

Troubleshooting OS Deployment

Monday November 10 at 13:00

One of the biggest challenges when doing windows deployment is dealing with device drivers. Johan Arwidmark and Michael Niehaus share lessons learned around handling device drivers in the deployment process. As a foundation the MDT 2013 and ConfigMgr 2012 R2 platform will be used. You can expect a lot of live demos, tips and tricks in this session. Tips & tricks to finding and extracting drivers.

 

OS Deployment at LEVEL 500

Tuesday November 11 at 08:00

Meet Johan Arwidmark taking MDT 2013 and ConfigMgr 2012 R2 to its outer limits. OSD tips, tricks, coding, and hardcore debugging in a single session. You can expect a lot of live demos in this session.

 

The Art of deploying Windows 8.1 with ConfigMgr 2012 R2

Wednesday November 12 at 08:00

Join Johan Arwidmark and Mikael Nystrom in an hour (plus) live demo on how to build a Windows 8.1 deployment solution, based on ConfigMgr 2012 R2 and Windows Server 2012 R2. Learn about the new OSD features in ConfigMgr 2012 R2, learn about deploying to UEFI enabled hardware, configuring BitLocker, adding drivers, and other real world deployment features. Build automated deployment solutions for the data center.

 

You CAN code - Develop Web Services for OSD and MDT

Thursday November 12 at 14:00

Web Services is extremely rich and dynamic way of assigning settings for your OS Deployments. Settings like what applications to deploy, computer configurations, ConfigMgr operations and Active Directory operations, and much more. Join Johan Arwidmark in a session where you will learn to quickly master the skills for developing Web Services to use with MDT 2013 and ConfigMgr 2012 R2 OS Deployments.

 

/ Johan


More ...

Announcement - The most advanced OSD book yet!

$
0
0

I’m very proud to announce the most advanced OSD book yet, available on November 20, 2014. This is Stealing with Pride – Volume 1!

Written by me and Maik Koster, this is the ultimate source for the working IT Pro who wants to customize and develop deployment solutions based on MDT 2013 and/or ConfigMgr 2012 R2. This is a HOW TO GET IT DONE book, solely focused on customizing deployment solutions with roots in the real world. In addition to well-proven step-by-step guides, you also get access to sample scripts and source code, allowing you to quickly test the solutions in your own lab.

As far as the title goes, we don’t mean you should steal things, literally. In this book, stealing is a metaphor for not reinventing the wheel. We don’t want you to waste time developing solutions that are already available for free  :)

perf8.000x10.000.indd


More ...

Cannot mount Windows 10 build 9879 ISO - Easy Fix

$
0
0

When trying to mount the Windows 10 Enterprise x64 build 9879 ISO in File Explorer, you may get the following error:

Couldn’t Mount File, Sorry, there was a problem mounting the file.

image

Workaround

This is a known issue when the sparse file attribute (P) is set on the file (9879.0.141103-1722.FBL_RELEASE_CLIENTENTERPRISE_VOL_X64FRE_en-us.ISO).

To make it work, simply make a copy of the ISO, or remove the sparse file attribute from it. Here is a link to a PowerShell function that removes the attribute: http://superuser.com/questions/818303/how-to-mount-an-iso-image-that-windows-8-1-refuses-to-mount

You can check the attribute by viewing the file properties (Details), or by running the following powershell command:

(get-item 9879.0.141103-1722.FBL_RELEASE_CLIENTENTERPRISE_VOL_X64FRE_en-us.ISO).attributes

image
Checking attributes in PowerShell.

image
Checking attributes in File Explorer.


More ...

Two Windows 10 session recordings from TechEd Europe 2014 posted

Build and Capture a Windows 10 build 9879 image using MDT 2013

$
0
0

Earlier this morning I was troubleshooting a failing build and capture of a Windows 10 build 9879 image using MDT 2013. What happened was that when the sysprep action run, the task sequence immediately rebooted, causing the following crash on reboot (Error code: 0xc0000428 ):

Sysprep rebooting on it’s own, even when told not to, seems to be a new “feature” in build 9879 (to be verified), but at least I found a workaround for the issue, so keep on reading…

BSOD
The not so nice error message.

 

The why

After some troubleshooting I found out that it was a pending a reboot causing the sysprep action to reboot the machine after WinPE had been applied, but before the task sequence had a chance to configure the BCD.

The info was found in BDD.LOG (as well as in the LTISysprep.log since BDD.log is just aggregating all other logs).

sysyprep
The BDD.log file showing the issue (Office 2013 setup requiring a reboot).

 

The Fix

In addition to the normal task sequence edits needed for having MDT 2013 deploy Windows 10, described here, I simply added an extra reboot prior to the Apply Windows PE in the task sequence.

I also modified the ZTIBackup.wsf script to use DISM instead of ImageX, a best practice when deploying anything newer than Windows 7 SP1. Those mods are described here.

image
Adding the extra reboot to the task sequence.

 

CreateWIM
WIM file being created.

/ Johan


More ...

New WMI Classes in Windows 10 Build 9879

$
0
0

In this post you find a list of the new (and removed) WMI classes in Windows 10 compared to Windows 8.1.

WMI Classes removed

Win32_FloppyDrive                                                                       
Win32_FloppyController                                                                  
Win32_USBDevice

WMI Classes Added

MDM_AppInstallJob                                                                       
MDM_Application                                                                         
MDM_ApplicationFramework                                                                
MDM_ApplicationMinVersion                                                               
MDM_ApplicationSetting                                                                  
MDM_BrowserSecurityZones                                                                
MDM_BrowserSettings                                                                     
MDM_Certificate                                                                         
MDM_CertificateEnrollment                                                               
MDM_Client                                                                              
MDM_ConfigSetting                                                                       
MDM_DeviceRegistrationInfo                                                              
MDM_EASPolicy                                                                           
MDM_MgmtAuthority                                                                       
MDM_RemoteApplication                                                                   
MDM_RemoteAppUserCookie                                                                 
MDM_Restrictions                                                                        
MDM_RestrictionsUser                                                                    
MDM_SecurityStatus                                                                      
MDM_SideLoader                                                                          
MDM_VpnApplicationTrigger                                                               
MDM_WebApplication                                                                      
MDM_WirelessProfile                                                                     
MDM_WirelessProfileXml                                                                  
MDM_WNSChannel                                                                          
MDM_WNSConfiguration                                                                    
Win32_DeviceContainer                                                                   
Win32_FolderRedirection                                                                 
Win32_FolderRedirectionHealth                                                           
Win32_FolderRedirectionHealthConfiguration                                              
Win32_FolderRedirectionUserConfiguration                                                
Win32_HardwareCapabilityCompatStatus                                                    
Win32_InstalledDevice                                                                   
Win32_InstalledDeviceHardwareId                                                         
Win32_InstalledProgram                                                                  
Win32_InstalledProgramFile                                                              
Win32_InstalledProgramFramework                                                         
Win32_InstalledProgramUsage                                                             
Win32_InventoryMetadata                                                                 
Win32_OfflineFilesBackgroundSync                                                        
Win32_OfflineFilesDiskSpaceLimit                                                        
Win32_OfflineFilesHealth
Win32_OfflineFilesMachineConfiguration                                                  
Win32_OfflineFilesPinInfo                                                               
Win32_PnPDeviceProperty                                                                 
Win32_PnPDevicePropertyBinary                                                           
Win32_PnPDevicePropertyBoolean                                                          
Win32_PnPDevicePropertyBooleanArray                                                     
Win32_PnPDevicePropertyDateTime                                                         
Win32_PnPDevicePropertyDateTimeArray                                                    
Win32_PnPDevicePropertyReal32                                                           
Win32_PnPDevicePropertyReal32Array                                                      
Win32_PnPDevicePropertyReal64                                                           
Win32_PnPDevicePropertyReal64Array                                                      
Win32_PnPDevicePropertySecurityDescriptor                                               
Win32_PnPDevicePropertySecurityDescriptorArray                                          
Win32_PnPDevicePropertySint16                                                           
Win32_PnPDevicePropertySint16Array                                                      
Win32_PnPDevicePropertySint32                                                           
Win32_PnPDevicePropertySint32Array                                                      
Win32_PnPDevicePropertySint64                                                           
Win32_PnPDevicePropertySint64Array                                                      
Win32_PnPDevicePropertySint8                                                            
Win32_PnPDevicePropertySint8Array                                                       
Win32_PnPDevicePropertyString                                                           
Win32_PnPDevicePropertyStringArray                                                      
Win32_PnPDevicePropertyUint16                                                           
Win32_PnPDevicePropertyUint16Array                                                      
Win32_PnPDevicePropertyUint32                                                           
Win32_PnPDevicePropertyUint32Array                                                      
Win32_PnPDevicePropertyUint64                                                           
Win32_PnPDevicePropertyUint64Array                                                      
Win32_PnPDevicePropertyUint8                                                            
Win32_RDAllowListFileAssociation                                                        
Win32_RoamingProfileBackgroundUploadParams                                              
Win32_RoamingProfileSlowLinkParams                                                      
Win32_RoamingProfileUserConfiguration                                                   
Win32_RoamingUserHealthConfiguration                                                    
Win32_TSGetIcon                                                                         
Win32_UserStateConfigurationControls        

To list the WMI classes you can simply run the following command:

Get-WmiObject -list -recurse

image
Counting the WMI Classes.


More ...
Viewing all 168 articles
Browse latest View live