Showing posts with label Microsoft Deployment Toolkit. Show all posts
Showing posts with label Microsoft Deployment Toolkit. Show all posts

Tuesday, August 27, 2013

MDX sources

Dear reader, since my last posts i informed you about MDX and its workings.
in this post i proudly present the MDX sources.
In the link at the bottom of this post an .MSI can be found that will install MDX on a system. the .MSI will install the MDX script, the readme and the manual
The installation has been tested on Windows Server 2003 and Server 2008 R2. here is the readme:

Welcome to MDX
This application is written in PowerShell, to successfully start it you need to have powershell (version 2.0 and up) installed on the machine you're installing to
At first launch your settings will not reflect the settings of your deployment environment. please take your time to set the settings of MDX. refer to the manual for detailed information and usage of MDX and its settings.
On PowerShell 2.0 some parts of MDX will not work; for instance the MDT Settings Extra Apps will not show when using PowerShell 2.0.
To get things started PowerShell needs to have its execution policy set to remotesigned or lower because this script is NOT signed. please refer to http://technet.microsoft.com/en-us/library/ee176961.aspx for more information about PowerShell signing
MDX will be installed to C:\Program Files\MDX by default, feel free to change that is you want to but always check its working after this.
MDX works with a few tools locally to get fully started. in the installation MSI some of these files are incorporated, they will be installed to its default locations. the extra files are:
    - MDXIcoon1.jpg
    - Manual MDX.docx
    - Readme.txt
PsExec from the PStools must be installed on the system, preferably on a path location from your SET.
link: http://technet.microsoft.com/en-us/sysinternals/bb896649.aspx

The MDTDB from Michael Niehaus also is a MUST, the installation points to the C:\Windows\System32\WindowsPowerShell\v1.0\Modules\MDTDB directory so you can best copy the module to that path.here is the link to Michaels blog:
http://blogs.technet.com/b/mniehaus/archive/2009/05/15/manipulating-the-microsoft-deployment-toolkit-database-using-powershell.aspx
MDX’s registry entries are set in the installation of the MSI, they can be changed in the settings tab of MDX.
MDX will connect to machines through WMI, for this mechanism to work in Windows Firewall enabled machines the following rule must be enabled in the network location profile
   
    - Windows Management Instrumentation (DCOM-In)
    - Windows Management Instrumentation (WMI-In)

