This procedure describes how to export all mailboxes from one Exchange Server to a PST files and how to import the PST files to another Exchange Server in a different domain. Before you begin make sure that:
Tag Archives: PowerShell
Finding process that locks a DLL
| You want to replace a dll on a system, but you get access denied, although you’re admin, have the necessary rights.. so which process is locking the particular file/library. I know, there is handles.exe from Sysinternal Suite, and plenty other tools that do the trick.But, you don’t need third-party tools to get the answer, just use tasklist.exe or PowerShell. |
Getting registry last write time with PowerShell
All registry keys have a value associated with called the Last Write Time. This is analogous to the last modification time for a file. When ever the registry key or one if its values has been created, modified, or deleted the value is updated to the current local system time. Unfortunately, there is no Last Write Time associated with a registry value, but it can be infered from the Last Write Time of the key.
Here is a PowerShell script to read the Last Write Time for a registry key.
Usage:
Get-RegKeyLastWriteTime.ps1 <Key> <SubKey>
Scan IP range using ping
IP scanner for the poor ones ![]()
Just open up a cmd.exe and change the ip range..
C:\>FOR /L %x in (1,1,255) do ping -n 1 192.168.2.%x | find /I "reply" >> c:\temp\pingresult.txt
The above command uses a FOR loop to ping each device and looks for "Reply" in the output. If there is a "Reply" then the host is up.. Results will be written to C:\temp\pingresults.txt
Or the PowerShell version:
C:\> 1..255 | foreach-object { (new-object System.Net.Networkinformation.Ping).Send("192.168.2.$_") } | where-object {$_.Status -eq "success"} | select Address
PowerShell: About SessionConfiguration and how to change them
Remote Access Without Admin Privileges
In PowerShell v.2, remote access is available only to users who hold local administrator privileges. So, even if you do have appropriate remote access to a machine, , you cannot remotely access the system if you are not an Admin. This is not a technical limitation, though, just a safe default. You should use this line to change it :
Set-PSSessionConfiguration -Name Microsoft.PowerShell -showSecurityDescriptorUI
PowerShell: Display almost anything in a graphical GridView
Out-GridView Dirty Tricks
Out-Gridview is a new cmdlet in PowerShell v.2 which allows you to output objects to a “mini” excel sheet like this:
Get-Process | Out-GridView
However, this only works if .NET Framework 3.51 is installed. While PowerShell requires just .NET 2.0, both Out-GridView and ISE-Editor require 3.51 because of their WPF graphical output.
Out-Gridview will display the same columns you would have seen when you output the objects to the console. You should clone the object first to see all object properties in your gridview:
Get-Process | Select-Object * | Out-Gridview
PowerShell: Create a temporary filename
Thanks to Get-Date, you can easily create unique temporary file names with a timestamp:
(Get-Date -format ‘yyyy-MM-dd hh-mm-ss’) + ‘.tmp’
PowerShell: Generate PC Lists using Foreach-Object and -f Operator
Generate PC Lists
One easy way of creating lists of PC names or IP address ranges etc is a simple pipeline like this:
1..40 | Foreach-Object { ‘PC-W7-A{0:000}’ -f $_ }
Use the -f operator to format the number. In this example, it will always be three-digit.
PowerShell: Sort-Object
You can use Sort-Object to sort simple variable types. Have a look at the following:
‘Tom’, ‘Chris’, ‘Judy’, ‘Alan’ | Sort-Object
Input can come from a different command. If you’d like to get seven random lottery numbers, you should try this:
1..49 | Get-Random -Count 7 | Sort-Object
You’ll find that when you feed complex objects into Sort-Object, you should specify the object property you want to sort on (or else Sort-Object will pick one by itself):
Get-ChildItem $env:windir | Sort-Object Length
Here are some more examples:
Get-HotFix | Sort-Object InstalledOn
Get-ComputerRestorePoint | Sort-Object Description