For example, you should use this line if you want to launch a *.ps1 PowerShell script externally from outside PowerShell via desktop shortcut or...
database-tools
Get All Logged On Users
In a previous tip, you learned how to determine who the user is logged onto the physical machine. However, this will not discover logged-on terminal...
Comparing Hotfixes
If you want to check hotfixes, you should compare installed hotfixes on a master image with some other machine. Go ahead and use Compare-Object and...
Backing Up Event Log Files
WMI provides a method to backup event log files as *.evt/*.evtx files. The code below creates backups of all available event logs: Get-WmiObject...
Opening Excel Reports in a New Window
When opening CSV files with Excel from PowerShell, you may receive exceptions if the particular file was opened by Excel already: Invoke-Item...
Loading .EVT/.EVTX Event Log Files
If customers send in dumped event log files, there is an easy way to open them in PowerShell and analyze content: Get-WinEvent! The -Path parameter...
Checking Loaded Formats
PowerShell Snapins and Modules can add format files that describe how Powershell should auto-format object types. Use this line to check which...
Checking Loaded Assemblies
Use this line to check which .NET assemblies are currently loaded into PowerShell: $host.Runspace.RunspaceConfiguration.Assemblies ReTweet this...
Checking -STA Mode
PowerShell needs to run in STA mode to display Windows Presentation Foundation (WPF) windows. ISE runs in STA mode by default whereas the console...
Filtering Multiple File Types
If you want to filter files based on multiple extensions, you should use this filter: filter Where-Extension { param( [String[]] $extension =...
Cleaning Transcript
When you run Start-Transcript, PowerShell will document all console input and output in a file. To remove all output and create a file with your...
Automated Authentication
You will not want a credential dialog to pop up if you need to run scripts unattended that need to authenticate using credentials. Here is an...
Get Logged On User
You can use this code to find out which user is locally logged on a machine: $computername = 'SomeMachine-or-IP'Get-WmiObject...
Finding Parameter Aliases
Sometimes, cmdlet parameters have additional alias names, but these names aren't well documented. Here is a script that will list all parameter...
Playing Sound in PowerShell
If you would like to catch a user’s attention, you can make PowerShell beep like this:...
Identifying Computer Hardware
If you must identify computer hardware, you could do so on the hard drive serial number: Get-WmiObject -Class Win32_DiskDrive | Select-Object...
Formatting a Drive
In Windows Vista and higher, there is a new WMI class called Win32_Volume that you can use to format drives. However, you should be careful when...
Sending Mails With Outlook
You can use PowerShell to automatically prepare your e-mails and send them via Outlook. The code requires that you first launch Outlook as an...
Setting Mouse Position
PowerShell can place the mouse cursor anywhere on your screen. Here's the code:...
Comparing Services
Compare-Object can help when troubleshooting computers. For example, you should try this to compare the service status on two machines and find out...
Checking Whether User or Group Exists
To find out whether a given local or domain user/group exists, you can simply use the static method Exists():...
Reading Text Files as One Chunk
In a previous tip, you learned how to quickly read in text files. The result was a string array. If you want to read the text as one large string...
Reading Text Files Fast
Let's assume you want to read a large text file. Let's create one: Get-Process | Export-CliXML $home\data.xml(Dir $home\data.xml |...
Making Your Keyboard Sound like Typewriter
PowerShell is all about typing. But if you'd like to get back the old-fashioned typewriter sound, here is a freeware tool that can bring it...