Skip to main content

Posts

Showing posts from 2010

opalis: working around limitations with workflow objects and link operators

UPDATE: pete zerger was kind enough to point out that sometimes i don't make sense, and i missed a very obvious point in the documentation.  since the post itself is still useful, i didn't just scrap it.  :)  instead, i added an addendum. if you've been working with opalis long enough, you might will find that there are moments when hacks are required to get you from one point to the next point.  i've been experimenting a lot with nested workflows.  it's like evolving from inline scripting to scripting with functions and/or subs. i discovered that when using trigger policy to run a nested workflow, a bizarre thing happens.  even if the nested workflow executes with an error, the status returned by the calling trigger policy object is "success".  it didn't make sense at first until i realized that by all accounts, the trigger policy did execute successfully.   well, there's a problem with this.  if it comes back as success, even though some

opalis: multiple policy instances running in the operator console

here is an interesting and rather complex problem i experienced with opalis.  honestly, this thing has probably been going on since i built the environment.  however, i have only begun working with nested workflows which really helped flush it out.   summary essentially, when a master workflow launches a sub workflow, the policy spins in the background and never does anything.  another indication of the problem is that the summary of policies indicate a high number of running instances.  lastly, the problem appears to be environmental since only one opalis instance has the problem.  here is a view of the operator console with this problem.   troubleshooting the first thing i prefer to do in scenarios like these is to try to recreate the problem.  that wasn't difficult on the server having the problem.  the operator console shows a high number of instances, sub-workflows hang indefinitely, etc.  when i tried it in a different environment, replicating the same master/sub nest

powershell: using convertfrom-csv

a friend of mine pointed out this really cool cmdlet called convertfrom-csv today.  using it, you can immediately create a PSCustomObject.  pretty cool!  as a practical example, you can dump out repadmin and use the object to work with data any way you see fit. [96] {D:\temp} > $ foo = convertfrom-csv @(repadmin /showrepl * /csv) [96] {D:\temp} > $ foo | gm TypeName: System . Management . Automation . PSCustomObject Name MemberType Definition ---- ---------- ---------- Equals Method bool Equals(System . Object obj) GetHashCode Method int GetHashCode() GetType Method type GetType() ToString Method string ToString() Destination DC NoteProperty System . String Destination DC=myDC Destination DC Site NoteProperty System . String Destination DC Site=mySite Last Failure Status NoteProperty System . String Last Failure Status=0 Last Failure Time NoteProperty System . String

opalis: trigger policy fails in the testing console

don't be alarmed if you find that while testing nested workflows, the testing console generates an error when it hits the "trigger policy" object.  this is "by design" as the testing console is only designed to test a single policy instance.  it's referenced in this forum post: http://social.technet.microsoft.com/Forums/en-GB/opalisv5v6/thread/b9ac5928-f4b5-4160-ba60-00f683614426

opalis: correcting sql port changes for the operator console

