Windows IT Pro is the authoritative and independent resource for windows nt, windows 2000, windows 2003, windows xp. Features a collection of resources and magazines for windows IT professionals.
  
  
  Advanced Search 



What You Need to Know to Start Using PowerShell's Personal Profile Scripts


RSS
Subscribe to Windows IT Pro | See More Scripting Articles Here | Reprints | Or get the Monthly Online Pass—only $5.95 a month!
Main Article    Making PowerShell's Out-Printer Cmdlet Easier to Use

If you aren't familiar with PowerShell's personal profile scripts, they're simply plain text files containing commands that PowerShell executes when it starts up. These scripts don't exist unless you create them, so here's a quick walkthrough on how to set up a profile script and some information to help you understand how they fit into PowerShell's startup process.

How to Set Up a Profile Script
The first step in setting up a standard personal profile script is to find the pathname for that script. PowerShell keeps the pathname in the PowerShell variable $profile, even if the script doesn't exist. So, you can simply type

$profile

after the PowerShell prompt to see the literal path to that file. If you're running Windows XP from your C drive and are logged in as user Owner, $profile will be C:\Documents and Settings\Owner\My Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1.

To create your profile script, open a text editor and type or paste in the code you want PowerShell to execute at startup, then save the file using the pathname shown in $profile. You might need to create the folder WindowsPowerShell before saving the file.

If the profile script fails to run and you receive the error message File <path to script file> cannot be loaded because the execution of scripts is disabled on this system. Please see "get-help about_signing" for more details, you haven't enabled script execution on your system. You can check the current setting for the script execution policy by running the command

Get-ExecutionPolicy

in the PowerShell window. You can also change the policy in the PowerShell window if you're running with administrative privileges. To tell PowerShell to always allow local scripts and trusted remote scripts to run, use the command

Set-ExecutionPolicy RemoteSigned

To tell PowerShell to run only scripts that have been signed with a trusted certificate, use

Set-ExecutionPolicy AllSigned

If the profile script still doesn't execute, make sure you aren't launching PowerShell from a shortcut that has the -NoProfile switch in the command line. PowerShell also won't run your profile script if you're running PowerShell as another user, such as Administrator.

How Profile Scripts Fit Into PowerShell's Startup Process
When Windows PowerShell starts up, it first runs an internal script, no matter what. This internal script is where settings such as the pre-existing PowerShell aliases and functions come from.

Next, PowerShell checks its own home folder for specific PowerShell scripts. This home folder is <System>\WindowsPowerShell\v<PowerShell-version-number>. If you're running the first release of PowerShell on a standard 32-bit Windows computer or 64-bit PowerShell on 64-bit Windows, this is typically just C:\Windows\System32\WindowsPowerShell\v1.0. If you're running 32-bit PowerShell on 64-bit Windows, however, the folder is C:\Windows\SysWOW64\WindowsPowerShell\v1.0. If there's any doubt, just start a PowerShell session as you normally would and after the PowerShell prompt enter

$PSHOME

The path returned is the correct home path for that version of PowerShell.

No matter which home directory is being used, PowerShell runs two different scripts if they exist: first profile.ps1, then Microsoft.PowerShell_profile.ps1. There is a reason for two scripts. You can recompile PowerShell into custom hosts, and you might want to have certain commands run by all of these hosts. Profile.ps1 is a host-independent script that any host can run. Microsoft.PowerShell_profile.ps1 is the script that the standard PowerShell host runs.

After running these scripts, PowerShell then runs your personal profile script or scripts—just as in the system folder, PowerShell actually runs both profile.ps1 and Microsoft.PowerShell_profile.ps1 if they exist.

In general, it makes the most sense to use the personal Microsoft.PowerShell_profile.ps1 file in your Documents folder for most customizations. Using this file offers several advantages:

  1. The file is fairly easy to find once you've created it.
  2. Any changes you make won't affect any other PowerShell hosts on the system.
  3. The commands won't run automatically when you open a session with administrative privileges.
  4. The script will follow you around if you have networked profiles.

