To avoid the concerns of changing the ps1 extension association, how about adding a right click choice to SendTo PowerShell?
Here is a little VBScript I wrote to set this up.
Code:
'==========================================================================
'
' NAME: SendToPowerShell.vbs
'
' AUTHOR: Mark D. MacLachlan , The Spider's Parlor
' URL: Home
' DATE : 4/24/2008
' COPYRIGHT (c) 2008 All Rights Reserved
'
' COMMENT: Adds SendTo right menu choice for PowerShell.
'
' THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
' ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
' THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
' PARTICULAR PURPOSE.
'
' IN NO EVENT SHALL THE SPIDER'S PARLOR AND/OR ITS RESPECTIVE SUPPLIERS
' BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
' DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
' WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
' ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
' OF THIS CODE OR INFORMATION.
'
'==========================================================================
Set WSHShell = CreateObject("WScript.Shell")
Set WSHNetwork = CreateObject("WScript.Network")
Set objFSO = CreateObject("Scripting.FileSystemObject")
WinDir = WshShell.ExpandEnvironmentStrings("%WinDir%")
strSendToFolder = WSHShell.SpecialFolders("SendTo")
If Not objFSO.FolderExists(Windir & "\sysWOW64") Then
strPathToNotepad = WinDir & "\system32\WindowsPowerShell\v1.0\powershell.exe"
Set objShortcut = WSHShell.CreateShortcut(strSendToFolder & _
"\PowerShell.lnk")
objShortcut.TargetPath = strPathToNotepad
objShortcut.Save
Else
strPathToNotepad = WinDir & "\sysWOW64\WindowsPowerShell\v1.0\powershell.exe"
Set ps86 = WSHShell.CreateShortcut(strSendToFolder & _
"\PowerShell(x86).lnk")
ps86.TargetPath = strPathToNotepad
ps86.Save
strPathToNotepad = WinDir & "\system32\WindowsPowerShell\v1.0\powershell.exe"
Set ps64 = WSHShell.CreateShortcut(strSendToFolder & _
"\PowerShell.lnk")
ps64.TargetPath = strPathToNotepad
ps64.Save
End If