Main Page

From Svendsen Tech PowerShell Wiki
Jump to: navigation, search

Welcome to the Svendsen Tech Wiki.

It's about PowerShell, Perl, Python, Linux, Windows, technology, programming, system administration and that which seems relevant - plus pseudorandom crap (almost literally here).

I feel a need to mention that this wiki has been a work in progress and I've learned and picked up new things along the way. The early articles don't always conform to my current preferred code style and are sometimes poorly structured (that still happens somewhat). The code style is influenced heavily by the official guidelines. The style guidelines can be found here (I haven't read all of them yet), and the community guidelines are here.

I am considering (and have indeed sporadically been) rewriting some of the code, but it's tedious and it should mostly be fine logically and functionally, so the motivation is somewhat lacking.

Click here for my Microsoft PowerShell Gallery profile (started publishing in October 2016) - and click here for my GitHub profile (started in April 2017).


If you find something here useful and want to reward my efforts, please consider donating a small amount. It's greatly appreciated even if it is done mostly as a gesture. Who am I kidding - you're not going to donate.

Recommended Articles

  • A Merge-Csv cmdlet - Combines CSV files or custom PowerShell objects based on one or more shared columns/headers/properties (an ID column - such as one containing usernames) and creates a joined version with all columns from all files. Some consistency checking and reporting is done.
  • A Module With SSH Cmdlets For PowerShell - Pretty cool stuff. Based on the SSH.NET library found on GitHub. Connect to, execute commands against and collects results from multiple hosts via SSH, using this ready-made module.
  • PowerShell foreach Loops And The ForEach-Object Cmdlet - Learn about foreach loops in PowerShell, and the ForEach-Object cmdlet used for pipeline processing.
  • Get Folder Sizes with PowerShell, Blazingly Fast - Uses COM with a fallback to robocopy to avoid 260-character limit on path length seen with Get-ChildItem/.NET, and is also very fast.
  • PSnmap - A PowerShell nmap-like program. TCP port scan subnets using CIDR notation, IP/subnet, IP or DNS/NetBIOS names. Runspaces for concurrency.
  • PSipcalc - Retrieve network information about subnets and enumerate IPs in subnets with PSipcalc - a sort of PowerShell clone of the Linux ipcalc utility.
  • Invoke-PsExec for PowerShell - cmdlet for streamlining use of PsExec.exe from PowerShell. Asynchronous with runspaces.
  • ConvertTo-Json for PowerShell version 2 - If you need to create JSON in a generic, quite seamless way and need to do it with PowerShell version 2 (default in Windows Server 2008 R2 and Windows 7, but both these operating system can be upgraded to later versions of PowerShell (unless you run Exchange 2010, SharePoint in some version I forgot and something else I forgot).
  • The PowerShell Where-Object cmdlet - Learn about PowerShell's Where-Object cmdlet.
  • The PowerShell for loop - Learn about regular for loops in PowerShell.
  • Test PowerShell Remoting Cmdlet - an "enterprise" PowerShell remoting test cmdlet. Runspaces for concurrency. Fast!
  • Get-WmiObject-Wrapper - A wrapper around Get-WmiObject that collects data from online servers/workstations and stores it in XML format. There's also a custom XML parser for generating CSV/other reports based on the XML schema Get-WmiObject-Wrapper uses. It's more useful than it sounds!
  • PowerShell Benchmarking Module Built Around Measure-Command - When you want an easy-to-use interface to benchmarking multiple runs of code in script blocks you specify.
  • PowerShell Regular Expressions - Examples and details on most use cases for regular expressions with .NET/PowerShell. It's a comprehensive article.

Fun Articles

External Resources

PowerShell Books