How can a Windows server be a slave to Jenkins running on Linux when there in an error installing the slave-agent.jnlp file? I want to have a Windows Server 2016 slave node with a master Jenkins (version 2.89.2) running on Red Hat Enterprise Linux 7.x.  I am trying to install the slave-agent.jnlp file from the Jenkins web UI on the Windows server.  I run this command for PowerShell opened as administrator:

javaws -verbose C:\Users\Administrator\Downloads\slave-agent.jnlp


I receive this error: 

Error: The field &lt;jnlp&gt;&lt;application-desc&gt;&lt;argument&gt; has an invalid value:

Launch File

&lt;jnlp codebase="http://FQDNofJenkinsServer:8080/computer/FQDNofWindowsSlave/" spec="1.0+"&gt;&lt;information&gt;&lt;title&gt;Agent for FQDNofWindowsSlave&lt;/title&gt;&lt;vendor&gt;Jenkins project&lt;/vendor&gt;&lt;homepage href="https://jenkins-ci.org/"/&gt;&lt;/information&gt;&lt;security&gt;&lt;all-permissions/&gt;&lt;/security&gt;&lt;resources&gt;&lt;j2se version="1.8+"/&gt;&lt;jar href="http://FQDNofJenkinsServer:8080/jnlpJars/remoting.jar"/&gt;&lt;/resources&gt;&lt;application-desc main-class="hudson.remoting.jnlp.Main"&gt;&lt;argument&gt;32ba31ca5f150c2b3491802b0b60e56574d970a9e601cebad656a113fe325a85&lt;/argument&gt;&lt;argument&gt;FQDNofWindowsSlave&lt;/argument&gt;&lt;argument&gt;-workDir&lt;/argument&gt;&lt;argument/&gt;&lt;argument&gt;-internalDir&lt;/argument&gt;&lt;argument/&gt;&lt;argument&gt;-url&lt;/argument&gt;&lt;argument&gt;http://FQDNofJenkinsServer:8080/&lt;/argument&gt;&lt;/application-desc&gt;&lt;/jnlp&gt;


Exception

BadFieldException[ The field &lt;jnlp&gt;&lt;application-desc&gt;&lt;argument&gt; has an invalid value: ,]
    at com.sun.javaws.jnl.XMLFormat$10.visitElement(Unknown Source)
    at com.sun.javaws.jnl.XMLUtils.visitElements(Unknown Source)
    at com.sun.javaws.jnl.XMLFormat.buildApplicationDesc(Unknown Source)
    at com.sun.javaws.jnl.XMLFormat.process(Unknown Source)
    at com.sun.javaws.jnl.XMLFormat.parse(Unknown Source)
    at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptor(Unknown Source)
    at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptor(Unknown Source)
    at com.sun.javaws.Main.launchApp(Unknown Source)
    at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
    at com.sun.javaws.Main.access$000(Unknown Source)
    at com.sun.javaws.Main$1.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)


I expect the command to work.  I do not understand the error message.  What should I do?
You have two arguments that are empty:

&lt;application-desc main-class="hudson.remoting.jnlp.Main"&gt;
  &lt;argument&gt;32ba31ca5f150c2b3491802b0b60e56574d970a9e601cebad656a113fe325a85&lt;/argument&gt;
  &lt;argument&gt;FQDNofWindowsSlave&lt;/argument&gt;
  &lt;argument&gt;-workDir&lt;/argument&gt;
  &lt;argument/&gt;
  &lt;argument&gt;-internalDir&lt;/argument&gt;
  &lt;argument/&gt;
  &lt;argument&gt;-url&lt;/argument&gt;
  &lt;argument&gt;http://FQDNofJenkinsServer:8080/&lt;/argument&gt;
&lt;/application-desc&gt;


Your error message has a comma in it:


  BadFieldException[ The field  has an
  invalid value: ,]


Other bad argument error messages on the internet have comma separated lists of bad arguments: 


  BadFieldException[ The field codebase has an invalid value:
  $$codebase,$$codebase]


So I'd guess those two empty arguments are the problem.