PowerShell is largely based on the syntax of the ksh shell, so most constructs that work in ksh will work in PS as well.

In this case:

$FOO=(hostname)

That will interpolate anywhere, not just during variable assignment, so you can do stuff like:

Some-CmdLet -Host (hostname)

If you're familiar with the use of backticks in bash the mechanism is exactly the same, just different syntax.


On 08/27/2015 12:06 PM, Thomas Bartlett wrote:
Nice one, I'll give that a go. You don't happen to know how I can set a variable to equal the result of a powershell command do you? I need to use the hostname of the machine as a parameter for another command. At the minute I'm using hard-coding which is obviously a cardinal sin.

On Thursday, 27 August 2015 15:27:04 UTC+1, Peter Kristolaitis wrote:

    We solve this issue by doing (kind of ugly) stuff like this in our
    modules:

    unless  =>  'if ( ! ( Get-Service mcollectived ) ) { exit 1 }',

    If you don't like that syntax, you may be able to use the $? or
    $LastExitCode variables that get set by PowerShell (I haven't
    tested this, however).  Both of those have non-obvious gotchas.  A
    good writeup on error handling in PS (not Puppet-specific) is
    here:
    
http://blogs.technet.com/b/heyscriptingguy/archive/2011/05/12/powershell-error-handling-and-why-you-should-care.aspx
    
<http://blogs.technet.com/b/heyscriptingguy/archive/2011/05/12/powershell-error-handling-and-why-you-should-care.aspx>

    - Peter


    On 08/27/2015 08:38 AM, Thomas Bartlett wrote:
    Hi Guys,

    So I've been working with puppet on windows and I think my
    approach is all wrong. I've been using the puppetlabs/powershell
    module to run commands, however I'm having difficulty with exit
    codes. Primarily puppet expects exit codes to denote
    success/failure, whereas powershell is returning objects (and
    giving a 0 exit code regardless of result).

    I'm automating the install of old bits of software, so getting
    meaningful answers out of the installers is pretty difficult,
    this means that the scripts are a bit ugly and not very
    idempotent. Typically I have to check a log file to find out if
    the install actually worked.

    Are there any examples out there of windows puppet automation
    that makes heavy use of the powershell module?

    Cheers,

    Tom
-- You received this message because you are subscribed to the
    Google Groups "Puppet Users" group.
    To unsubscribe from this group and stop receiving emails from it,
    send an email to puppet-users...@googlegroups.com <javascript:>.
    To view this discussion on the web visit
    
https://groups.google.com/d/msgid/puppet-users/7b4f140b-05fd-4477-b8bc-62e14f54da70%40googlegroups.com
    
<https://groups.google.com/d/msgid/puppet-users/7b4f140b-05fd-4477-b8bc-62e14f54da70%40googlegroups.com?utm_medium=email&utm_source=footer>.
    For more options, visit https://groups.google.com/d/optout
    <https://groups.google.com/d/optout>.

--
You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com <mailto:puppet-users+unsubscr...@googlegroups.com>. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/4b7bba85-c64c-4ff1-abe0-ef8b9ec56590%40googlegroups.com <https://groups.google.com/d/msgid/puppet-users/4b7bba85-c64c-4ff1-abe0-ef8b9ec56590%40googlegroups.com?utm_medium=email&utm_source=footer>.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Puppet 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/55DF38C0.20208%40alter3d.ca.
For more options, visit https://groups.google.com/d/optout.

Reply via email to