MSU = Migration Studio Update



The Micro Update Service allows records (e.g. User, Apps, Devices) to be updated from an external process (e.g. SCCM build script) by reading micro update files from a shared location. This allows business tools to update ManagementStudio without any knowledge of the  MS API.




The system requires a correctly constructed text file to be placed in one of the folders that the service monitors. 


The file should:-

  • start with      MSU_
  • be a unique filename - See note below.
  • content should identify a ManagementStudio record
  • content should identify at least one field or custom field ID (More than one is OK, but each requires a line)


So Filename MSU_DT113421_01.txt is a valid file name

  • Starts with MSU_
  • Has computer name in the file name
  • Has a   _01  at the end to make this instance of the file name unique, DateTime could also be used to make it unique.
Unique file names are not a requirement, however processed files are stored for later inspection, if they have the same filename they will overwrite previous versions of the file.



If there are multiple projects and therefore multiple versions of the Micro Update Service operational it is important that they monitor different folders.

i.e.

               \\Servername\Share\ProjectName               \\DataServer01\Incoming\MergerProject

               \\Servername\Share\ProjectName               \\DataServer01\Incoming\HardwareRefreshProject



SCCM Command Line to generate file on a share

Cmd.exe /c (echo ID:Hostname:%COMPUTERNAME% & echo QId:691:Upgrade Initiated & echo QId:555:Task Sequence Completed)> \\ServerName\Share\MSU_%COMPUTERNAME%.txt


SCCM Sample including the time in the file name

(echo ID:Hostname:%COMPUTERNAME% & echo QId:691:Upgrade Initiated & echo QId:555:Task Sequence Completed)> e:\MicroUpdates\MSU_%COMPUTERNAME%_%time:~1,1%%time:~3,2%%time:~6,2%.txt



The first line of the text file should identify the ManagementStudio object that will be updated

using the ID prefix and the line must contain the Target Type and the Name or Value of that target.


               ID:IdType:TargetName


Subsequent lines should contain The target type followed by the target followed by the value


             TargetType:Target:NewValue




Updatable Modules


ModuleId Type
ApplicationsAppId or App-CustomerId
User MigrationsMigrationId or Domain\SamAccount or Email or UserAdSid
Devices MigrationsDeviceId or Hostname or SmBiosGuid 
Mail MigrationsMailId or MailName1 or MailName123 (This combines all three fields) or MailAdSid
Bespoke MigrationsBespokeId or BespokeName1 or BespokeName123 or MailAdSid
Deployment UnitsDeployUnitId or DeployUnitName



Target TypeTargetFieldNew Value
IDAppId, MigrationId, Hostname.. etce.g. 1000, 'PC0001', 'global\rhynes'
FieldAppVendor, AppName, FirstName.. etc
CFPathCF Path e.g. 'Form\Section\Field'
CFIdCF Field Id e.g. 1234
ProcessPe.g. 'Process Name\Sub Process'
NoteNSome note text



Special Characters. ':' and 'new line' characters can't normally be used in the 'Value' portion of the micro update and need to be escaped.
To add a ':' use '\:' and to add a new line use '\n'.



ID:Hostname:PC00045

CFId:14801:True

CFId:14802:This is the error message from the task sequence


ID:MigrationID:8901

CFId:153:ThisData2`r`nThatData2`r`nMoreData8


ID:SamAccount:global\ecoopey

CFId:783:True


ID:Hostname:AServerName001

CFId:726:Scheduled

CFId:727:2019-08-04