Also MDX will try to ping machines; for this to work the following rule must be enabled on firewalled machines:
    - File and Printer Sharing (Echo Request - ICMPv4-In) (when using IPv4 traffic
    - File and Printer Sharing (Echo Request - ICMPv6-In) (when using IPv6 traffic

Last but not least: for the remote starting via PSExec the - Remote Desktop - User-In must be opened.
PsExec itself will require a litetouch user account that has to me member of the AD group "Remote Desktop Users"
For Wake on LAN to work the used Network segments must not prohibit WOL broadcasts. please do keep in mind WOL broadcasts cannot traverse Routers, so one MDT server can only service as much network segments it is connected to.
PXE control will only work under specific conditions. please refer to link: http://www.ithastobecool.com/2009/08/17/zerotouch-for-mdt-2010-without-sccm/
to get a clear understanding of this subject.
Happy deploy-ing
Bas Huygen
negyuh@xs4all.nl

I hereby would like to thank the following technical documents and its writers:
Furthermore i would like to thank the following Colleagues for support and testing:
  • Barry Mes
  • Ylber Tahiri

Download the MDX installers here:
  - x86: https://skydrive.live.com/redir?resid=12B72EEE2C1F9871!2587
   -x64: https://skydrive.live.com/redir?resid=12B72EEE2C1F9871!2588
Please note! this installer nor the PowerShell script has been signed; Smart screen filters will warn you about that fact! 
I am still working on a valid certificate…
The MDX manual can also be downloaded separately: https://skydrive.live.com/redir?resid=12B72EEE2C1F9871!2589
I fully understand that this is the first version, feel free to download this installer and use it, when you will find a bug or think MDX should definitely use a new feature; feel free to contact me at:
mdx@xs4all.nl
Happy deploying and till next time.



Friday, March 22, 2013

Doing Custom Drive Configuration MDT without changing Task Sequence using PowerShell

This post elaborates on the MDTDB PowerShell module from Michael Niehaus link URL and configures the drives using PowerShell. it does this without altering the Task Sequence.

The key to this is using a few MDT database variables:

  • OSDPartitions0BOOTABLE=
  • OSDPartitions0FILESYSTEM=
  • OSDPartitions0QUICKFORMAT=
  • OSDPartitions0SIZE=
  • OSDPartitions0SIZEUNITS=
  • OSDPartitions0TYPE=
  • OSDPartitions0VOLUMELETTERVARIABLE=
  • OSDPartitions0VOLUMENAME=

This variables will overrule de standard drive configuration defined in the Task Sequence. MDT can configure a maximum of 2 partitions (per disk) using the database variables OSDPartitions0 and OSDPartitions1Field OSDPartitions0SIZE will define the partition size in units specified in OSDPartitions0SIZEUNITS, these can be MB, GB or %. When using % this will define the percentage of remaining diskspace so if partition 0 was defined as 40Gb the specification of 100 % will result in the allocation of 100% of the rest of the remaining disk space to that second partition.

this script will use DHCP exports as created by another script you can find on my blog , if no, by DHCP exported MAC address, can be found the script will ask for a MAC address. it will check the MAC address for validity and the script will ask you to create a new MDTcomputer object if the machine cannot be found.



##################################
#
# this deployscript automates MDT using the database
# It configures the disk configuration of a new or existing computer object
# Functionality based on MDT plugin developed by Michael Niehaus
# Build by Bas Huygen
# March 2013
# Version 0.1
#################################

# Clear relevant variables
Clear-Host
Clear-Variable -Name computer
Clear-Variable -Name LASTEXITCODE

# import the relevant powershell modules and snapins
Import-Module D:\PSdeployripts\MDTDB\MDTDB.psm1 -Verbose
Add-PSSnapIn Microsoft.BDD.PSSnapIn

# Declare variables
$ErrorActionPreference= "SilentlyContinue"
$DeployServer = "deploy.deploy.lan"
$SQLServer = "deploySQL.deploy.lan"
$SQLInstance = "SQLExpress"
$MDTDatabaseName = "MDTdb"
$DHCPexport = "\\DHCP01\D$\PSdeployripts\Exports\exportDHCP.txt"

# Make a connection to the MDT database
Connect-MDTDatabase -SQLServer $SQLServer\$SQLInstance -Database $MDTDatabaseName

# Function Get-MAC $computer used to fetch MAC address
Function Get-MAC ($computer){
$macstr = 0
$maccnv = 0
if(!(Test-Path $DHCPexport)){Write-Host "path $DHCPexport is not valid"
$macstr =Get-Content Env:\TEMP\maccache.txt |where{$_ -like "*$computer*"}}
if($macstr.length -eq 0){
$maccnv= Read-Host ("$computer not found in cache `nEnter the MAC adress
`nFormat is xx:xx:xx:xx:xx:xx");
write "$computer $maccnv" |Out-File Env:\TEMP\maccache.txt -Append

# check the retreived MAC adress for validity
if($maccnv.Replace(":","").Length -ne 12) {
do{
Write-Host "Found $computer in DHCP however it is not valid: $maccnv"
$maccnv = Read-Host "Please enter a valid MAC address format is xx:xx:xx:xx:xx:xx";
}while ($maccnv.Replace(":","").Length -ne 12)
}
write "$computer $maccnv" |Out-File Env:\TEMP\maccache.txt -Append
}
else{ Write-Host "Found $computer with $maccnv"}
return $maccnv }

# Function set drive config entered by user
Function Drive-Config ($computer,$mac){
$config = Read-Host ("Please enter drive configuration: `n
-----------------------------------------------------------------
Standard disk configuration (1 partition all space allocated) (s) `
One custom partition rest not configured (1) `n
Two custom partitions (2)`n
-----------------------------------------------------------------
Please enter a choice (1,2,s)")

Switch ($config) {
1 {Set-MDTComputer -id $mac -settings @{OSDPartitions="1";
OSDPartitions0BOOTABLE="TRUE";
OSDPartitions0FILESYSTEM="NTFS";
OSDPartitions0QUICKFORMAT="TRUE";
OSDPartitions0SIZE=(Read-Host "The amount of GB's of the first drive");
OSDPartitions0SIZEUNITS="GB";
OSDPartitions0TYPE="Primary";
OSDPartitions0VOLUMELETTERVARIABLE="Newdrive1";
OSDPartitions0VOLUMENAME="OSDisk"
OSDPartitions1BOOTABLE="";
OSDPartitions1FILESYSTEM="";
OSDPartitions1QUICKFORMAT="";
OSDPartitions1SIZE="";
OSDPartitions1SIZEUNITS="";
OSDPartitions1TYPE="";
OSDPartitions1VOLUMELETTERVARIABLE="";
OSDPartitions1VOLUMENAME=""} > $null
}
2 {Set-MDTComputer -id $mac -settings @{OSDPartitions="2";
OSDPartitions0BOOTABLE="TRUE";
OSDPartitions0FILESYSTEM="NTFS";
OSDPartitions0QUICKFORMAT="TRUE";
OSDPartitions0SIZE=(Read-Host "The amount of GB's of the first drive");
OSDPartitions0SIZEUNITS="GB";
OSDPartitions0TYPE="Primary";
OSDPartitions0VOLUMELETTERVARIABLE="Newdrive1";
OSDPartitions0VOLUMENAME="OSDisk"
OSDPartitions1BOOTABLE="FALSE";
OSDPartitions1FILESYSTEM="NTFS";
OSDPartitions1QUICKFORMAT="TRUE";
OSDPartitions1SIZE=(Read-Host "The amount of GB's of the second drive");
OSDPartitions1SIZEUNITS="GB";
OSDPartitions1TYPE="Primary";
OSDPartitions1VOLUMELETTERVARIABLE="Newdrive2";
OSDPartitions1VOLUMENAME="Data" } > $null
}
s {Set-MDTComputer -id $mac -settings @{OSDPartitions="";
OSDPartitions0BOOTABLE="";
OSDPartitions0FILESYSTEM="";
OSDPartitions0QUICKFORMAT="";
OSDPartitions0SIZE="";
OSDPartitions0SIZEUNITS="";
OSDPartitions0TYPE="";
OSDPartitions0VOLUMELETTERVARIABLE="";
OSDPartitions0VOLUMENAME=""
OSDPartitions1BOOTABLE="";
OSDPartitions1FILESYSTEM="";
OSDPartitions1QUICKFORMAT="";
OSDPartitions1SIZE="";
OSDPartitions1SIZEUNITS="";
OSDPartitions1TYPE="";
OSDPartitions1VOLUMELETTERVARIABLE="";
OSDPartitions1VOLUMENAME=""} > $null
}
}
}

Clear-Host
$computer = Read-Host "Please enter Computer name"
write "Starting deployscript for $computer"
$mac = Get-MAC $computer
If(!((Get-MDTComputer -macAddress $mac).OSDComputerName -eq $computer)){
if($macstr -eq 0){Get-MAC $computer}
$newMDTComp = Read-Host "Make a new MDT Computer object? (y/n)"
if($newMDTComp -eq "y"){
New-MDTComputer -macAddress $mac -dedeployription $computer -settings @{OSInstall="YES";OSDComputerName="$computer"} > $null
Drive-Config $computer ((Get-MDTComputer -macAddress $mac).ID)}exit
}
else{Drive-Config $computer ((Get-MDTComputer -macAddress $mac).ID)}


happy OSD-ing 


Wednesday, March 20, 2013

Getting started with Michael Niehaus’s MDT module

Michael Niehaus published his MDT PowerShell Database module on May 15, 2009.
URL: http://blogs.technet.com/b/mniehaus/archive/2009/05/15/manipulating-the-microsoft-deployment-toolkit-database-using-powershell.aspx
this plugin is an extension to the standard MDT plugins and modules. it is targeted to the MDT database opposite most other MDT plugin’s that are mainly created to help you to modify the deployment share and its contents.
Unfortunately Michaels own blog is not very helpful in the application of the module so in this post i would like to help you to get started.


Organization of the Functions

The plugins are grouped into 5 units: new- ,set- ,get- ,clear- and remove -MDT*
All create-able and settable MDT items are handled generally in the same way:
  1. retrieve the Object ID
  2. set the Object with the option: –settings
the –settings property's are set individually like –settings (OSInstall=”Yes”) or with a hash table like –settings @(objectitem1=”text”;objectitem2=”text”;objectitem3=”text”}
The settings that can be used in the hash table are published on my blog on URL: http://negyuhsit.blogspot.nl/2013/03/mdt-computer-object-property-details.html
Each function group has the same kind of commands. let’s look at them right now.


New-MDT functions

The New-MDT*  group is the first group of all functions in this module. these functions are for the single purpose of the creation of MDT Objects
CommandType Name
----------- ----
Function New-MDTComputer
Function New-MDTLocation
Function New-MDTMakeModel
Function New-MDTPackageMapping
Function New-MDTRole
Syntax of New-MDTComputer: New-MDTComputer identifier –description OSDComputerName –settings @(objectitem1=”text”;objectitem2=”text”;objectitem3=”text”}

the identifier variable deserves some extra clarification: as identifier of a MDT object the following items can be used; at least one of them has to be defined:

-assetTag           uses the assetTag as identifier                     example:  E123456
-macAddress     uses the MAC address as identifier             example:  00:12:34:56:78
-serialNumber  uses the serialnumber of the machine          example:  12345678
-UUID              uses the UUID as identifier                          example: 329800735698586629295641978511506172918 (more information about UUID’s can be found on this link)

Syntax of New-MDTLocation:  New-MDTLocation –name LocationName –gateways IPADDRESSGW1,IPADDRESSGW2 –settings @(objectitem1=”text”;objectitem2=”text”;objectitem3=”text”}

Syntax of New-MDTMakeModel: New-MDTMakeModel –make Makename (example: HP, Dell) –model ModelName settings @(objectitem1=”text”;objectitem2=”text”;objectitem3=”text”}

Syntax of New-MDTPackageMapping: New-MDTPackageMapping –ARPName –package used to create mapping to packages on external systems like SCCM

Syntax of New-MDTRole: New-MDTRole –name RoleName settings @(objectitem1=”text”;objectitem2=”text”;objectitem3=”text”}


Set-MDT* and Get-MDT*

Of the next two groups Set-MDT* and Get-MDT* ,the first function is the one that realy does configure MDT Objects. they do this in the following way:
Get-MDT* –ID mdtitemID –settings @(objectitem1=”text”;objectitem2=”text”;objectitem3=”text”}
The second function (Get-MDT*) is mainly there to fetch MDT object and to extract their ID's to use them in a Set command.
The way to retrieve the object ID is done like this: (Get-MDTComputer -macAddress $mac).ID where the MAC address is in a format like nn:nn:nn:nn:nn but offcourse the other three object identifiers can also be used to retrieve the object ID.
Another way to retrieve the ID of an object is to open the MDT MMC and look for the object, the ID is found in the table and in the GUI Tabs:

image

CommandType Name
----------- ----
Function Set-MDTArray
Function Set-MDTComputer
Function Set-MDTComputerAdministrator
Function Set-MDTComputerApplication
Function Set-MDTComputerPackage
Function Set-MDTComputerRole
Function Set-MDTLocation
Function Set-MDTLocationAdministrator
Function Set-MDTLocationApplication
Function Set-MDTLocationPackage
Function Set-MDTLocationRole
Function Set-MDTMakeModel
Function Set-MDTMakeModelAdministrator
Function Set-MDTMakeModelApplication
Function Set-MDTMakeModelPackage
Function Set-MDTMakeModelRole
Function Set-MDTPackageMapping
Function Set-MDTRole
Function Set-MDTRoleAdministrator
Function Set-MDTRoleApplication
Function Set-MDTRolePackage
Function Set-MDTRoleRole

CommandType Name
----------- ----
Function Get-MDTArray
Function Get-MDTComputer
Function Get-MDTComputerAdministrator
Function Get-MDTComputerApplication
Function Get-MDTComputerPackage
Function Get-MDTComputerRole
Function Get-MDTLocation
Function Get-MDTLocationAdministrator
Function Get-MDTLocationApplication
Function Get-MDTLocationPackage
Function Get-MDTLocationRole
Function Get-MDTMakeModel
Function Get-MDTMakeModelAdministrator
Function Get-MDTMakeModelApplication
Function Get-MDTMakeModelPackage
Function Get-MDTMakeModelRole
Function Get-MDTRole
Function Get-MDTRoleAdministrator
Function Get-MDTRoleApplication
Function Get-MDTRolePackage
Function Get-MDTRoleRole

The Clear-MDT* group

This group functions generally the same like the  Get-MDT* group. just like that function, MDT objects are cleared like this: Clear-MDT* –ID MDTObjectID
CommandType Name
----------- ----
Function Clear-MDTArray
Function Clear-MDTComputerAdministrator
Function Clear-MDTComputerApplication
Function Clear-MDTComputerPackage
Function Clear-MDTComputerRole
Function Clear-MDTLocationAdministrator
Function Clear-MDTLocationApplication
Function Clear-MDTLocationPackage
Function Clear-MDTLocationRole
Function Clear-MDTMakeModelAdministrator
Function Clear-MDTMakeModelApplication
Function Clear-MDTMakeModelPackage
Function Clear-MDTMakeModelRole
Function Clear-MDTRoleAdministrator
Function Clear-MDTRoleApplication
Function Clear-MDTRolePackage
Function Clear-MDTRoleRole

Remove-MDT* group

This group is the opposite of the New_MDT* group: it removes MDT objects from the MDT database.
They function generally the same like the Set- and Get-MDT* groups. just like those functions the MDT object are removed like this: Remove-MDT* –ID MDTObjectID
CommandType Name
----------- ----
Function Remove-MDTComputer
Function Remove-MDTLocation
Function Remove-MDTMakeModel
Function Remove-MDTPackageMapping
Function Remove-MDTRole

All groups have some main functions like –verbose these are used for level of feedback to the user.

Tags van Technorati: ,,,,

Saturday, March 16, 2013

Understanding MDT OS deployments, doing automated LTI deployments, theory of Microsoft OS deployment

This is the Title of a book i publish on this page. It is a book about MDT in the way that it is used. So i will not elaborate on the installation of MDT nor will i provide you with a work instruction to replicate the things i have written.
My main goal here is to provide the reader the knowlegde and understanding he or she needs to get MDT do the things you want it to do.

The document is written from an IT implementor perspective, i will provide the reader basic knowledge about the workings of MDT as well as share advanced topics and solutions to get MDT to do things it cannot do 'out of the box'.
With the aid of PowerShell i managed to build a solution, with the information i share in this document, that has fully automated the Operating System Deployment of a client of mine. i hereby thank all internet sources i have mentioned in "Works Cited". So again:
Thank you:
And everyone i forgot to mention here for all the magnificent work you have done!

This is the first time is have published a work like this, if there are things to be shared or corrected, please let me know via a comment or email.

In advance thank you all and i wish the document and its users a merry future.

Here is the link to download the ebook, on this location also the scripts can be found.
http://sdrv.ms/ZyH49Q

Friday, March 15, 2013

MDT Computer Object Property Details

Doing a lot of research for a book about MDT i am writing i made a listing of all property details of a computer object in MDT (its database) because i did not find a list like this on the Internet i decided it could be useful for people using MDT, so here it is:

CmdLet

Purpose

ADDSLogPath

Path to store the AD database logs

ADDSPassword

Password for user chosen to run dcpromo

ADDSUserDomain

Domain for user chosen to run dcpromo

ADDSUserName

Domain for user chosen to run dcpromo

AdminPassword

Local Administrator password

ApplicationSuccessCodes

Space delimited list of error codes allowed by ZTIApplications.wsf (default: 0 3010)

AreaCode

Area code for the computers location.

AutoConfigDNS

Chooses to auto configure DNS

AutoMode

Sets AutoMode for Server 2003 deployments

AutoUsers

Sets AutoUsers for Server 2003 deployments

BackupDir

Directory on the network share where the computer backup should be stored.

BackupFile

Sets the name of the backup file used with ztibackup

BackupShare

Network share (UNC) where the computer backup should be stored.

BdeDriveLetter

Drive Letter for BDE partition (default S:).

BdeDriveSize

Drive size for BDE partition in MB (default 2048MB).

BdeInstall

Specifies the type of BDE install. (ProtectKeyWithTpm, ProtectKeyWithTpmAndPin, ProtectKeyWithTpmAndStartupKey, ProtectKeyWithExternalKey)

BdeInstallSuppress

Value to indicate whether a BDE Install should be attempted. (YES or NO)

BdeKeyLocation

Specifies the location of Key files (Fully qualified path or REMOVABLEDRIVE).

BdePin

Specifies the startup Pin for BDE (only valid with ProtectKeyWithTpmAndPin).

BdeRecoveryKey

Boolean (any value) creates a recovery key.

BDEWaitForEncryption

(Deprecated) Boolean (any value) indicated whether process should be held to wait for drive encryption to complete.

BitsPerPel

The color depth of the screen in bits per pixel (example: 32, default is OS Default).

BuildID

The BuildID of the Operating System

CaptureGroups

Specifies whether to capture the local group membership from the machine (default is YES; ALL can also be specified).

ChildName

Name of child domain

ComputerBackupLocation

Specifies where the computer backup should be stored (AUTO, NETWORK, NONE, specific path, default is AUTO).

ComputerName

This variable has been deprecated and should only be used for backwards compatibility.

ConfirmGC

Chooses whether to Confirm communication to GC

CountryCode

Country or region code to use for telephony.

CriticalReplicationOnly

Chooses to only replicate critical information

DatabasePath

Path to store the AD database

DestinationDisk

Used when multiple disks are used

DestinationPartition

Used when multiple disks are used

DHCPScopes

Number of DHCP Scopes to Configure

DHCPScopes0Description

Description for the first DHCP Scope

DHCPScopes0EndIP

Ending IP for the first DHCP Scope

DHCPScopes0ExcludeEndIP

End of the excluding IP range for the first DHCP Scope

DHCPScopes0ExcludeStartIP

Start of the excluding IP range for the first DHCP Scope

DHCPScopes0IP

IP Subnet for the first DHCP Scope

DHCPScopes0Name

Name for the first DHCP Scope

DHCPScopes0OptionDNSDomainName

DNS Domain Name for the first DHCP Scope

DHCPScopes0OptionDNSServer

DNS Server for the first DHCP Scope

DHCPScopes0OptionLease

Lease Duration for the first DHCP Scope

DHCPScopes0OptionNBTNodeType

NBT Node Type for the first DHCP Scope

DHCPScopes0OptionPXEClient

PXE Client for the first DHCP Scope

DHCPScopes0OptionRouter

Router of the excluding IP range for the first DHCP Scope

DHCPScopes0OptionWINSServer

WINS Server for the first DHCP Scope

DHCPScopes0StartIP

Starting IP address the first DHCP Scope

DHCPScopes0SubnetMask

Subnet mask for the first DHCP Scope

DHCPServerOptionDNSDomain

DNS domain for the DHCP Server Option

DHCPServerOptionDNSServer

DNS Server for the DHCP Server Option

DHCPServerOptionNBTNodeType

NBT NodeType for the DHCP Server Option

DHCPServerOptionPXEClient

PXE Client option for the DHCP Server Option

DHCPServerOptionRouter

Routers for the DHCP Server Option

DHCPServerOptionWINSServer

WINS Server for the DHCP Server Option

Dialing

Type of dialing to use for the telephony device in the computer, such as Tone or Pulse (XP only).

DNSServerOptionBINDSecondaries

Allows BIND secondaries

DNSServerOptionDisableRecursion

Disables recursion on the DNS server

DNSServerOptionEnableNetmaskOrdering

Enables netmask ordering

DNSServerOptionEnableRoundRobin

Enables Round Robin

DNSServerOptionEnableSecureCache

Enables cache security

DNSServerOptionFailOnLoad

Toggles fail on load

DNSServerOptionNameCheckFlag

Name Check Flag

DNSZones

Number of DNS Zones to Configure

DNSZones0DirectoryPartition

AD Partition to store the zone

DNSZones0FileName

File Name of the first DNS Zone

DNSZones0MasterIP

Primary IP for the zone

DNSZones0Name

Name of the first DNS Zone

DNSZones0Scavenge

Enables scavenging

DNSZones0Type

Type of Zone

DNSZones0Update

Enables dynamic updates

DoCapture

Flag to indicate that the machine should be Sysprepped and captured as a new WIM image (default is NO).

DomainAdmin

The name of the account used to join the domain.

DomainAdminDomain

The domain of the account used to join the domain.

DomainAdminPassword

The password of the account used to join the domain.

DomainLevel

Domain functional level

DomainNetBiosName

NetBios Name

DoNotCreateExtraPartition

When specified no extra partitions can be created

DriverGroup

Specifies the name of the driver group from which drivers should be injected

DriverSelectionProfile

Profile name used during driver installation.

EventShare

The UNC path where events for the management pack should be placed.

FinishAction

Specifies what action should be taken when a Lite Touch task sequence completes (SHUTDOWN, REBOOT, LOGOFF, or default of none)

ForestLevel

Forest Level

FullName

The full name that should be assigned to the computer.

Home_Page

Internet Explorer home page.

ID

Computer Object ID

InputLocale

Locale used for keyboard, e.g. 0409:00000409 (XP only, default is OS default).

JoinDomain

The name of the domain in which the computer should be placed.

JoinWorkGroup

The name of the workgroup in which the computer should be placed.

KeyboardLocale

Locale used for Keyboard, can be either 0409:00000409 or en-US format (Vista only, default is OS Default).

LoadStateArgs

Command line arguments for USMT Loadstate.

LongDistanceAccess

Number to dial to gain access to an outside line, such as 9.

MachineObjectOU

The OU in which the computer account should be created (if it does not already exist).

NewDomain

Choice between a new forest or new domain in an existing tree or a new domain in a new tree

NewDomainDNSName

DNS domain name of new domain

OrgName

The organization name that should be assigned to the computer.

OSDAdapter0DNSServerList

Comma delimited list of DNS Servers

OSDAdapter0DNSSuffix

DNS Suffix, example Frabrikam.com

OSDAdapter0EnableDHCP

If false, will disable DHCP, otherwise True (true if blank).

OSDAdapter0EnableDNSRegistration

True/False to enable DNS registration.

OSDAdapter0EnableFullDNSRegistration

True/False to enable FULL DNS registration.

OSDAdapter0EnableLMHOSTS

True/False to enable LMHosts

OSDAdapter0EnableTCPIPFiltering

False to enable TCP/IP Filtering.

OSDAdapter0EnableWINS

True/False to enable WINS

OSDAdapter0GatewayCostMetric

Comma delimited list of Gateway Cost Metrics as either integers, or the string Automatic (if empty, uses automatic)

OSDAdapter0Gateways

Comma delimited list of Gateway cost metrics

OSDAdapter0IPAddressList

Comma delimited list of IPAddress Lists

OSDAdapter0IPProtocolFilterList

Comma delimited list of IP Protocol FIlters

OSDAdapter0MacAddress

If present, match all settings to the adapter with this MAC address.

OSDAdapter0Name

If present, match all settings to the adapter with this name.

OSDAdapter0SubnetMask

Comma delimited list of Subnet masks

OSDAdapter0TCPFilterPortList

Comma delimited list of TCP Filters

OSDAdapter0TcpipNetbiosOptions

NetBIOS OPtions 1 or 0

OSDAdapter0UDPFilterPortList

Comma delimited list of UDP Filters

OSDAdapter0WINSServerList

Comma delimited list of WINS Servers

OSDAdapterCount

Number of Adapters defined here( either blank, 0 or 1)

OSDBitLockerCreateRecoveryPassword

Indicates whether a recovery password should be generated for AD.

OSDBitlockerMode

Specifies the type of BDE install. (KEY|TPMKey|TPMPin|TPM).

OSDBitLockerRecoveryPassword

Specifies the password to use for BDE Password scenarios

OSDBitLockerStartupKey

Specifies the value to use for startup key.

OSDBitLockerStartupKeyDrive

Specifies the location of Key files (Drive)

OSDBitLockerWaitForEncryption

Boolean (any value) indicated whether process should be held to wait for drive encryption to complete.

OSDComputerName

The new computer name to assign to the computer.

OSDDiskIndex

Disk index used for Partitioning (Default is 0)

OSDINSTALLPACKAGE

SCCM property; list of packages to be installed on the client

OSDINSTALLPROGRAM

SCCM property; program to be used for installation of the OSDINSTALLPACKAGE

OSDINSTALLSILENT

when specified True, the program installation will be totally silent

OSDMP

Management point to be used by SCCM

OSDNEWMACHINENAME

SCCM property; SCCM equivalent of OSDComputerName

OSDPartitions

Number of Partitions listed here (Default is None, max of 2, use Default configuration)

OSDPartitions0BOOTABLE

True/False - Is the partition bootalbe

OSDPartitions0FILESYSTEM

Type of File System (Default: NTFS, can be FAT32)

OSDPartitions0QUICKFORMAT

True/False - Shall the format be quick (default: True)

OSDPartitions0SIZE

Size of partition

OSDPartitions0SIZEUNITS

Size units of partition (default: MB, can be GB or percentage )

OSDPartitions0TYPE

Type of partition (Default: Primary, can be Logical or extended)

OSDPartitions0VOLUMELETTERVARIABLE

Variable Name to receive DriveLetter

OSDPartitions0VOLUMENAME

Volume name

OSDPartitions1BOOTABLE

True/False - Is the partition bootalbe (default: True if 1st partition)

OSDPartitions1FILESYSTEM

Type of File System (Default: NTFS, can be FAT32)

OSDPartitions1QUICKFORMAT

True/False - Shall the format be quick (default: True)

OSDPartitions1SIZE

Size of partition

OSDPartitions1SIZEUNITS

Size units of partition (default: MB, can be GB or percentage )

OSDPartitions1TYPE

Type of partition (Default: Primary, can be Logical or extended)

OSDPartitions1VOLUMELETTERVARIABLE

Variable Name to receive DriveLetter

OSDPartitions1VOLUMENAME

Volume name

OSDSITECODE

 

OSFeatures

Comma-delimited list of features to be installed

OSInstall

A flag to indicate that a new OS can be deployed to this computer, set to Y to authorize.

OSRoles

Comma-delimited list of role IDs to be installed

OSRoleServices

 

OverrideProductKey

Override product key (MAK key).

PackageSelectionProfile

Profile name used during Package installation.

ParentDomainDNSName

Parent DNS domain

ProductKey

Product key (non-MAK key).

ReplicaDomainDNSName

Replica DNS domain

ReplicaOrNewDomain

Chooses whether the domain controller will be a replica or part of a new domain

ReplicationSourceDC

DC used to replicate content

ResourceRoot

Specifies the name of a server to be used during the deployment process for resources like drivers, language packs, and hotfixes. (This should be set for ZTI only.)

Role

 

SafeModeAdminPassword

Password used for safemode recovery

ScanStateArgs

Command line arguments for USMT Scanstate.

ServerA

Specifies the name of a server to be used during the deployment process

ServerB

Specifies the name of a server to be used during the deployment process

ServerC

Specifies the name of a server to be used during the deployment process

SiteName

AD SiteName

SkipAdminPassword

Skip admin password

SkipApplications

Skip applications

SkipAppsOnUpgrade

Skips application installation on Upgrade scenario

SkipBDDWelcome

Skip the Lite Touch welcome screen shown when booting from a Lite Touch Windows PE image (default is NO)

SkipBitLocker

Skip the BitLocker pane

SkipBitLockerDetails

Skip the Bitlocker details

SkipBuild

Skip the Build

SkipCapture

Skip capture

SkipComputerBackup

Skip computer backup

SkipComputerName

Skip computer name

SkipDeploymentType

Skip DeploymentType

SkipDestinationDisk

Skip Destination Disk

SkipDomainMembership

Skip domain membership

SkipFinalSummary

Skip the final summary pane presented at the end of a Lite Touch deployment (default is NO)

SkipLocaleSelection

Skip locale selection

SkipPackageDisplay

Skip package display

SkipProductKey

Skip product key

SkipSummary

Skip summary pane

SkipTaskSequence

Skip the task sequence pane (requires that TaskSequenceID be set)

SkipTimeZone

Skip the time zone pane

SkipUserData

Skip user data

SkipWizard

Skip wizard

SLShare

The UNC path where logs should be copied.

SLShareDynamicLogging

Script log share where all MDT events should be written during execution (advanced debugging only)

SMSTSRunCommandLineUserName

Specifies the username (e.g. DOM\USER) that should be used with a Run Command Line action that is configure to run as user

SMSTSRunCommandLineUserPassword

Specifies the password that should be used with a Run Command Line action that is configure to run as user

SystemLocale

Locale used for System (default is OS Default).

SysVolPath

Path to store the SYSVOL

TaskSequenceID

TaskSequence ID used to automate LTI task sequence selection (default is blank)

TimeZone

The time zone identifier that should be used for the computer (XP only).

TimeZoneName

The time zone name that should be used for the computer (Vista only).

TpmOwnerPassword

Specifies the TPM Password for setting ownership.

Type

 

UDDir

The directory that should be created to contain the user data.

UDProfiles

A list of comma-separated usernames that should be captured.

UDShare

The UNC path where user data should be stored.

UILanguage

Default language used for OS before user is logged in, en-US format (default is OS Default).

UserDataLocation

Specifies where the user data should be stored (AUTO, NETWORK, NONE, specific path, default is AUTO).

UserDomain

The domain to be used to make network connections.

UserID

The user ID to be used to make network connections.

UserLocale

Locale used for Keyboard, can be either 0409:00000409 or en-US format (default is OS Default).

UserPassword

The password to be used to make network connections.

USMT3

Designates to always use USMT 3 Valid values are YES or NO.

USMTConfigFile

USMT configuration XML file that should be used when running Scanstate and Loadstate.

Vrefresh

VeThe vertical refresh rate of the monitor in Hz (example: 60, default is OS Default).

WDSServer

Name of the WDS server that should be used when installing WDS images (default is the server that contains the original image).

WipeDisk

Specifies whether the disk should be wiped. (Replace Only)

WizardSelectionProfile

Profile name used by the wizard for filtering the display of various items.

WsusServer

The URL of the WSUS server that should be used (optional, will use Windows Update or policy settings by default)

Xresolution

The horizontal resolution of the screen (example: 1024, default is OS Default).

Yresolution

The vertical resolution of the screen (example: 768, default is OS Default).

_SMSTSORGNAME

Customizes the Task Sequencer engine display banner.