在从 C# 应用程序执行的 PowerShell 脚本中使用双引号
本文关键字:脚本 应用程序 执行 PowerShell 在从 | 更新日期: 2023-09-27 18:31:51
我正在尝试从VS上用C#编写的Windows Forms应用程序中执行PowerShell脚本。
我遇到的问题是我的PowerShell脚本中有很多引号,我不知道如何将其插入到我的代码中。
这是我的PowerShell脚本:
param([string]$inParam)
$Username = 'SERVER'domain_user'
$Password = 'password'
$pass = ConvertTo-SecureString -AsPlainText $Password -Force
$Cred = New-Object System.Management.Automation.PSCredential -ArgumentList $Username,$pass
Invoke-Command -ComputerName SERVER_TEST -Authentication Default -ScriptBlock {&"D:'Programs'myapplication.cmd" $inParam} -Credential $Cred
我将如何将其插入到以下 C# 代码中?
using (PowerShell powershellInstance = PowerShell.Create())
{
powershellInstance.AddScript();
}
希望这是足够的细节,并提前感谢您的帮助!
使用多行字符串文字,并通过加倍来转义嵌套的双引号:
string script = @"param([string]$inParam)
$Username = 'SERVER'domain_user'
$Password = 'password'
$pass = ConvertTo-SecureString -AsPlainText $Password -Force
$Cred = New-Object System.Management.Automation.PSCredential -ArgumentList $Username,$pass
Invoke-Command -ComputerName SERVER_TEST -Authentication Default -ScriptBlock {&""D:'Programs'myapplication.cmd"" $inParam} -Credential $Cred";