profile picture

Lee Holmes

Precision Computing - Software Design and Development

© Lee Holmes 2024
  • Home
  • Projects
  • Archive
  • Writing
  • About
    2024
      leeholm16 in LNK file forensic artifacts
      Jan 14
    2022
      Installing PowerShell on Steam Deck
      Sep 21
    2021
      Optimizing CSS Coverage with Powershell
      Apr 30
      BinShred - Parsing Arbitrary Binary Data in PowerShell
      Apr 6
      Using Bloom Filters to Efficient Filter Out "Known Good"
      Mar 24
    2019
      Searching for Content in XOR "Encrypted" Data
      Dec 10
      WebSockets from Scratch
      Aug 13
      Extracting Forensic Script Content from PowerShell Process Dumps
      Jan 17
      Extracting Activity History from PowerShell Process Dumps
      Jan 4
    2018
      Producer Consumer Parallelism in PowerShell
      Sep 5
      Scour: Fast, Personal, Local Content Searches
      Aug 28
      XOR is Not as Fancy as Malware Authors Think
      Apr 9
    2017
      Part-of-Speech Tagging with PowerShell
      Dec 20
      Automatic Word Clustering: K-Means Clustering for Words
      Nov 20
      Easily Search for Vanity Ham Call Signs
      Nov 3
      Searching for Content in Base-64 Strings
      Sep 21
      Adding a Let's Encrypt Certificate to an Azure-Hosted Website
      Mar 21
      Why is SeDebugPrivilege enabled in PowerShell?
      Mar 20
      Detecting and Preventing PowerShell Downgrade Attacks
      Mar 17
      Differences between Visual Studio 2003, 2005, 2008, 2010, 2012, 2013, and 2015
      Feb 27
      TimeJournal: Time Profiling for Humans
      Feb 10
      Setting Visual Studio Code to Auto-Update in the Background
      Feb 3
    2016
      Downloading Plain-Text Wikipedia
      Dec 12
      More Detecting Obfuscated PowerShell
      Oct 22
    2015
      Detecting Obfuscated PowerShell
      Nov 13
      Launching Modern Applications from the Command Line
      Oct 30
      Adding custom confirmation to commands
      Mar 28
      The Wonderful World of PowerShell Filtering and Globbing
      Jan 23
      Extracting Tables from PowerShell's Invoke-WebRequest
      Jan 5
    2014
      Maslow's Hierarchy of Security Controls
      Dec 9
      Playing with Classes in PowerShell v5 Preview
      Oct 9
      Creating an Easy PowerShell Uptime Monitor
      Aug 5
      Texting Yourself Sports Alerts with PowerShell
      Feb 21
    2013
      Using PowerShell to Compare / Diff Files
      Nov 30
      Who's in Your Email Social Network?
      Aug 29
      More Packet Hacking with PowerShell - UDP Manipulation
      Aug 16
      Packet Hacking with PowerShell - AKA Mass Defcon Pwnage
      Aug 15
      Redacting Sensitive Information with PowerShell
      Aug 12
      Removing Insecure Wireless Connections with PowerShell
      Jun 7
      Creating Add-ons, Plugins, and Tools for the PowerShell ISE
      Apr 5
      Hacking Pi with PowerShell
      Mar 16
      PowerShell Cookbook V3 Now Available
      Jan 22
    2012
      Bash-like Tab Completion in PowerShell
      Sep 14
      'Whilst' keyword in PowerShell
      Aug 28
      A Poor Man's Profiler with PowerShell and CDB
      Aug 23
      Queueing Theory for the Busy PowerShell Admin
      Apr 26
      How to Download an Entire WordPress Blog
      Apr 1
      A Celebration, if You Can Figure it Out
      Mar 17
    2011
      The PowerShell Pay-it-Forward Award
      Nov 10
      PowerShell Wallpapers
      Sep 26
      Enforcing Single-User Access to PowerShell Remoting
      Aug 24
      Organizational Awareness with PowerShell
      Jun 24
      PowerShell and HTML5 Prototype
      Apr 1
      A very touching final goodbye
      Jan 13
    2010
      Adjusting Token Privileges in PowerShell
      Sep 24
      Interview on the PowerScripting Podcast
      Sep 14
      Aurora Monitoring with PowerShell
      Aug 4
      Which Files Support Authenticode Signatures?
      Jun 3
      Open PowerShell Cookbook Beta Available Online
      Mar 19
      HTML Agility Pack Rocks Your Screen Scraping World
      Mar 5
      Responding to USB Devices in PowerShell
      Mar 2
      PowerShell Hotkey to Pause Pandora
      Feb 26
      Looking for Reviewers for PowerShell Cookbook v2
      Feb 24
      Delayed Screen Captures in PowerShell
      Jan 18
      Where is Rename-Computer?
      Jan 13
      An Exercise in De-Obfuscation
      Jan 4
    2009
      Holiday Wishes
      Dec 18
      Hex Dumper in PowerShell
      Nov 23
      Testing for PowerShell Remoting: Test-PsRemoting
      Nov 20
      Removing Deleted Items Left by the iPhone
      Oct 28
      Scripting Network and TCP Connections in PowerShell
      Oct 28
      PowerShell Cryptography Library
      Oct 19
      PowerShell RPN Calculator
      Oct 12
      PowerScripting Podcast 85 - Eventing, Transactions, Security
      Sep 28
      PowerShell Cookbook Now Available on iPhone
      Sep 25
      PowerShell equivalent of NET HELPMSG
      Sep 15
      More advanced HTTP scripting: Facebook Photo Album Downloader
      Sep 4
      Why So Secure?
      Jul 6
      Get-Help -Online
      Jun 9
      PowerShell Audio Sequencer
      Apr 20
      More Tied Variables in PowerShell
      Mar 26
      Want to Influence the PowerShell Cookbook V2?
      Mar 12
      Moving and Deleting Really Locked Files in PowerShell
      Feb 17
      Making Perfect Change with the Fewest Coins
      Feb 10
      More PowerShell Syntax Highlighting
      Feb 3
      PowerShell Script Encrypter
      Feb 2
      Scripting WinDbg with PowerShell
      Jan 21
      PowerShell P/Invoke Walkthrough
      Jan 19
      DateTime Casts are Language Primitives
      Jan 13
      Should I Refinance? PowerShell the Financial Advisor
      Jan 10
    2008
      Showing Calendars in your OOF Messages
      Dec 3
      How to get PowerShell Swag
      Nov 25
      Introduction to PowerShell Presentation
      Oct 28
      Supporting Additional View Details
      Oct 20
      PowerShell 'Suggestion Mode'
      Sep 8
      Admins, Developers, and Constructive Feedback
      Sep 3
      Client-free PowerShell Remoting - a Live Mesh Command Line
      Aug 8
      Workaround: The OS handle's position is not what FileStream expected
      Jul 30
      PowerShell Execution Policies in Standard Images
      Jul 24
      Importing and Exporting Credentials in PowerShell
      Jun 4
      PowerShell's Noble Blue
      Jun 1
      Generating Code Coverage from PowerShell Scripts
      May 20
      PowerShell Crash - Your Help Needed
      Apr 1
      BgShell - Background Shell
      Mar 28
      Realtime Syntax Highlighting in your PowerShell Console
      Feb 12
    2007
      PowerShell Cookbook Sample Chapter: Environmental Awareness
      Dec 17
      PowerShell's -EQ Operator: Reference Equality vs Value Equality
      Dec 5
      PowerShell Cookbook vs PowerShell in Action
      Nov 21
      3rd Parties and PowerShell Execution Policies
      Nov 20
      Syntax Highlighting in PowerShell
      Nov 7
      Will it Pipe? Brevity and Readability
      Nov 2
      Interacting with SQL Databases in PowerShell: Invoke-SqlCommand
      Oct 19
      Managing INI files with PowerShell
      Oct 2
      Removing Certificates from the Certificate Store
      Aug 23
      Invoking Generic Methods on Non-Generic Classes in PowerShell
      Jun 19
      Obfuscated PowerShell
      Jun 6
      Why Another 3rd Party Book?
      May 18
      You Can Write C / Assembly / Perl in any Language
      Apr 26
      Adding Double-Tap Tab Completion to PowerShell
      Apr 13
      Introducing: New PowerShell Language Enhancements
      Apr 1
      Advanced HTTP / ASP.Net Scripting with PowerShell
      Mar 26
      Converting C# to PowerShell
      Mar 19
      Getting Things Done – Outlook Task Automation with PowerShell
      Mar 1
      Calling a Webservice from PowerShell
      Feb 28
      PowerShell in Action Now Available
      Feb 27
      Controlling Robots with PowerShell
      Feb 20
      Customize Even More with AutoHotkey
      Feb 10
      PowerShell Credentials and GetNetworkCredential()
      Jan 25
      Redirecting Binary Output in PowerShell
      Jan 18
      Import Quicken’s QIF files into PowerShell
      Jan 16
      PowerShell books becoming available
      Jan 12
      Determining your 401(k) Contributions
      Jan 12
      Filtering on the Certificate Provider
      Jan 9
    2006
      Outlook Automation in PowerShell - Calendar Scrubbing
      Dec 14
      Getting Started with PowerShell
      Dec 8
      PowerShell Prompt Here PowerToy
      Nov 20
      Download the Official Windows PowerShell 1.0 Release!
      Nov 14
      Writing PowerShell Cmdlets vs. Writing PowerShell Providers
      Nov 1
      Load a Custom DLL from PowerShell
      Oct 27
      Email Quoting and Wrapping in 59 Bytes
      Oct 25
      Get-HelpMatch - Search Help (Apropos) in PowerShell
      Oct 22
      Counting Lines of Source Code in PowerShell
      Oct 18
      Updated: PowerShell Profile Locations Rationale
      Oct 5
      Great PowerShell Screencasts
      Oct 3
      Exploring the Glide Path of PowerShell
      Sep 27
      SecureStrings and Plain Text in PowerShell
      Sep 7
      PowerShell range operator for other types
      Sep 7
      Exchange team demonstrates their PowerShell integration
      Sep 6
      Value types vs Reference types
      Sep 5
      Coming Soon: Windows PowerShell Pocket Guide
      Sep 2
      Job support in PowerShell
      Aug 31
      Replacing Telnet.exe (now removed from Vista)
      Aug 30
      Scott Hanselman’s 2006 list of Ultimate Developer and Power User Tools
      Aug 30
      Creating Generic Types in PowerShell
      Aug 18
      Accepting Pipeline Input in PowerShell Scripts and Functions
      Aug 15
      More P/Invoke in PowerShell
      Jul 25
      Get the Owner of a Process in PowerShell – P/Invoke and Ref/Out Parameters
      Jul 21
      Set-Location, and [Environment]::CurrentDirectory
      Jul 18
      PowerShell Solves a Mystery
      Jul 17
      How Do I Search the Registry for a Value in PowerShell?
      Jul 12
      “Simple Where” as a Where-Object Shortcut
      Jul 5
      Current Working Directory with PowerShell and .Net Calls
      Jun 26
      Precision Computing Turns One
      Jun 8
      SecureStrings in PowerShell
      Jun 1
      Nothing solves everything – PowerShell and other technologies
      May 11
      Accessing Environment Variables in PowerShell
      May 10
      Running PowerShell Scripts from Cmd.exe
      May 5
      Blogging From PowerShell - Editing Posts With the MetaWeblog API
      May 5
      Blogging From PowerShell – Retrieving Posts With the MetaWeblog API
      May 3
      Jim Launches His PowerShell Blog
      May 2
      Abhishek Launches His PowerShell Blog
      May 1
      The Story Behind the Naming and Location of PowerShell Profiles
      Apr 26
      Monad Evolves to Windows PowerShell
      Apr 25
      Using msh.exe interactively from within other programs
      Apr 20
      Breaking Open the dir-LIVE Script
      Apr 20
      Monad Team Foundation Source Control Provider Now Available
      Apr 7
      HOWTO: Win any contest by being the only one competing
      Apr 6
      Monad Breaking Change - Alignment with Live.com strategy
      Apr 1
      PowerShell the Oracle -- Instant Answers from your Prompt
      Mar 28
      HanselMinutes talks about Monad
      Mar 23
      Enjoy the First Day of Spring
      Mar 20
      MS Connect - Please provide bugs and feedback on Monad!
      Mar 16
      How to get Monad Training?
      Mar 11
      Source Code and the Monad Community
      Mar 7
      Another big Monad blogger splash
      Feb 28
      Introduction to Cryptography
      Feb 28
      Pithy and Readable? Do tell!
      Feb 22
      MSH Logo – allowing users to extend its functionality
      Feb 14
      Caching credentials for administrative tasks
      Feb 10
      MSH Logo – A GUI Disaster
      Feb 8
      MSH Logo - our design strategy
      Jan 26
      Would you like to contribute to "Monad Hacks"?
      Jan 23
      Awesome AJAX web-based telnet application
      Jan 18
      How do I easily load assemblies, when LoadWithPartialName has been deprecated?
      Jan 17
      Now THAT is obfuscated!
      Jan 14
      Monad hosting, an introduction
      Jan 14
      Question: Do you _not_ read the newsgroup?
      Jan 11
      Neat Integration of CodeSmith, MSBuild, Monad and Windows Workflow
      Jan 3
    2005
      burn-console: Optimized, and Ready For Marshmallows
      Dec 18
      Library for Inline C# in MSH
      Dec 14
      Scripting with the Microsoft Shell -- Now on Script Center
      Dec 13
      Accessing Performance Counters in PowerShell
      Dec 9
      burn-console Part III: The Most Efficient MSH Script
      Dec 7
      burn-console Digression: An MSH Script Profiler Part 2
      Dec 5
      burn-console digression: an MSH script profiler
      Dec 1
      burn-console.msh Part II - A working implementation
      Nov 26
      Burn-Console: A Fire-Effect Demo in MSH
      Nov 22
      First Monad Book Soon on Sale
      Nov 21
      Experimenting with Monad’s MshHostRawUserInterface Class
      Nov 17
      parse-textObject – AWK with a vengeance.
      Nov 14
      Selecting an execution policy -- get-help about_signing.
      Oct 31
      PDC videos now available
      Oct 27
      DESCRIPT.ION support in Monad -- Part 3
      Oct 13
      DESCRIPT.ION Support in Monad - Part 2
      Oct 11
      Add File Descriptions to your Directory Listings – DESCRIPT.ION in Monad
      Oct 10
      Monad documentation pack now available
      Oct 3
      Helpful overview of Monad
      Oct 2
      jaMSH: Jeff’s Alternative Monad Shell Host
      Sep 30
      In Defense of Verbosity
      Sep 27
      Want to Help us Decorate? Your Pictures Wanted!
      Sep 24
      Welcome to the Monad family, and thoughts on the PDC
      Sep 21
      New Monad Download Available! (Monad Beta 2)
      Sep 12
      Unit Testing in PowerShell – a Link Parser
      Sep 5
      PDC -- TLN303 Monad: Advanced Command Line Scripting
      Aug 31
      Another Benefit of Monad's WinFX Membership -- SDK Documentation
      Aug 30
      Monad team blog now up!
      Aug 26
      Demonstration of Monad's Security Features
      Aug 16
      Monad Technet Webcast Pt. 2
      Aug 10
      Monad? Astroturfing?
      Aug 8
      Monad and the "First Vista Virus"
      Aug 4
      Reminder: Monad Technet Webcast
      Aug 3
      A Download Manager in MSH
      Aug 3
      Another way to get Monad -- WinFX
      Jul 29
      System Administrator Appreciation Day
      Jul 29
      Command-line shortcut for repetitive operations
      Jul 28
      Regular Expressions in Monad
      Jul 19
      Param statement, and new-object
      Jul 12
      Monad Hosting Part II -- Stop acting like cmd.exe!
      Jul 9
      A History Browsing Prompt
      Jul 8
      ** WARNING ** MSH may make you _too_ efficient
      Jul 1
      Working with the new Monad beta -- getting settled in
      Jul 1
      Jeffrey Snover's Monad TechEd Presentation ... now by Webcast
      Jun 28
      Monad, RSS, XML, and other cool tricks
      Jun 28
      Creating SQL's "join"-like functionality in MSH
      Jun 22
      MSH and YubNub -- A community commandline
      Jun 20
      Updated Monad (Microsoft SHell) released to BetaPlace!
      Jun 17
      A Web-enabled, Monad front end: Monad hosting.
      Jun 17
      Customizing your environment -- Aliases, and Dot-Sourcing
      Jun 14
      Getting started - customize your prompt
      Jun 12
      Welcome, and the project code-named Monad
      Jun 10