Step 1 Enable IRM on the farm SPWebService svc = SPFarm.Local.Services.GetValue (); SPIrmSettings irmSettings = svc.IrmSettings; irmSettings.IrmRMSEnabled = true; //set true or false based on the situation irmSettings.IrmRMSUseAD = true; irmSettings.IrmRMSCertServer = "certificate server here"; irmSettings.IrmChanges = irmSettings.IrmChanges + 1; svc.Update(); Step2 Set the IRM properties for a document library SPSite site = new SPSite("http:////"); SPList spList = site.OpenWeb().Lists["list_name"]; SPFolder folder = spList.RootFolder; spList.IrmEnabled = true; //corresponds to "Restrict permission to documents in this library on download" // BELOW SET=2, RESET=0 folder.Properties["vti_irm_IrmPrint" ] = 2; // Allow users to print documents folder.Properties["vti_irm_IrmVBA" ] = 2; // Allow users to access content programmatically folder.Properties["vti_irm_IrmOffline"...