Powershell

Managing SharePoint Online

If you use SharePoint Online and would like to manage it via PowerShell, download and install the Microsoft.Online.SharePoint.PowerShell module from...

Create Software Inventories

The Windows registry stores the names and details of all software that you installed. PowerShell can read this information and provide you with a...

Keep PowerShell Modules Up-To-Date

It’s important to check every now and then that your PowerShell modules are up-to-date. If you are using old and outdated modules, you can run...

Adding New PowerShell Commands

PowerShell is just a scripting platform and can be extended with new commands. A great source for new commands is the public PowerShell Gallery. You...

Getting Help for WMI Objects

WMI is extremely powerful but a little underdocumented. To change this, a group has formed and is creating a PowerShell-specific WMI reference:...

Reading Chassis SKU

In Windows 10 and Server 2016, WMI added a new property that simplifies collecting chassis or enclosure SKUs. This one-liner reads the SKU for you:...

Managing Automatic Reset

When a Windows system crashes, it typically reboots immediately. This is called “Automatic Reset Capability”, and with this one-liner...

Using Custom Validation Attributes

Beginning in PowerShell 5, you can create your own attributes, i.e. custom validators. They can be applied to variables (and parameters), and once a...

Testing for Metered WLAN

Ever needed to know whether you are currently connected to a metered (costly) network? Here is a quick way to check: function Test-WlanMetered {...

Using WMI Instance Paths (Part 2)

In the previous tip we showed that the new Get-CimInstance command is missing the important “__Path” property that was returned by...

Using WMI Instance Paths (Part 1)

Generally, it is the best to move away from the old and deprecated Get-WmiObject command and instead use the modern and faster CIM cmdlets like...

Installing PowerShell 7

PowerShell 7 is a portable app and can run side-by-side with Windows PowerShell. You just need to download and install it. This part is easy because...

Enabling Clickable PowerPoint Actions

Using clickable actions in PowerPoint presentations can be super useful to launch Visual Studio Code or PowerShell ISE, and seamlessly open and demo...

Manage Automatic Disk Checks

Whenever Windows detects irregularities with storage drives, it enables an automatic integrity check. For system partitions, on next boot, Windows...

Getting Available Video Resolutions

WMI can return a list of available video resolutions for your video adapter: PS> Get-CimInstance -ClassName CIM_VideoControllerResolution |...

Be Careful with Some Commands

Here are three commands often found in PowerShell scripts that you should be careful about because they can have severe side effects: exit“exit” is...

Dealing with Out-GridView Bug

Out-GridView can serve as a universal selection dialog when you add the -PassThru parameter. The one-liner below stops all services you select in...

Exploring WMI with PowerShell

The Win32_LogicalDevice WMI class represents all logic devices available in a computer, and by querying this “superclass”, you get back all the...

Managing Updates with PSWindowsUpdate

There are many useful PowerShell modules available from the PowerShell Gallery. One helps you managing updates. To download and install it, run:...

Dynamic Argument Completion (Part 5)

In our previous tip we looked at sophisticated completion code that completed application paths. Collecting the completion values could take some...

Dynamic Argument Completion (Part 4)

In the previous tip we explained how you can use [ArgumentCompleter] to add powerful argument completers for parameters. There are limitations...

Dynamic Argument Completion (Part 3)

With the discoveries in our past tips, let’s compose a useful completion code that suggests all available programs you can launch: function...

Dynamic Argument Completion (Part 2)

In our previous tip we looked at [ArgumentCompleter] and how this attribute can add clever code to parameters that provides auto-completion values...

Dynamic Argument Completion (Part 1)

In previous tips we explained various ways of adding argument completers to your parameters. One approach used the [ArgumentCompleter] attribute and...

Listing Installed Applications (Part 2)

In the previous tip we read the registry to find out paths to applications you can launch. This approach worked well but had two flaws: first, the...

1 12 13 14 15 16 104