If you want to learn more about profile scripts, you can start by looking at the GettingStarted.rtf file that ships with PowerShell. It's located in a subfolder of $pshome\Documents. Other useful resources are the MSDN article "Windows PowerShell Profiles" (http://msdn2.microsoft.com/en-us/library/bb613488.aspx) and the TechNet Scripting Center article "Customizing the Windows PowerShell Console" (http://www.microsoft.com/technet/scriptcenter/topics/winpsh/manual/console.mspx).

End of Article



Reader Comments

You must log on before posting a comment.

If you don't have a username & password, please register now.




Top Viewed ArticlesView all articles
The Memory-Optimization Hoax

Don't believe the hype. At best, RAM optimizers have no effect. At worst, they seriously degrade performance. ...

Friday at PASS Europe 2006

Kevin talks about the closing day of the event and shares a funny Microsoft film. ...

Escape From Yesterworld

Kevin points you to the funniest SQL Server website ever! ...


Related Events Check out our list of Free Email Newsletters!

Scripting eBooks Keeping Your Business Safe from Attack: Encryption and Certificate Services

Best Practices for Managing Linux and UNIX Servers

Building an Effective Reporting System

Related Scripting Resources Become a VIP member of the Windows IT Pro community!
Get it all with the VIP CD and VIP access. A $500+ value for only $279!

Subscribe to Windows IT Pro!
Solve your toughest technical problems with our experts and access 10,000 + articles online. 30% off

Monthly Online Pass - Only $5.95!
Get instant access to 10,000+ articles from Windows IT Pro Magazine!

TechNet Virtual Labs
Evaluate and test Microsoft's newest products.

Job Openings in IT


ADS BY GOOGLE SPONSORED LINKS FEATURED LINKS

Maximize your SharePoint Investment – 8 Cities
Discover best practices and tips for both architecting and administering SharePoint. Early Bird Price of $99 through Sept 15th.

Find a new job now on the all new IT Job Hound!
Search jobs, post your resume, and set up job e-mail alerts!

Master SharePoint with 3 eLearning Seminars
Learn how to build a better SharePoint infrastructure and enable powerful collaboration with MVPs Dan Holme and Michael Noel. Register today!

Top Tools for Virtualization Disaster Recovery & Replication
View this web seminar on August 14th to learn about two tools that will result in faster backup and restore with P2V disaster recovery.

SharePointConnections Conference Fall 2008
Don’t miss the premier event for Microsoft IT Professionals in Las Vegas, November 10-13. Register and book your room by August 25 and receive a FREE room night (based on a three night minimum stay).

VMworld 2008 - Sign Up Today!
Join your peers on September 15-18 at The Venetian Hotel in Las Vegas as VMware hosts VMworld 2008, the leading Virtualization event.



Entrust Unified Communications Certs
Secure Exchange 2007 and save 20%. Now through Sept. 2008.

Increase Application Performance
Free White Paper by Editor's Best winner, Texas Memory Systems.

Need to convert between XML, DBs, EDI, and Excel? Try MapForce free!
Drag & drop to transform between popular data formats – get results instantly or generate code.

Microsoft® Tech•Ed EMEA 2008 IT Professionals
Advance your thinking with new ideas and practical real-world solutions at Microsoft’s FIVE day technical infrastructure conference 3-7 Nov., 2008. Register before 26 September 2008 to save €300.

Order Your SQL Fundamentals CD Today!
Learn how to use SQL Server, understand Office integration techniques and dive into the essentials of SQL Express and Visual Basic with this free SQL Fundamentals CD.

Are You Really Compliant with Software Regulations?
View this web seminar that will help you with compliance best practices and check out a management solution to assure that you won’t be in jeopardy of an audit.

Virtualization Congress Oct. 14-16 in London
Don't miss Virtualization Congress, the premiere EMEA conference dedicated to hardware, OS and application virtualization. Oct. 14-16.
Windows IT Pro Home Register FAQ for Windows WinInfo News
Europe Edition About Us Contact Us/Customer Service Media Kit Affiliates / Licensing  
SQL Server Magazine Office & SharePoint Pro Windows Dev Pro IT Job Hound ITTV
IT Library Technical Resources Directory Connected Home Windows Excavator Windows SuperSite 
 
 Windows IT Pro is a Division of Penton Media Inc.
 Copyright © 2008 Penton Media, Inc., All rights reserved. Terms and Use | Privacy Statement | Reprints and Licensing