Skip to main content

Running PowerShell commands from Linux

There are several options for running PowerShell commands from Linux.

Run the PowerShell script over a REST interface

Unless you need a remote shell, the easiest option is to set up a REST interface for your PowerShell scripts. More information here.

Using the winrm Ruby Gem


Using a WS-Management client on Linux


Install an SSH server on Windows


Install a Salt Minion on Windows

  • Install Salt Master on Linux
  • Install Python on Windows
  • Install Salt Minion on Windows
  • Open firewall on Windows for Salt access
  • On Linux, run:
    • # salt "winServer" cmd.run "powershell c:\path\to\script.ps1"

Comments

  1. This comment has been removed by a blog administrator.

    ReplyDelete

Post a Comment

Popular posts from this blog

How to make an HTTP request with PowerShell

If you are making an HTTP request to a RESTful web service, you can use the PowerShell  Invoke-RestMethod cmdlet. This provides a very simple HTTP REST interface, and will also format the result into a PowerShell object. If you would like to use your own functions, you can follow the instructions below. This is a helper function to format (indent) an XML response from a web service. function Format-XML { Param ([string]$xml) $out = New-Object System.IO.StringWriter $Doc=New-Object system.xml.xmlDataDocument $doc.LoadXml($xml) $writer=New-Object system.xml.xmltextwriter($out) $writer.Formatting = [System.xml.formatting]::Indented $doc.WriteContentTo($writer) $writer.Flush() $out.flush() Write-Output $out.ToString() } Here is the function to make the http call. It dumps the response data on the terminal and also returns it as a string to the caller. If there is an error it will dump the HTTP status code and comment on the terminal and return the re...

How to get information about a running process in Windows

wmic allows you to get a lot of information about processes running on a Windows computer. Here are some useful examples To get a list of all running processes: C:\> wmic process list brief To get information about a process with a specific PID: C:\> wmic process where processid=1120 Or to just get the command line: C:\> wmic process where processid=1120 get commandline