When working with PowerShell I’m searching for the same variables over and over again. Every time when I found them again I think the same “Oh yeah, I knew that!”. To minimize my search next time I thought about writing it down.
First question, how do I use these variables? This is pretty straightforward.
Second question, which environment variables can I use? Use the following cmdlet:
Get-Item Env: | sort Name
CommonProgramW6432 C:Program FilesCommon Files
CommonProgramFiles(x86) C:Program Files (x86)Common Files
ProgramFiles(x86) C:Program Files (x86)
CommonProgramFiles C:Program FilesCommon Files
PROCESSOR_IDENTIFIER Intel64 Family 6 Model 23 Stepping 10, GenuineIntel
ProgramFiles C:Program Files
ProgramW6432 C:Program Files
VS100COMNTOOLS C:Program Files (x86)Microsoft Visual Studio 10.0Common7Tools
I was working on a script for monitoring the permissions of mailbox calendar folders, I had a big problem because its an Multilanguage exchange environment. Some of the mailbox folder names are in EN and some are in Dutch.
So I thought in the first place I can get the regional setting of the mailbox and based on that I can decide if it’s a Dutch or EN folder (Calendar or Agenda). But now I found out that some mailboxes got Dutch regional and EN folder names and vice versa.
This is how you can get the default calendar folder without checking the regional or language properties.
Get-mailbox | Get-MailboxFolderStatistics -FolderScope calendar | sort-object Name |ft Identity,Name
Here is a PowerShell script that you can use to open IE with multiple tabs on start-up:
$navOpenInBackgroundTab = 0x1000;
$ie = new-object -com InternetExplorer.Application
$ie.Visible = $true;
If you want to change the default period of item retention ( Recover deleted items) from 14 to X days. To specify a value, enter it as a time span: dd.hh:mm:ss where d = days, h = hours, m = minutes, and s = seconds.
For example, to specify a 15-hour interval, enter 15:00:00. The maximum length of time to retain deleted items is 24,855 days. By default, deleted items are retained for 14 days. This attribute applies to all mailboxes in this mailbox database that don’t have their own item retention attribute set.
Through the EMC:
Go to the properties of the database->limits tab->”Keep Deleted Items for (days)”.
Set-MailboxDatabase "YourDatabaseName" -DeletedItemRetention 7.00:00:00
In this post I will take you through step-by-step how to install Windows PowerShell onto a Windows Server 2008 R2 Core edition instance. I will also add an optional element of making PowerShell your default shell for when you log in.
- First we will install .Net Framework 2 or above, Windows PowerShell, and Server Manager Cmdlets
start /w ocsetup NetFx2-ServerCore
start /w ocsetup MicrosoftWindowsPowerShell
start /w ocsetup ServerManager-PSH-Cmdlets
- 2.Reboot your server and then try powershell.exe at the command line will ensure it is installed onto your system. To run PowerShell now you can just type “PowerShell” .
- Optional: You can optionally set PowerShell to be your default shell instead of cmd. This can be done in two way: By opening RegEdit and editing a setting or you can set the registry setting via PowerShell by navigating to “CD HKLM:”. Below I will paste the code snippet for editing through PowerShell and a screen shot showing where to edit i RegEdit. The path for RegEdit can be determined by the code snippet.
Set-ItemProperty "HKLM:SoftwareMicrosoftWindows NTCurrentVersionWinLogon" Shell "PowerShell.exe"
- Now when you log onto this machine PowerShell will be your default Shell. To make this more useful in the setup stages I always like to add a bit more to the code so it will load the Server Manager Cmdlets, which helps manage Roles and Features.
Set-ItemProperty "HKLM:SoftwareMicrosoftWindows NTCurrentVersionWinLogon" Shell ‘PowerShell.exe –noexit –command "Import-Module ServerManager"’