Wednesday, May 21, 2014

Mz Computers - SCCM 2012 Application Export issue.

The redirecting page will be displayed and immediately replaced by “”. With this zero-delay, many users will not even notice the presence of the redirecting page.

Application export feature in SCCM 2012 may generate the below

Error: The specified path, file name, or both are too long. The full qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.

The root cause is limitations in the Windows file I/O APIs.
It ideally depends on the longest path in the Application source.
To get the longest path of the source we need to mounted or we can navigate to the source folder in PowerShell, and run below command

$len=0;dir -r|%{if ($_.FullName.Length -gt $len) {$len=$_.FullName.Length}};$len

For ex: Longest path: 100
Which leaves 155 char for SCCM 2012, as it add few files.

Exporting an Application with source creates 2 folders

  1. Application Source i.e. ApplicationName\Content_GUID(36 char)
  2. Application Information for SCCM i.e. Package Metadata, Package Scope, additional .XML files

The total path size should be lesser than 255.

PowerShell to export Application in SCCM 2012

Export-CMApplication -Path c:\ –Name (LocalizedDisplayName) -IgnoreRelated -OmitContent

Mz Computers - Site Replication Model

The redirecting page will be displayed and immediately replaced by “”. With this zero-delay, many users will not even notice the presence of the redirecting page.

SCCM ConfigMgr 2012 Site to Site replication & SQL Replication Guide

Key Components - Site Replication Model

New (SQL) site to site replication model is the most challenging part of System Center 2012 Configuration Manager. Main pillars of SQL replication model.
Key components of new (SQL) replication model
·         DRS – Data Replication Service
·         SSB – SQL Service Broker
·         RCM – Replication Configuration Management/Monitoring
·         RG – Replication Group
·         Replication Pattern
·         Article Name/s

Pillars of SQL replication model

u DRS – Data Replication Service / SSB – SQL Service Broker
u  To replicate the data between configmgr sites, Configuration Manager uses Database Replication Service (DRS). The DRS intern uses SQL Server Service Broker (SSB) to replicate data between the sites.
u RCM -  Replication Configuration Management/Monitoring
u  RCM is a thread of SMSEXEC. This thread keeps an eye on Replication Configuration and Monitoring.
u RG – Replication Group
u  Replication Groups are a set of tables that are monitored and replicated together. Replication groups are segregated and grouped in to THREE Replication Patterns.
u  To get the full list of RG along with replication schedule – Run the SQL query – Select * from vReplicationData each RG (Replication Group) has a unique Replication ID.

u Replication Pattern
u  Replication Patterns are group rules based on those, the replication groups are segregated. Three replication patterns are available.

u  a) Global – Global data is anything that is created by administrator. Two way replication between the CAS and Primaries. e.g Package Metadata

u  b) Global_Proxy – This Replication data is based out secondary servers.

u  c) Site – One way replication to the parent site / CAS. e.g Software Inventory/Hardware Inventory

u Article Name/s
u  Replication Groups are further divided into Article Names based on ReplicationID . Each RG (Replication Group) has a unique Replication ID.
u   Run the SQL query to get the list of Article Names “ Select * from vArticleData “ e.g  Add_Remove_Programs_64_DATA, Add_Remove_Programs_64_HIST, Add_Remove_Programs_DATA, BoundaryGroup, BoundaryGroupMembers etc

Force Site to Site Replication / re-init process

u  EXEC spDrsSendSubscriptionInvalid
u  e.g  EXEC spDrsSendSubscriptionInvalid ‘PrimarySitecode′, ‘CentralSitecode’, ‘Configuration Data’

u  Verifying site replication through SQL Server Management Studio
u  SELECT TOP 1000 *, casted_message_body = CASE message_type_name WHEN ‘X’ THEN CAST(message_body AS NVARCHAR(MAX)) ELSE message_body END FROM [CM_CAS].[sys].[transmission_queue] where to_service_name = ‘ConfigMgrDRS_SitePR1′