-
Recent Posts
Archives
- May 2012 (26)
- 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
- BITS
- Books
- COM
- Deep Dive
- DHCP
- DNS
- Events
- Exchange
- File system
- files
- Firewall
- General
- General IT matters
- IT Community
- IT Security
- Learning Powershell
- Math
- Microsoft
- Networking
- Office 2010
- Opinion
- Outlook
- Philosophy
- Powershell
- PowerShell and Active Directory
- PowerShell and Exchange 2007
- PowerShell and IIS
- PowerShell and SQL Server
- PowerShell and WMI
- Powershell Basics
- PowerShell User Group
- PowerShell V2
- PowerShell V3
- PSAM
- Rant
- Science Fiction
- Script of the Week
- Scripting
- SQL Server
- Strings
- Technology
- Uncategorized
- Virtualisation
- Walking
- Windows 7
- Windows 8
- Windows 8 Server
- Windows Server 2008
- Windows Server 2008 R2
- WPF
- WSH
Meta
Twitter
- Preparing for the next UG meeting - PowerShell in Server 2012 - too much to choose from 1 week ago
- Reading about regular expressions in #PowerShell . My head is exploding 1 week ago
- Sat in San Diego airport waiting to fly home after an awesome deep dive 3 weeks ago
- #PowerShell Deep Dive is over. Another awesome event. It's the only place I learn something from every session 3 weeks ago
- #PowerShell v3 jobs give many more options - results available across sessions in many cases 3 weeks ago
Category Archives: IT Security
Patch Tuesdays 2012
I’ve shown these functions before but as we head rapidly towards 2012 we need to plan next years schedules. One perennial for Windows administrators is patching – therefore we need to know patch Tuesdays. This is next years offenders 10 … Continue reading
Posted in IT Security, Powershell
Leave a comment
Set registry key owner
In chapter 7 of PowerShell and WMI I stated that I would post a .NET version of a script to set ownership of a registry key. The WMI method needs Vista or above so we need the .NET version for … Continue reading
Posted in .NET, IT Security, PowerShell V2
Leave a comment
Using AccountManagement classes to set local accounts expiry
This is a little more verbose than the WinNT example function set-expirydate { [CmdletBinding(SupportsShouldProcess=$true)] param ( [parameter(ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] [string]$computer, [parameter(ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] [string]$id ) BEGIN {Add-Type -AssemblyName System.DirectoryServices.AccountManagement} PROCESS { switch ($computer){ “.” {$computer = $env:computername} “localhost” {$computer = $env:computername} } … Continue reading
Setting local account expiry dates
Setting expiry dates on AD accounts is a common occurrence and is well documented. Setting expiry dates on local accounts is also possible $user = [adsi]“WinNT://./Test1, user” $expirydate = (Get-Date).AddDays(2) $user.Put(“AccountExpirationDate”, $expirydate) $user.SetInfo() $user.RefreshCache() $user | Format-List * This uses … Continue reading
Windows Update: 5 drivers
The previous posts just looked at installing software updates. We can also get driver updates through Windows updates. A simple modification to the get-updates function sets this up. function get-drivers {[CmdletBinding()] param ( [switch]$hidden ) PROCESS{ $session = New-Object -ComObject … Continue reading
Posted in IT Security, PowerShell V2, Technology
Leave a comment
Windows updates: 4 tidy up get-update
Looking at the get-update function we created earlier I wanted to tidy it up a bit. 001002003004005006007008009010011012013014015016017018019020021022023024025026027028029030031032033 function get-update {[CmdletBinding()] param ( [switch]$hidden ) PROCESS{ $session = New-Object -ComObject Microsoft.Update.Session$searcher = $session.CreateUpdateSearcher() # 0 = false & 1 = trueif ($hidden){ $result = $searcher.Search(“IsInstalled=0 and Type=’Software’ and ISHidden=1″ )}else { $result = $searcher.Search(“IsInstalled=0 and Type=’Software’ and ISHidden=0″ )} if ($result.Updates.Count -gt 0){ $result.Updates | select Title, IsHidden, IsDownloaded, IsMandatory, IsUninstallable, RebootRequired, Description}else { Write-Host ” No updates available”} }#process … Continue reading
Posted in COM, IT Security, PowerShell V2
5 Comments
Windows Updates: 3 Installing Updates
Now we have discovered the updates we have available we can think about installing them. 001002003004005006007008009010011012013014015016017018019020021022023024025026027028029030031032033034035036037 function install-update { $session = New-Object -ComObject Microsoft.Update.Session$searcher = $session.CreateUpdateSearcher() $result = $searcher.Search(“IsInstalled=0 and Type=’Software’ and ISHidden=0″ ) if ($result.Updates.Count -eq 0) { Write-Host “No updates to install”}else {$result.Updates | select Title} $downloads = New-Object -ComObject Microsoft.Update.UpdateColl foreach ($update in $result.Updates){ $downloads.Add($update)} $downloader = $session.CreateUpdateDownLoader()$downloader.Updates = $downloads$downloader.Download() $installs = New-Object -ComObject Microsoft.Update.UpdateCollforeach ($update in $result.Updates){ if ($update.IsDownloaded){ $installs.Add($update) }} $installer = $session.CreateUpdateInstaller()$installer.Updates = $installs$installresult = $installer.Install()$installresult } The function looks for non-hidden software … Continue reading
Posted in COM, IT Security, PowerShell V2
Leave a comment
Identity and Access Management
Realtime Publishers have just published my "book" The Essentials Series: Enterprise Identity and Access Management. Its a free download from http://nexus.realtimepublishers.com/ESEIAM.htm. Enjoy Share this post : Technorati Tags: Identity,Access,Management
Posted in IT Security
Leave a comment
Security by Annoyance
I have just received an attachment via hotmail. The zip file contains an .msi. I know the person sending me the file and I know what the file contains – explicitly. I downloaded the file and tried to extract the … Continue reading
Posted in IT Security
Leave a comment
OpenOffice Worm
A report here http://www.techworld.com/security/news/index.cfm?newsid=8938 about a worm targeting OpenOffice and StarOffice is interesting. The worm, while badly written and actually ineffective, is macro based, precisely the attack vector that the open source community has been attacking Office for possessing in … Continue reading
Posted in IT Security
Leave a comment