Monday, October 22, 2018

windows - Executing a powershell script through batch file


I am trying to execute a powershell script through a batch file, at the moment I am only testing this to get it running so the .ps1 file is simply a hello world script.


This ALMOST works fine except there is a spanner to throw into the works;


I am trying to have the .ps1 stored in a remote location (on a shared NAS to be specific). This works when I have the .ps1 saved locally and point the .bat to the local .ps1.


However now that the .ps1 is in the remote location I am thrown with the following error;


"file (pathname) cannot be loaded. The file (pathname) is not digitally signed. The script will not execute on the system"


Now I am aware of execution policies and mine are as follows;


MachinePolicy  =   RemoteSigned
UserPolicy = Undefined
Process = Undefined
CurrentUser = RemoteSigned
LocalMachine = Bypass

I have tried changing CurrentUser to Bypass but I am thrown with the following;



Windows Powershell updated your execution policy successfully, but the setting is overridden by a policy defined at a more specific scope



Screenshot of above error


Any ideas would be greatly appreciated!


Sorry if this has been a lot of information! If any of it is unclear feel free to ask me to clarify! I'm fairly new to all of this!


Answer



You can still run the script - you just need to tell PowerShell to bypass the system's executionpolicy like this:


powershell.exe -executionpolicy bypass -file \\server\share\yourscript.ps1

No comments:

Post a Comment

hard drive - Leaving bad sectors in unformatted partition?

Laptop was acting really weird, and copy and seek times were really slow, so I decided to scan the hard drive surface. I have a couple hundr...