windows - Få syntaxfejl forsøger at køre PowerShell-scripts fra CloudFormation :: Init

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg forsøger at køre et PS1 script, når min forekomst kommer op, og jeg får en syntaksfejl:


2018-08-01 13:15:45,951 [DEBUG] Running command 10-test
2018-08-01 13:15:45,951 [DEBUG] No test for command 10-test
2018-08-01 13:15:45,951 [ERROR] Command 10-test ('C:ProgramDataAmazonScriptsinstall\_agent.ps1') failed
2018-08-01 13:15:45,951 [DEBUG] Command 10-test output: The filename, directory name, or volume label syntax is incorrect.

2018-08-01 13:15:45,951 [ERROR] Error encountered during build of config: Command 10-test failed
Traceback (most recent call last):
  File "cfnbootstrapconstruction.pyc", line 544, in run\_config
  File "cfnbootstrapconstruction.pyc", line 138, in run\_commands
  File "cfnbootstrapcommand\_tool.pyc", line 117, in apply
ToolError: Command 10-test failed
2018-08-01 13:15:45,951 [ERROR] -----------------------BUILD FAILED!------------------------
2018-08-01 13:15:45,951 [ERROR] Unhandled exception during build: Command 10-test failed
Traceback (most recent call last):
  File "cfn-init", line 171, in <module>
  File "cfnbootstrapconstruction.pyc", line 129, in build
  File "cfnbootstrapconstruction.pyc", line 530, in build
  File "cfnbootstrapconstruction.pyc", line 544, in run\_config
  File "cfnbootstrapconstruction.pyc", line 138, in run\_commands
  File "cfnbootstrapcommand\_tool.pyc", line 117, in apply
ToolError: Command 10-test failed


Her er en del af min CFN-skabelon:


"config": {
   "commands": {
      "10-test": {"command": "'C:\ProgramData\Amazon\Scripts\install\_agent.ps1'"},
     },
     "files": {
         "C:\ProgramData\Amazon\Scripts\install\_agent.ps1": {
            "source": "https://my-bucket/software/trend-micro/install\_agent.ps1",
            "authentication": "S3AccessCreds"
          }
       }
   }


Skriptet hentes korrekt fra S3, og hvis jeg kører den samme kommando (C: \ ProgramData \ Amazon \ Scripts \ install\_agent.ps1) fra en PowerShell-kommandoprompt på selve Windows-instansen, fungerer det fint. Jeg har forsøgt en hel del forskellige variationer på citaterne (enkelt, dobbelt, undslapet) og forenklet alt så meget som muligt, men det virker stadig ikke.


Kan nogen fortælle mig, hvor jeg går galt? Jeg er sikker på at det er bare noget simpelt, men jeg kan bare ikke finde ud af det. Grrrr ....

Bedste reference