Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Invoke-command specify scriptblock on the same line

Tags:

powershell

I was wondering is it possible to pass a tiny script into the ScriptBlock parameter but do it all in one line?

For instance, I want to run the following 2 commands:

import-module lync get-csuser

I can do this if I have a powershell script file and call that file explicitly. The contents of the script look like this

invoke-command -ComputerName mycomputer.mylab.com -ScriptBlock {
import-module lync
get-csuser
}

I want to be able to do the above without putting this into a temporary script file and do it on one lime. Is this possible?

Thanks

like image 711
NullPointer Avatar asked Aug 16 '13 14:08

NullPointer


1 Answers

You can use ; to do this. In PowerShell, the semicolon is a statement separator and allows you to use multiple statements on the same line.

invoke-command -ComputerName mycomputer.mylab.com -ScriptBlock { import-module lync ; get-csuser }

The semi-colon is among a handy set of characters that you can use to format things to your needs. Another example is using a backtick to split a command across multiple lines.

like image 133
Anthony Neace Avatar answered Sep 17 '22 21:09

Anthony Neace