let's say that a friend breaks the operator console in an opalis lab that you helped set up.  if you run into this problem, this is the way to unbreak it.  so to begin with, no matter what you attempt to do, your login fails to work.  in the console, you receive this message: The username or password you have entered is not correct.  Transaction failed. don't be fooled by these messages since they provide very little value with what the actual problem is.  instead, go look at the server.log in the \jboss\server\default\log directory.  in it, you may find information a little more valuable like this message: Caused by: org.jboss.util.NestedSQLException: Could not create connection; - nested throwable: (com.microsoft.sqlserver.jdbc.SQLServerException: The connection to the named instance has failed. Error: java.net.SocketTimeoutException: Receive timed out.); - nested throwable: (org.jboss. resource .JBossResourceException: Could not create connection; - nested throwable: (co

sccm: counting versions by site

if you want to track your site progress as they upgrade to a new client version, just use a query like this: select site.SMS_Assigned_Sites0 as 'Site' , COUNT ( case when sys.client_version0 = '4.00.6221.1000' then 1 end ) as 'SP1' , COUNT ( case when sys.Client_Version0 = '4.00.6487.2000' then 1 end ) as 'SP2' from v_R_System sys inner join v_RA_System_SMSAssignedSites site on sys.ResourceID = site.ResourceID group by site.SMS_Assigned_Sites0   your results should look like the following: Site SP1 SP2 ABC 130 10 XYZ 362 2000

powershell: counting characters to validate strings...

throwing a note together for my failing memory. while running a command to retrieve some values from esx, chris and I ran into a weird problem.  the following command would fail to retrieve the scsi lun information where the model equals symmetrix. Get-VMHost myESXHost | Get-ScsiLun | where { $_.Model -eq "SYMMETRIX" }   while this failed, it worked using a wildcard search. Get-VMHost myESXHost | Get-ScsiLun | where { $_.Model -like "*sym*" }   the most logical thing we decided was funky characters -- and most likely whitespace.  this is what I came up with to find the character count in the model: (Get-VMHost myESXHost | Get-ScsiLun | where { $_.Model -like "*sym*" } | Select-object -First 1).model | Measure-Object -Character

opalis: working with the active directory integration pack

a conversation with my buddies kwan thean keong and alexandre verkinderen got me started on looking into this particularly finicky integration pack.  it seems that during the transition of opalis to microsoft, some things were lost in translation.  this is an attempt to restore some of that but only so far as I've tested -- which admittedly, is not much.   requirements first of all, let's talk about what you're going to need.  one of the things lost apparently were some release notes that provided the much needed requirements that would have saved many an admin some hair and frustration.  as stated in the provided help file for this intpack: System requirements, installation, license, removal and known issues information is published in the Release Notes for this Integration Pack. ah, but fortunately, the details were captured in this blog post .  here is a synopsis. System Requirements Microsoft .NET 3.5 Framework Windows PowerShell 1.0 Quest Powershell Commands

sccm: custom data discovery records (DDRs) using powershell

for anyone who has been creating custom DDRs, this is old hat.  for me, I just wanted to prove that it could be done in powershell.  apparently no one has tried -- or at least web searching has led me to believe it.  :) $Computer = "MarcusRocks" $IPAddress = "192.168.0.25" , "192.168.0.39" $MACAddress = "00:02:A5:B1:11:68" , "00:02:A5:B1:11:69" $SMSDisc = New-Object -ComObject SMSResGen.SMSResGen.1 $SMSDisc.DDRNew( "System" , "myCustomAgent" , "XYZ" ) $SMSDisc.DDRAddString( "Netbios Name" , $Computer, 64, 0x8) $SMSDisc.DDRAddStringArray( "IP Addresses" , $IPAddress, 64, 0x10) $SMSDisc.DDRAddStringArray( "MAC Addresses" , $MACAddress, 64, 0x10) $SMSDisc.DDRWrite([System.Environment]::GetFolderPath( "Desktop" ) + "\$Computer.DDR" )   in sccm 2007, the command to send the DDR to the site server was removed in the sccm sdk redistributable dlls.  this isn'

powershell: listing stuff from add/remove programs

heard from my buddy stefan stranger today and was discussing how to get information from ARP.  this is what we came up with: my method dir "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" | % { get-itemproperty $_.pspath }   his method get-itemproperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*   his method requires less typing but in actuality took longer -- usually about twice as long.  still too fast to notice the difference but interesting anyway.  must be the wildcard. measure-command {dir "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" | % { get-itemproperty $_.pspath }} Days : 0 Hours : 0 Minutes : 0 Seconds : 0 Milliseconds : 736 Ticks : 7368684 TotalDays : 8.52856944444444E-06 TotalHours : 0.000204685666666667 TotalMinutes : 0.01228114 TotalSeconds : 0.7368684 TotalMilliseconds : 736.8684     measure-command {get-itemprop

atlanta systems management user group 10/11/2010

update: recordings are up.  click the titles to go to the recordings! The Atlanta Southeast Management User Group and System Center Virtual User Group invites you to attend the next SMUG meeting scheduled for October 11th, 2010 for a day of great presentations, discussions, and networking. Because this is a hybrid user group meeting there are two ways to register: If you would like to attend IN PERSON at the Alpharetta Microsoft Campus please register here. https://www.clicktoattend.com/invitation.aspx?code=151055 If you would like to attend VIRTUALLY please register here. http://www.clicktoattend.com/?id=151148   DATE & TIME October 11, 2010 10:00 AM – 4:00 PM Eastern Time Zone Lunch provided by Veeam. http://www.veeam.com “The nworks Management Pack provides continuous monitoring of the largest, most demanding virtual environments. It features a centrally managed, distributed architecture for horizontal "no limits" scalability and automatic fai

opalis: common errors while deploying an action server

in this post, I'm capturing a list of error messages as I run across them and documenting the problem.   error 2147023293 :: [0x80070643] :: fatal error during installation this first one is a requirements issue.  however, you can't see it while you're deploying it.  as you can see below, the installation results in a failure. checking the logs, it doesn't produce anything of further value. 2010\10\04 22:38:49.420 [0x80070643] < E > Error deploying Action Server to OPALIS2: - _com_error "Fatal error during installation." "" "-2147023293"   however, when you check the logs on the action server you're deploying to, it becomes very evident why the installation failed to succeed (as highlighted below).   === Logging started: 10/4/2010 17:38:47 === MSI (s) (C8:C0) [17:38:47:171]: Note: 1: 2262 2: PatchPackage 3: -2147287038 MSI (s) (C8:C0) [17:38:47:202]: Machine policy value 'DisableRollback' is 0 MSI (s) (C8:C0)

mvp award for 2010!

      I really do love october.  for two reasons: it really marks the autumn season which is my favorite time of year, and it's my renewal time with the microsoft mvp program. anyway, I got the email today. I'm in the program for another year! (by the way, it's a fantastic program!) Congratulations! We are pleased to present you with the 2010 Microsoft® MVP Award! This award is given to exceptional technical community leaders who actively share their high quality, real world expertise with others. We appreciate your outstanding contributions in System Center Operations Manager technical communities during the past year. congratulations to all my fellow MVPs who were awarded this month as well.

atlanta systems management user group 10/11/2010

  The Atlanta Southeast Management User Group and System Center Virtual User Group invites you to attend the next SMUG meeting scheduled for October 11th, 2010 for a day of great presentations, discussions, and networking. Because this is a hybrid user group meeting there are two ways to register: If you would like to attend IN PERSON at the Alpharetta Microsoft Campus please register here. https://www.clicktoattend.com/invitation.aspx?code=151055 If you would like to attend VIRTUALLY please register here. http://www.clicktoattend.com/?id=151148   DATE & TIME October 11, 2010 10:00 AM – 4:00 PM Eastern Time Zone Lunch provided by Veeam. http://www.veeam.com “The nworks Management Pack provides continuous monitoring of the largest, most demanding virtual environments. It features a centrally managed, distributed architecture for horizontal "no limits" scalability and automatic failover and load balancing for high availability. Optimized, user-configurable data