header image

Archive for January, 2013

The recording, slides and demo script from yesterday’s PowerShell and Active Directory session can be found here: https://skydrive.live.com/?cid=43cfa46a74cf3e96#cid=43CFA46A74CF3E96&id=43CFA46A74CF3E96%2140563

under: PowerShell and Active Directory, PowerShell User Group

  The sixth in the series of articles on PowerShell workflows that are appearing on the Scripting Guy blog has been published. The articles in the series that have been published are: http://blogs.technet.com/b/heyscriptingguy/archive/2012/12/26/powershell-workflows-the-basics.aspx http://blogs.technet.com/b/heyscriptingguy/archive/2013/01/02/powershell-workflows-restrictions.aspx http://blogs.technet.com/b/heyscriptingguy/archive/2013/01/09/powershell-workflows-nesting.aspx http://blogs.technet.com/b/heyscriptingguy/archive/2013/01/16/powershell-workflows-job-engine.aspx http://blogs.technet.com/b/heyscriptingguy/archive/2013/01/23/powershell-workflows-restarting-the-computer.aspx http://blogs.technet.com/b/heyscriptingguy/archive/2013/01/30/powershell-workflows-using-parameters.aspx Look for the next article in one weeks time. Until then Enjoy!

under: PowerShell V3

Quick reminder for tomorrow’s session from the UK PowerShell group.  Details from: http://msmvps.com/blogs/richardsiddaway/archive/2013/01/16/uk-powershell-group-29-january-2013.aspx

under: PowerShell and Active Directory, PowerShell User Group

Piping between functions

Posted by: | January 19, 2013 | No Comment |

A question came up about piping between advanced functions. The input to the second function might be an array. To illustrate how this works imagine a function that gets disk information – or better still use this one. function get-mydisk{ [CmdletBinding()] param ( [string]$computername="$env:COMPUTERNAME" ) BEGIN{}#begin PROCESS{ Get-WmiObject -Class Win32_LogicalDisk -ComputerName $computername | foreach { […]

under: PowerShell Basics

My test environment usually has a dozen or so machines at any one time. Some of these are short lived and used for a particular piece of testing – others are kept for  years. I decided that I wanted to keep up to date on the patching of these virtual machines so installed WSUS on […]

under: Hyper-V, Windows Server 2012, WSUS

Ok the embarrassing moral of this story is that you shouldn’t answer questions in a hurry at the end of the evening. 5 minutes after shutting down I realised that there is a far, far simpler way to get the info. Win32_AccountSID is a WMI linking class. It links Win32_SystemAccount and Win32_SID classes. Get-WmiObject -Class […]

under: PowerShell and WMI

Account SIDs revisited

Posted by: | January 16, 2013 | No Comment |

I realised there is an easier way to get the data function get-SID { param ( [string]$computername = $env:COMPUTERNAME ) Get-WmiObject -Class Win32_AccountSID -ComputerName $computername | foreach { $exp = "[wmi]’" + $($_.Element) + "’" Invoke-Expression -Command $exp | select Domain, Name, SID, LocalAccount } } Use the wmi type accelerator with the path from […]

under: PowerShell and WMI

Passing function names

Posted by: | January 16, 2013 | No Comment |

A question asked about passing a function name into another function which then called the function. It sounds worse than it is. if you need to pass the name of a command and then call it try using invoke-expression function ffour { Get-Random } function fthree { Get-Date } function ftwo { param( [string]$fname ) […]

under: PowerShell Basics

Account SIDs

Posted by: | January 16, 2013 | No Comment |

A question on the forum asked about finding the accounts and SIDs on the local machine. function get-SID { param ( [string]$computername = $env:COMPUTERNAME ) Get-WmiObject -Class Win32_AccountSID -ComputerName $computername | foreach { $da = (($_.Element).Split(".")[1]).Split(",") $sid = ($_.Setting -split "=")[1] -replace ‘"’,” $props = [ordered]@{ Domain = ($da[0] -split "=")[1] -replace ‘"’,” Account = […]

under: PowerShell and WMI

When: Tuesday, Jan 29, 2013 7:30 PM (GMT)Where: virtual *~*~*~*~*~*~*~*~*~* Active Directory is one of the commonest automation targets for administrators. This session will covert the basics of automating your AD admin – scripts and the Microsoft cmdlets. The new features in PowerShell for Windows 2012 AD will also be covered Notes Richard Siddaway has […]

under: PowerShell and Active Directory, PowerShell User Group

Older Posts »

Categories