Adding Run AS accounts using powershell
A customer of mine ran across a situation where they had to add a significant number of runas accounts to OpsMgr and didn't want to do it through the UI. The customer happened to have the account information handy and wanted to know how to script this. I provided the following example:
#Rslaten 08/26/2008
#Connect to MG
$mg = (Get-Item .).ManagementGroup
#Create new account object
$oAccount = New-Object Microsoft.EnterpriseManagement.Monitoring.Security.MonitoringWindowsCredentialSecureData
#Input basic account details
$oAccount.Domain = "MyDomain"
$oAccount.UserName = "testaccount"
$oAccount.Name = "Test Account"
$sPassword = "MyPassword"
#Set Password (more complicated than the previous settings)
$oPassword = New-Object System.Security.SecureString
foreach($char in $sPassword.ToCharArray())
{
$oPassword.AppendChar($char)
}
$oAccount.SecureData = $oPassword
#Finally add the account
$mg.InsertMonitoringSecureData($oAccount)
Obviously you could modify this to read the account information from a txt file. Another way (probably a more secure way) is to gather the account information via command line. Check out the Get-Credential command if you want to do this.