Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

"Bootstrapping" powershell scripts

Posted on 2016-10-04
8
Medium Priority
?
143 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 71

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
WatchGuard Case Study: NCR

With business operations for thousands of customers largely depending on the internal systems they support, NCR can’t afford to waste time or money on security products that are anything less than exceptional. That’s why they chose WatchGuard.

 
LVL 71

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 71

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: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering 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

The following article is intended as a guide to using PowerShell as a more versatile and reliable form of application detection in SCCM.
Auditing domain password hashes is a commonly overlooked but critical requirement to ensuring secure passwords practices are followed. Methods exist to extract hashes directly for a live domain however this article describes a process to extract u…
Loops Section Overview
Screencast - Getting to Know the Pipeline

877 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