?
Solved

"Bootstrapping" powershell scripts

Posted on 2016-10-04
8
Medium Priority
?
165 Views
Last Modified: 2016-10-08
I'm trying to set up all the necessary WMI settings for monitoring a workstation by running a local powershell script.
It's going pretty well.  I'm at the stage where it's about ready for production.

Remaining to solve:
I have all the files on a file share and can copy and import modules from there.  
But the workstations aren't set to run scripts.  So I need to first set them up for "unrestricted" as none of my scripts are signed.
(Then I can set them back to "undefined" when I'm finished).
Ideally, I think I'd want to do everything from a single command or desktop shortcut.
(This must be a fairly typical objective).

So how might you suggest I do that?
Right now I have to run some powershell commands to get things started.
While *I* can do that, it's more tedious and not so "exportable" to others.

For example:
Set-ExecutionPolicy Unrestricted
         (and respond "A")
Copy "\\server\c\\Scripts\MyScript.ps1" "$($Env:Temp)"
Import-Module "$($Env:Temp)\MyScript.ps1"

How to fire off all 3 commands without having to type them all and give a response as well?
A simple one-liner would be great!
0
Comment
Question by:Fred Marshall
  • 3
  • 3
  • 2
8 Comments
 
LVL 40

Expert Comment

by:Subsun
ID: 41828377
You can temporarily bypass the execution policy to run a script.
Example..
Powershell.exe -ExecutionPolicy Bypass -Command C:\Users\Username\Desktop\Test.ps1

Open in new window

1
 
LVL 26

Author Comment

by:Fred Marshall
ID: 41828702
and if the .ps1 file is on a server?
I tried that and it didn't like it. A folder in the server path has spaces in its name and the error seems related to that.  I tried using double quotes around the string and around the foldername and neither helped.  Sorry I'm so new at this...

I do presume that the example you gave would be run from within PowerShell as that seems to almost work.
0
 
LVL 72

Expert Comment

by:Qlemo
ID: 41828713
You can run the line from a batch file, a link, PowerShell or whatever.

I would use
Powershell.exe -ExecutionPolicy Bypass -File 'C:\Users\User name\Desktop\Test.ps1'

Open in new window

which works with spaces.
0
SMB Security Just Got a Layer Stronger

WatchGuard acquires Percipient Networks to extend protection to the DNS layer, further increasing the value of Total Security Suite.  Learn more about what this means for you and how you can improve your security with WatchGuard today!

 
LVL 72

Expert Comment

by:Qlemo
ID: 41828718
For using -Command you would have to write
-Command '& "C:\Users\User name\Desktop\Test.ps1" '

Open in new window

1
 
LVL 40

Expert Comment

by:Subsun
ID: 41828751
As Qlemo mentioned -File should work

-Command should be..
-Command "& 'C:\Users\User name\Desktop\Test.ps1'"

Open in new window

1
 
LVL 26

Author Comment

by:Fred Marshall
ID: 41828763
I tried this on the local computer:
powershell.exe -ExecutionPolicy Bypass -Command C:\Start_WMI.ps1

Open in new window

and this worked.

Then I tried it back on the server like this:
powershell.exe -ExecutionPolicy Bypass -Command  '&"\\10.0.1.194\c\0 AA Scanner\Scripts\Start_WMI.ps1"'

Open in new window

This one still gets stuck with this error:
& : The term '\\10.0.1.194\c\0' is not recognized as the name of a cmdlet, function, script file, or operable
program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:2
+ &\\10.109.1.194\c\0 AA Scanner\Scripts\Start_WMI.ps1
+  ~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (\\10.0.1.194\c\0:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

Open in new window

So, it seems that the [zero] [space] remains an issue.
0
 
LVL 40

Accepted Solution

by:
Subsun earned 1200 total points
ID: 41828772
powershell.exe -ExecutionPolicy Bypass -Command  "& '\\10.0.1.194\c\0 AA Scanner\Scripts\Start_WMI.ps1'"

Open in new window

0
 
LVL 72

Assisted Solution

by:Qlemo
Qlemo earned 800 total points
ID: 41829575
Subsun is correct, the double quotes need to be outermost, and the ticks inside, Nevertheless. you should use the -File syntax.
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

My attempt to use PowerShell and other great resources found online to simplify the deployment of Office 365 ProPlus client components to any workstation that needs it, regardless of existing Office components that may be needing attention.
There are times when we need to generate a report on the inbox rules, where users have set up forwarding externally in their mailbox. In this article, I will be sharing a script I wrote to generate the report in CSV format.
Loops Section Overview
Screencast - Getting to Know the Pipeline
Suggested Courses

600 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question