I Often find my self needing to open tools such as AD or DNS as a different user account. This is because as a security best practices I usually recommend organizations run dual account security. Where an IT team member uses a separate account for admin activity vs their day to day account that has email. This is a great way to increase security and limit your exposure. However, it often can prove to be a productivity killer for IT teams. As each tool such as AD or DHCP needs to be run as a different user, or you need to have a jump box to do administration.
To avoid this issue I went and wrote a powershell script to help launch your admin utilities as another account.
I customized this one to allow any one to customize the app launcher to run any tools or commands you need it to. When it launches you will have simple way to start all your admin tools as another account. The Caveat, is you have to launch powershell once as a different user. This works for me since I almost always have powershell open.
To get started with this script you will need to create a shortcut with the run as command and that launches powershell. And then simply add the following scripts to your profile and then you will have a customizable Launcher.
function Start-AdminTools {
#===========================================================================
# Modify Tile names and programs you want run
#===========================================================================
$buttonTitle1 = "AD Center"
$buttonTitle2 = "Group Policy"
$buttonTitle3 = "AD User - Comp"
$buttonTitle4 = "Server Manager"
$buttonTitle5 = "DHCP"
$buttonTitle6 = "DNS"
$launchapp1 = "C:\WINDOWS\system32\dsac.exe"
$launchapp2 = "gpmc.msc"
$launchapp3 = "dsa.msc"
$launchapp4 = "servermanager"
$launchapp5 = "dhcpmgmt.msc"
$launchapp6 = "dnsmgmt.msc"
#===========================================================================
# Xaml Script for GUI Interface
#===========================================================================
$inputXML = @"
"@
$inputXML = $inputXML -replace 'mc:Ignorable="d"','' -replace "x:N",'N' -replace '^