首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PowerShell脚本错误“表达式或语句中的意外标记'h‘。字符串缺少终止符:”

PowerShell脚本错误“表达式或语句中的意外标记'h‘。字符串缺少终止符:”
EN

Stack Overflow用户
提问于 2018-11-12 14:41:35
回答 1查看 1.1K关注 0票数 2

我的控制台应用程序中有以下代码可以使用PowerShell获取服务器信息:

代码语言:javascript
运行
复制
string PsCmd = "add-pssnapin VMware.VimAutomation.Core; $vCenterServer = '" + vCenterName.Trim() + "';$vCenterAdmin = '" + vCenterUsername.Trim() + "' ;$vCenterPassword = '" + vCenterPassword + "';" + System.Environment.NewLine;

PsCmd = PsCmd + "$VIServer = Connect-VIServer -Server $vCenterServer -User $vCenterAdmin -Password $vCenterPassword;" + System.Environment.NewLine;

PsCmd = PsCmd + "Get-VMHost " + System.Environment.NewLine;

现在,脚本在我们拥有的150台服务器上运行得很好,但是在一台服务器上,我得到了这个例外:

行:1字符:131+. !*******(********6'__*;*****';+~意外标记'h‘在表达式或语句中。一行:1字符:135+. **(******';';+~字符串缺少终止符:‘。= ABC

它正在引发密码变量上的错误。在我的例子中,我从外部RESP获得密码。现在密码具有以下格式:

代码语言:javascript
运行
复制
\"************

其中以两个保留字符\"开头,我得到的JSON对象如下所示。那么,问题是密码包含保留的一组字符\"吗?我怎么才能解决这个问题?

EN

回答 1

Stack Overflow用户

发布于 2018-11-12 14:46:52

你需要逃离"。在PowerShell中使用`字符(例如`" )执行此操作

试试这个:

代码语言:javascript
运行
复制
string PsCmd = "Add-PSSnapin VMware.VimAutomation.Core; $vCenterServer = '" + vCenterName.Trim() + "'; $vCenterAdmin = '" + vCenterUsername.Trim() + "'; $vCenterPassword = \"" + vCenterPassword.Replace("\"", "`\"") + "\";" + System.Environment.NewLine;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53264505

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档