IRM and the Object Model
From//blogs.msdn.com/harsh/archive/2007/03/09/irm-and-the-object-model.aspx
A couple of weeks earlier, I saw an interesting issue. It was a normal day as far as days go in support and in comes this issue, where the person in question wants to investigate or rather should I say automate the process of creating IRM settings on document libraries. I wasn’t working on this issue and a colleague took this over. But then somewhere it was lurking, how the hell do you do that? The natural starting point is getting a site/web context and going down to the list and then getting dirty with the properties exposed by the particular SPList object. So after finishing what I had on my plate, I dug into figuring out how exactly to set the IRM settings for a list using the object model. So here goes:
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” ] = 2 ; // Users must verify their credentials every nOfflineDays
spList.IrmReject = true; // do not allow users to upload documents that do not support IRM
spList.IrmExpire = true; //sto[ restricting permissions to documents in this library on expiry date
folder.Properties[ “vti_irm_IrmOfflineDays” ] = nOfflineDays ;
// integer representing number of days after which user needs to verify credentials
folder.Properties[ “vti_irm_IrmExpireDate” ] = dtExpire.ToString( “r” , CultureInfo.InvariantCulture) ;
// date on which to stop restricting IRM permissions to documents
folder.Properties[ “vti_irm_IrmTitle” ] = “Permission Policy Title” ;
folder.Properties[ “vti_irm_IrmDescription” ] = “Permission Policy Description” ;
folder.Update() ;
spList.Update() ;
转载于//www.cnblogs.com/Jeffer/archive/2009/11/26/1611620.html
还没有评论,来说两句吧...