Latest Posts
  • Power Tips: Validating User Account Passwords (Part 1)

    PowerShell can test user account passwords for you. This works both for local and domain accounts. Here is a sample function called Test-Password:

    function Test-Password
    {
       param
       (
          [Parameter(Mandatory)]
          [string]
          $Domain,
    
          [Parameter(Mandatory)]
          [string]
          $Use…
    • 10 Aug 2020
  • Power Tips: Reading 4K-Hash

    Windows operating systems can be uniquely identified by a so-called 4K-Hash: this is a special hash string that is 4000 bytes in size. You can use this hash for example with “Windows Autopilot” to add physical and virtual machines.

    The 4K Hash is just one piece of information required to…

    • 6 Aug 2020
  • Power Tips: Sophisticated Battery Report

    If your laptop battery is going low too soon, or you’d like to investigate related issues, there is a simple way to generate an extensive battery charging report. It shows exactly when your battery was charged, what its capacity is, and how long it took to deplete.

    Here is the code to create a…

    • 4 Aug 2020
  • Power Tips: Adding PowerShell commands for SharePoint

    The PowerShell Gallery provides easy access to additional PowerShell commands. For example, you can download and install the command extension for SharePoint and use PowerShell to automate your SharePoint sites:

    Install-Module -Name Microsoft.Online.SharePoint.PowerShell -Scope CurrentUser -Force 
    
    
    • 31 Jul 2020
  • Power Tips: Adding PowerShell commands for Azure

    To manage and automate your assets in the Azure cloud, you can easily install a free PowerShell module which comes with a wealth of new PowerShell commands:

    if ($PSVersionTable.PSEdition -eq 'Desktop' -and (Get-Module -Name AzureRM -ListAvailable)) {
        Write-Warning 'AzureRM and Az modules…
    • 29 Jul 2020
  • Power Tips: Showing Wi-Fi SSIDs

    In the previous tip we illustrated how you can dump all Wi-Fi profile names using netsh.exe. Typically, profile names and SSIDs are identical. However, if you are interested in the true Wi-Fi SSID names, you can query these directly by dumping individual profiles and using a wildcard for the profile…

    • 27 Jul 2020
  • Power Tips: Dumping Wi-Fi Passwords

    In the previous tip we used netsh.exe to dump Wi-Fi profiles. Let’s take it a step further and expose the cached passwords:

     # get cleartext password for each profile
     Foreach ($profile in $profiles)
     {
           $password = (@(netsh wlan show profile name="$profile" key=clear) -like '…
    • 23 Jul 2020
  • Power Tips: Showing Wi-Fi Profiles

    PowerShell is not limited to cmdlets and can run executables. For example, there is no built-in cmdlet to list the existing Wi-Fi profiles, but netsh.exe can provide the information:

     
    PS> netsh wlan show profiles
     

    Use Select-String to identify only output lines that match the pattern (a colon with…

    • 21 Jul 2020
  • Power Tips: Redirecting Streams

    PowerShell writes output information to six different streams, and only the output stream is assigned to variables:

    function Invoke-Test
    {
      "Regular Output"
      Write-Host "You always see me!"
      Write-Information "Info"
      Write-Warning "Warning"
      Write-Error "Error…
    • 17 Jul 2020
  • Power Tips: Silencing Write-Host Statements

    Write-Host is an extremely useful cmdlet to output information to a user because this output cannot be discarded:

    function Invoke-Test
    {
      "Regular Output"
      Write-Host "You always see me!"
    }
    
    # both show
    Invoke-Test
    
    # Write-Host still shows
    $result = Invoke-Test
    

    Beginning in PowerShell…

    • 15 Jul 2020