当从c#中调用powershell脚本时,包含不工作的脚本
本文关键字:脚本 包含不 工作 当从 调用 powershell | 更新日期: 2023-09-27 17:53:03
我有一个power shell脚本,其中包含如下脚本。
. "$PSScriptRoot'CheckPermissions.ps1"
当脚本从c#中调用时,我得到这个错误
{术语''CheckPermissions。不能将Ps1 '识别为cmdlet、函数、脚本文件或可操作程序的名称。检查拼写的名称,或者如果包含了路径,则验证该路径是否为}
当从PS窗口运行时,脚本工作正常。
当脚本从c#运行时,$PSScriptRoot变量可用吗?
您可以尝试使用以下命令获取脚本目录:
$scriptDir = Split-Path $script:MyInvocation.MyCommand.Path
请注意,返回的文件夹路径将以反斜杠('
)结尾。
试试下面的代码
$scriptpath = "your second file path"
$psContent = @(Get-Content $scriptPath)
[string]$psCmd = $psContent -join "`n"
$secondscriptoutput = iex $psCmd
$secondscriptoutput #output returned by second file
当从c#代码中调用ps脚本时,Myinvocation将不起作用。请把这个标记为答案,如果它适用于你。谢谢!