我必须通过cloudformation脚本设置windows ec2服务器。 我有一些powershell脚本,它以特定的格式添加标签和格式化磁盘驱动器。
问题是当这个powershell脚本从cloudformation cfn函数调用时,它会给出错误(来自LOGS)
a-label-format-drives-sql output: At C:\cfn\scripts\Label-and-Format-drives.ps1:44 char:35
+ $ErrorActionPreference = "Stop"
+ ~
The string is missing the terminator: ".
At C:\cfn\scripts\Label-and-Format-drives.ps1:36 char:5
+ {
+ ~
Missing closing '}' in statement block.
At C:\cfn\scripts\Label-and-Format-drives.ps1:27 char:19
+ $LablenFormatPs={
+ ~
Missing closing '}' in statement block.
At C:\cfn\scripts\Label-and-Format-drives.ps1:19 char:5
+ try {
+ ~
Missing closing '}' in statement block.
At C:\cfn\scripts\Label-and-Format-drives.ps1:64 char:1
+
The Try statement is missing its Catch or Finally block.
+ CategoryInfo : ParserError: (:) [], ParseException
+ FullyQualifiedErrorId : TerminatorExpectedAtEndOfString
但是当同一个脚本直接在PowerShell控制台中运行在同一个窗口ec2中时,它运行得非常好。我将此poweshell脚本上传到s3存储桶中,我在cloudformation中将其保存并保存在ec2实例上。
这是我的完整脚本。 https://gist.github.com/rturam/c969e161b4089ac62d89b8ba5d1d1612
答案 0 :(得分:0)
我自己能够解决这个问题。从网站到编辑器的复制粘贴存在问题。粘贴时,有一些奇怪的角色出现,在编辑器中无法查看。
诀窍就是在PowerShell CLI中执行index.html
。如果有的话,它会显示外国字符。