7

I'm running AutoHotkey 1.0.48.05 on Windows 7.

I'd like CTRL-ALT-P to open PowerShell.

This is what I have so far:

^!p::
    Run %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe
Return

This is the error I get:

File C:\Users[username]\Documents\WindowsPowerShell\profile.ps1 cannot be loaded because the execution of scripts is disabled on this system. Please see "get-help about_signing" for more details.

I've already set the execution policy to RemoteSigned by opening PowerShell ISE as Administrator and running Set-ExecutionPolicy RemoteSigned. (See http://technet.microsoft.com/en-us/library/ee176949.aspx)

How can I get around this problem?

UPDATE: In Windows 10, I don't even need AutoHotKey for this. Instead, I can press WIN+X, A, then Yes.

  • aaht happens if you manually run %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe? – Ƭᴇcʜιᴇ007 Sep 25 '12 at 3:56
  • PowerShell opens (but for some reason it's black instead of blue when I open it this way) – Ryan Sep 25 '12 at 3:58
  • Thats what it looks like when you run it in cmd.exe – soandos Sep 25 '12 at 5:06
  • Have you tried setting the execution policy to something less restrictive. RemoteSigned perhaps? In a powershell session: Set-ExecutionPolicy RemoteSigned – EBGreen Sep 25 '12 at 18:22
  • 1
    I will point out however that if you are in a 64 bit version of windows, you would need to set the execution policy for both 64 bit powershell and 32 bit just to be sure that wasn't it. – EBGreen Sep 25 '12 at 19:16
5

If you are in a 64 bit version of windows, you would need to set the execution policy for both 64 bit powershell and 32 bit.

This means you need to run the same command in both a 32-bit powershell session and 64-bit powershell session. For 32-bit powershell, just search for "Windows Powershell (x86)" in the Start menu.

  • Good call, didn't know this. – MDMoore313 Jan 11 '13 at 20:32
  • Ok how do you do that? I only see one version of the command in the other answers? – whitneyland Sep 26 '17 at 0:24
  • 1
    @Lee You need to run the same command in both a 32-bit powershell session and 64-bit powershell session. For 32-bit powershell, just search for "Windows Powershell (x86)" in the Start menu. – zdan Sep 26 '17 at 1:14
1

I recently ran into the same issue. Instead of changing my execution policy for all scripts, I went with this:

#p::
^!p::
EnvGet, SystemRoot, SystemRoot
Run %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy unrestricted,
return

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.