-
Recent Posts
Archives
- January 2020 (4)
- December 2019 (12)
- November 2019 (9)
- October 2019 (12)
- September 2019 (7)
- August 2019 (12)
- July 2019 (12)
- June 2019 (12)
- May 2019 (12)
- April 2019 (12)
- March 2019 (12)
- February 2019 (12)
- January 2019 (12)
- December 2018 (12)
- November 2018 (12)
- October 2018 (15)
- September 2018 (12)
- August 2018 (15)
- July 2018 (11)
- June 2018 (12)
- May 2018 (12)
- April 2018 (12)
- March 2018 (12)
- February 2018 (12)
- January 2018 (12)
- December 2017 (12)
- November 2017 (14)
- October 2017 (12)
- September 2017 (12)
- August 2017 (12)
- July 2017 (12)
- June 2017 (12)
- May 2017 (12)
- April 2017 (12)
- March 2017 (12)
- February 2017 (6)
- January 2017 (14)
- December 2016 (12)
- November 2016 (12)
- October 2016 (12)
- September 2016 (15)
- August 2016 (12)
- July 2016 (17)
- June 2016 (15)
- May 2016 (12)
- April 2016 (14)
- March 2016 (12)
- February 2016 (14)
- January 2016 (17)
- December 2015 (14)
- November 2015 (12)
- October 2015 (20)
- September 2015 (12)
- August 2015 (16)
- July 2015 (22)
- June 2015 (12)
- May 2015 (12)
- April 2015 (12)
- February 2015 (15)
- January 2015 (19)
- December 2014 (14)
- November 2014 (12)
- October 2014 (23)
- September 2014 (20)
- August 2014 (20)
- July 2014 (20)
- June 2014 (24)
- May 2014 (22)
- April 2014 (20)
- March 2014 (21)
- February 2014 (20)
- January 2014 (20)
- December 2013 (20)
- November 2013 (21)
- October 2013 (20)
- September 2013 (38)
- August 2013 (24)
- July 2013 (20)
- June 2013 (21)
- May 2013 (21)
- April 2013 (22)
- March 2013 (7)
- February 2013 (12)
- January 2013 (24)
- December 2012 (19)
- November 2012 (15)
- October 2012 (8)
- September 2012 (19)
- August 2012 (7)
- July 2012 (5)
- June 2012 (19)
- May 2012 (30)
- April 2012 (21)
- March 2012 (65)
- February 2012 (94)
- January 2012 (54)
- December 2011 (17)
- November 2011 (11)
- October 2011 (15)
- September 2011 (39)
- August 2011 (57)
- July 2011 (58)
- June 2011 (65)
- May 2011 (53)
- April 2011 (25)
- March 2011 (12)
- February 2011 (18)
- January 2011 (27)
- December 2010 (2)
- November 2010 (14)
- October 2010 (13)
- September 2010 (1)
- June 2010 (11)
- May 2010 (31)
- April 2010 (29)
- March 2010 (19)
- February 2010 (31)
- January 2010 (28)
- December 2009 (11)
- November 2009 (40)
- October 2009 (2)
- September 2009 (8)
- August 2009 (21)
- July 2009 (21)
- June 2009 (27)
- May 2009 (32)
- April 2009 (24)
- March 2009 (41)
- February 2009 (42)
- January 2009 (34)
- December 2008 (30)
- November 2008 (40)
- October 2008 (42)
- September 2008 (52)
- August 2008 (40)
- July 2008 (35)
- June 2008 (38)
- May 2008 (29)
- April 2008 (32)
- March 2008 (59)
- February 2008 (43)
- January 2008 (47)
- December 2007 (30)
- November 2007 (62)
- October 2007 (54)
- September 2007 (43)
- August 2007 (44)
- July 2007 (55)
- June 2007 (57)
- May 2007 (55)
- April 2007 (43)
- March 2007 (61)
- February 2007 (50)
- January 2007 (21)
- December 2006 (7)
- November 2006 (16)
Categories
- .NET
- Active Directory
- Active Directory administration with PowerShell
- Architecture
- Azure
- Bash
- BITS
- Books
- CDXML
- CIM
- Cloud
- COM
- Containers
- Deep Dive
- Desired State Configuration
- DevOps
- DHCP
- DNS
- DSC
- European Summit
- Events
- Exchange
- File system
- files
- Firewall
- General
- General IT matters
- Hyper-V
- IIS
- IT Community
- IT Security
- Learning Powershell
- Linux
- Math
- Microsoft
- Modules
- Nano server
- Networking
- Office 2010
- Office 2013
- Open Source
- Opinion
- Outlook
- Philosophy
- Powershell
- PowerShell 7
- PowerShell and Active Directory
- PowerShell and CIM
- PowerShell and Exchange 2007
- PowerShell and IIS
- PowerShell and SQL Server
- PowerShell and WMI
- Powershell Basics
- PowerShell User Group
- PowerShell V2
- PowerShell V3
- PowerShell v4
- PowerShell v5
- PowerShell v6
- powershell.org
- PowerShellGet
- PSAM
- Rant
- Registry
- Science Fiction
- Script of the Week
- Scripting
- Scripting Games
- Scritping Games 2014
- Security
- SQL Server
- Storage
- Strings
- Summit
- Technology
- Uncategorized
- Virtualisation
- Walking
- Windows 10
- Windows 7
- Windows 8
- Windows 8 Server
- Windows 8.1
- Windows Server
- Windows Server 1709
- Windows Server 2008
- Windows Server 2008 R2
- Windows Server 2012
- Windows Server 2012 R2
- Windows Server 2016
- Windows Server 2019
- WMFv5
- WPF
- WSH
- WSUS
Meta
Twitter
Tweets by RSiddaway
Monthly Archives: March 2010
Scripting Games 2010
Don’t expect to be anywhere but in front of your computer between 26 April and 7 May. Why? because the 2010 Scripting Games are happening. The usual 10 events with beginners and advanced versions. A whole bunch of expert commentators … Continue reading
Posted in PowerShell V2
Leave a comment
Book Review: Windows PowerShell 2.0 Best Practices
Author: Ed Wilson and Windows PowerShell Teams at Microsoft Publisher: Microsoft Press ISBN: 978-0-7356-2646-1 I have three main criteria for judging a book: Is it technically accurate? Does deliver the material it claims to deliver? Is worth the cost of … Continue reading
Posted in PowerShell V2
Leave a comment
Module Structure
Since PowerShell 2.0 appeared I have been steadily converting a lot of scripts to modules. Up until now I have been using a single .psm1 file (and possibly a .psd1 file for the manifest). The .psm1 file contains all of … Continue reading
Posted in PowerShell V2
Leave a comment
Folder names without spaces
Problem How can I prevent the creation of folders with spaces in the name from within my script. Solution 001002003004005006007008009010 function New-Folder {param ( [string]$path = "C:Test", [string]$name = "") if($name.Indexof(" ") -ge 0){throw "Folder name contains spaces"} if (!(Test-Path -Path $path)){throw "Invalid path"} if ($name -eq ""){throw "Invalid folder name"} New-Item -Path $path -Name $name -ItemType directory} Define the path and new folder … Continue reading
Posted in Powershell
Leave a comment
Variables I
In my scripts I usually create variables as $a = 3 or similar. There are a number of cmdlets for working with variables Clear-VariableGet-VariableNew-VariableRemove-VariableSet-Variable Lets start with get-variable PS> Get-Variable Name Value—- —–$ *variable? True^ Get-Command_args {}ConfirmPreference HighConsoleFileNameDebugPreference SilentlyContinueError {}ErrorActionPreference … Continue reading
Posted in PowerShell V2
Leave a comment
Rename files problem
I came across this interesting problem and thought it was worth a post. Problem You have a folder with a set of files with names like this Black or Blue [15665782345].txtBlack or Green [1068682345].txtBlack or White [12345].txtBlack or Yellow [A2G345].txtBlue … Continue reading
Posted in PowerShell V2
Leave a comment
Paths: IV
The last of our path cmdlets is Convert-Path. This converts a PowerShell path to a PowerShell provider path. This sequence should explain how it works. PS> cd HKLM:PS> cd softwarePS> cd microsoftPS> Get-Location Path—-HKLM:softwaremicrosoft PS> Convert-Path -Path (Get-Location)HKEY_LOCAL_MACHINEsoftwaremicrosoft … Continue reading
Posted in PowerShell V2
Leave a comment
Paths III
Resolve-Path is interesting in that Resolve-Path c:scripts* "c:scripts*" | Resolve-Path both supply a listing of the contents of the folders. A sample is shown C:scriptsWMICookBookC:scriptsWPFC:scriptsXMLC:scriptsauto.csvC:scriptscomputers.txtC:scriptsemptyfolders.txtC:scriptsencrypted.txtC:scriptsfirewall.ps1C:scriptsimport-mymodule.ps1 It shows files and subfolders with no way to distinguish. There isn’t a way … Continue reading
Posted in PowerShell V2
Leave a comment
Paths: II
Two related cmdlets deal with paths – split-path and join-path. Starting with split-path we can use it to split the path to retrieve the file or directory PS> Split-Path -Path C:ScriptsDC02ScriptsDNSnew-mx.ps1C:ScriptsDC02ScriptsDNS PS> Split-Path -Path C:ScriptsDC02ScriptsDNSnew-mx.ps1 -ParentC:ScriptsDC02ScriptsDNS PS> Split-Path -Path C:ScriptsDC02ScriptsDNSnew-mx.ps1 … Continue reading
Posted in PowerShell V2
Leave a comment
Paths: I
There are a number of cmdlets for working with paths PS> Get-Command *path | select Name Name—-Convert-PathJoin-PathResolve-PathSplit-PathTest-Path Test-Path is the one I probably use most PS> Test-Path -Path "C:UsersRichardDocumentsPowerShell in PracticeTODO.txt"TruePS> Test-Path -Path "C:UsersRichardDocumentsPowerShell in PracticeChapter1.docx"False It returns a … Continue reading
Posted in PowerShell V2
Leave a comment