Powershell

Checking DELL Warranty Online

PowerShell Version 2.0 and later If you own a DELL computer, you can take advantage of a web service that takes your computer serial number and...

Cmdlets to Manage MSI Packages

PowerShell 2.0 and later Anyone who needs to manage MSI installer packages may benefit from an open source project found here:...

Reading Multiline Text

PowerShell 3.0 and later Sometimes you will stumble across tips like the following one: $FilePath = "$env:SystemRoot\WindowsUpdate.log"...

Requiring Administrator Privileges

PowerShell 4.0 and later If you know that a given script needs Administrator privileges, then a simple #requires statement is enough to make sure...

Analyzing and Removing Print Jobs

Windows 8.1 or Server 2012 R2 Both Windows 8.1 and Server 2012 R2 come with a module called “PrintManagement”. It includes all cmdlets...

Listing All Print Jobs

Windows 8.1 or Server 2012 R2 Both Windows 8.1 and Server 2012 R2 come with a module called “PrintManagement”. It includes all cmdlets...

Remotely Updating Group Policy

Windows 8.1 or Server 2012 R2 To update Group Policy settings on a remote machine, use Invoke-GPUpdate, and submit the name of the computer where...

Managing Printers

Windows 8.1 or Server 2012 R2 Both Windows 8.1 and Server 2012 R2 come with a module called “PrintManagement”. It includes all cmdlets...

Simplifying .NET Types

All PowerShell versions PowerShell uses short names for the most common .NET types. To see if there is a short name for a .NET type you are using,...

Converting Code to Uppercase

PowerShell ISE 3.0 and later To turn PowerShell code to all uppercase letters in PowerShell ISE, select the text, then press CTRL+SHIFT+U. To turn...

Mapping Drives

PowerShell Version 3 and later To permanently map a network drive, use New-PSDrive with the –Persist parameter. This parameter makes the drive...

Using System Error Colors for Output

All Versions If your script wants to output warnings or error messages, you can use Write-Warning or Write-Error. Both cmdlets will use the default...

Conditional Breakpoints

PowerShell 3.0 and later The PowerShell ISE supports line breakpoints only: they make the code stop once the debugger hits that particular line. You...

Detecting 64-bit Operating System

Windows 7/Server 2008 R2 To detect whether a script runs in a 32-bit or 64-bit environment is fairly easy: check a pointer size, and test whether it...

Creating NTFS Security Report

All PowerShell Versions If you'd like to audit NTFS permissions on your file servers, here is a suggestion how you could start. This script...

Finding Explicit Permissions

All PowerShell versions Typically, NTFS permissions in the file system are inherited. You can, however, add explicit permissions to files and...

Accessing COM Objects without ProgID

All Versions Typically, to access COM objects, these objects need to register themselves in the Windows Registry, and PowerShell needs the...

Dealing with Hidden Files

PowerShell 3.0 and later When you use Get-ChildItem to list files, by default, hidden files are excluded. To include hidden files, use the...

Changing GPO Description/Comment

GroupPolicy Module When you create a new Group Policy, you can set a comment (or description). There is no apparent way, however, to change the...

Checking PowerShell Security

PowerShell 2.0 and later This sample code finds all PowerShell scripts in a given drive, then checks the scripts for valid digital signatures, and...

Dealing with %ERRORLEVEL%

All PowerShell versions When you run native EXE console commands inside your scripts, these commands typically return a numeric return value. This...

Compacting Paths

[WindowsAPILib.Helper _i="0" _address="0" theme_builder_area="post_content" /][WindowsAPILib.Helper _i="1" _address="1"...

Get the OU from an LDAP Path

All Versions To extract certain parts from raw strings, you can often use a combination of text splitting and text substring commands. For example,...

Creating Huge Dummy Files

All PowerShell versions If you need to stress test systems, or need large dummy files for other purposes, here is some code that can create even...

Limiting Maximum String Length

All Versions To make sure output text is not excessively long, you can use logic like this to shorten text that is longer than a given maximum...

Catching Errors in Native EXEs (Part 2)

All versions Here is yet another approach that you can use to detect errors emitted by console applications: $ErrorActionPreference = 'Continue'...

Cloning NTFS Permissions

All PowerShell Versions Here is some simple code that reads the NTFS permissions from one folder and applies the exact same settings to another....

1 54 55 56 57 58 104