Episode 143 – Chris Harris from Microsoft on SCOM 2012
Listen to this Episode
Audio available
A Podcast about Windows PowerShell. Listen:
In This Episode {#tiap}
Tonight on the PowerScripting Podcast, we talk to Chris Harris from Microsoft about System Center Operations Manager 2012!
News
This segment is brought to you by PowerGUI Pro with MobileShell, Version Control, and Easy Remote Script Execution.
_
At Quest we are passionate about Windows PowerShell. PowerGUI Pro enables organizations to harness the power of PowerShell without the expense of training and custom scripts and applications. PowerGUI Pro solves issues regardless of the time and place by using MobileShell to remotely manage your infrastructure. Ensure scripting best practices by leveraging integration with popular Version Control systems. Automate against thousands of computers using Easy Remote Script Execution. Get PowerGUI Pro at quest.com/powerguipro{#q7ty}_
- James Brundage is blogging over at http://blog.start-automating.com/
- Hal’s new PowerCLI TrainSignal course is out!{#xhkm}
- User group news:
- Dmitry did an interview{#irfb} with Sean Kearney about PowerShell at the MVP Summit
- The Scripting Games 2011 are here!{#o7sd}
- Episode 22 of the Get-Scripting Podcast{#jh_b} has Travis Jones on talking about the PowerShell Deep Dive
- Jonathan Medd is giving away a copy of the new PowerCLI book{#x38v}
- Take the PowerShell Quiz!{#d.9e}
**
Interview **
This segment brought to you by Start-Automating
Â
Start Scripting to Your Fullest Potential.  At Start-Automating, we can help you unleash the full Power of PowerShell V2.  You can use our deep PowerShell expertise to build rich PowerShell solutions, or we can train you to use PowerShell like a pro. Isn"™t it time you Save-Time, Save-Money, and Start-Automating?  Find out more at Start-Automating.com.
Â
Links:
Â
Chatroom Buzz:
21:47 ## are you deprecating or removing your old commands?
21:50 ## Is there a way we can pull the OpsMgr alerts and perf numbers from a VISIO diagram?Â
21:52 ## monitoring other devices, any intentions for storage arrays? Â NetApp has Powershell SDK.Â
21:52 ## F5 BigIP also supports PowerShell, any intention to hook inot that API?
21:56 ## Will SCOM 2012 deliver any new features associated with monitoring cross platform?
21:58 ## Does the new 2012 design and the removal of the Root Management Server provide support for a larger number of Windows and Web Console users?Â
Superhero: Jesus
** **
Resources
Â
Tobias posted a one-hour Getting Started with PowerShell video
- Marco Shaw blogged about the VMM changes from 2008 R2 to 2012 Beta 1{#nomw}
- Tome’s presentation to the UK PSUG was recorded and is now available online{#c7-y}
- Making the most of the 2011 Scripting Games{#p4pk}
- Ravi posted a very cool PowerShell ISE Addon: Get-History GUI{#e2xa}
Â
** Tips **
This segment brought to you by ServerFault.com
Feedback
This one is from Aaron Nelson aka SQLVariant:
I have a PowerShell question for you gurus. I know precisely how to do this in SQL, but I"™m only kinda-sure how to do this in PowerShell.
My question is how do you contain an OR to only a certain portion of a Where-Object? In SQL all you have to do is put parens around the clauses and that will make their results act as one “˜where"™ clause. In PowerShell all I could think to do is to break it up into multiple Where-Object statements. There has to be a better way to do this right?
SQL Example:
WHEREÂ
(
NAMEÂ LIKE Â ‘%SQL%’
       OR  NAME LIKE  ‘Reporting%’
)
   AND  StartModeÂ
 ‘Auto’
   AND  Started  !=  ‘True’
PowerShell Example (that doesn’t work)
Get-WmiObject
 win32_service  -ComputerName  AARON  |
Where
 {
$_
.
name  -match  “^SQL”  -or  $_
.
name  -match  “Report”
} Â |
Where
 {
$_
.
StartMode  -eq  “Auto”  -and  $_
.
Started  -ne  “True”
} Â |
Select
 SystemName
, Â Name
, Â StartName
, Â Started
,  StartMode  |  Ft  -a
Hal’s answer:Â
Review the Operator Precedence help page{#dsyu}, you’ll see that -and -or are near the bottom, so you need parentheses to make this work. For example:
get-stuff | ? { ($_ -gt $x) -and ($_ -ne $y) }