Question: Running Powershell script remotely with custom parameters

This topic contains 1 reply, has 2 voices, and was last updated by Profile photo of Don Jones Don Jones 2 years, 4 months ago.

  • Author
    Posts
  • #17136
    Profile photo of Nicolas Pozza
    Nicolas Pozza
    Participant

    Hello Guys/Girls, I am trying to run this script remotely from a Windows 2008 R2

    # #####################################################################################
    # SCRIPT_NAME: runJMXClient.ps1
    # OS : Windows (PowerShell version)
    # DESC : Websphere JMX Client
    # This script get MBean metric from WebSphere using JMX, the metric to query
    # are read from the configuration file, see monitor.properties
    #
    # Variable WASADM_HOME must be defined in environment
    #
    # The configuration file must be exist in $WASADM_HOME\etc
    # Example of usage:
    # runJMXClient.ps1 monitor.properties
    #
    #
    # DATE : $Date$
    # VERSION : $Rev$
    # AUTHOR : $Author$
    # OBS :
    # NOTE : See also monitor.properties
    # For Linux/Unix use the wrapper script runJMXClient.sh
    # #####################################################################################
    Param(
    [string]$f
    )

    $WASADM_HOME= $Env:WASADM_HOME
    $JAVA_HOME= "$Env:WASADM_HOME/bin/java/win"

    $C1 = "$WASADM_HOME/lib/8.0.0/runtimes"
    $C2 = "$WASADM_HOME/lib"

    $CLASSPATH=
    $CLASSPATH= "$C1/com.ibm.jaxws.thinclient_8.0.0.jar"
    $CLASSPATH= "$CLASSPATH;$C1/com.ibm.ws.admin.client_8.0.0.jar"
    $CLASSPATH= "$CLASSPATH;$C1/com.ibm.ws.ejb.thinclient_8.0.0.jar"
    $CLASSPATH= "$CLASSPATH;$C1/com.ibm.ws.orb_8.0.0.jar"
    $CLASSPATH= "$CLASSPATH;$C2"

    # Logging
    # $L="-J-Dsun.rmi.level=FINEST -J-Djava.util.logging.config.file=$WASADM_HOME/etc/logging.properties"

    $_file = $args
    $cmd = "$JAVA_HOME/bin/java.exe -cp ""$CLASSPATH"" JMXClient $WASADM_HOME/etc/$f 2> $WASADM_HOME/log/runJMXClient.err"

    Invoke-Expression $cmd -ErrorAction SilentlyContinue

    As you can see I have the -F parameter but when I try to run it: Invoke-Command -ComputerName mycompname -FilePath \\mycompnameD$\Appls\IBM\was\scripts\runJMXClient.ps1 -f value it doesn't work.

    Do you know how can I run the script remotely and pass the value I need?

  • #17137
    Profile photo of Don Jones
    Don Jones
    Keymaster

    Look at the -Argument parameter of Invoke-Command. There's a defined mechanism to do what you're after.

You must be logged in to reply to this topic.