如何 Invoke-Expression 调用带有变量的函数或脚本?

2024-03-16

我使用此脚本收到无效路径错误:

$buildZIP= 'starmatic'
echo $buildZIP
$command = ”\\XXXXXXXXXX\L$\Gopi_Prod_App\ToZipNew.ps1 $buildZIP”
Invoke-Expression -Command $command

This is ToZipNew.ps1:

Param(
    [Parameter(Position=1, Mandatory=$true)]
    [ValidateNotNullOrEmpty()]
    [string]$build
)
echo "$build"
$S = "L:\Gopi_Prod_App\$build\App_Data\*"
$D = "\Gopi_Prod_App\Starmatic_UI.zip"

echo $S
echo $D

Get-ChildItem "$S" | Compress-Archive -DestinationPath "$D" -Verbose
#Compress-Archive -Path "$S" -CompressionLevel Fastest -DestinationPath "$D"

我收到错误:



Compress-Archive : The path 'L:\Gopi_Prod_App' either does not exist or is not a
valid file system path.  
At \\XXXXXXXXXXX\L$\Gopi_Prod_App\ToZipNew.ps1:13 char:45 
+ ... t-ChildItem "$S" | Compress-Archive -DestinationPath "$D" -Verbose
+                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
    + CategoryInfo          : InvalidArgument: (L:\Gopi_Prod_App:String) [Compress-Archive], InvalidOperationException  
    + FullyQualifiedErrorId : ArchiveCmdletPathNotFound,Compress-Archive
  

Invoke-Expression is 几乎总是错误的工具 https://blogs.msdn.microsoft.com/powershell/2011/06/03/invoke-expression-considered-harmful/无论您手头有什么工作。另外,在我看来,您实际上想在remote主持人。然而,你的Invoke-Expression语句正在从远程共享读取脚本并执行它locally.

Change

$command = ”\\XXXXXXXXXX\L$\Gopi_Prod_App\ToZipNew.ps1 $buildZIP”
Invoke-Expression -Command $command

into

Invoke-Command -Computer 'XXXXXXXXXX' -ScriptBlock {
    & 'L:\Gopi_Prod_App\ToZipNew.ps1' $using:buildZIP
}

在远程主机 XXXXXXXXXX 上运行脚本。

如果您确实想在本地运行脚本,请连接共享\\XXXXXXXXXX\L$作为网络驱动器L:并从该驱动器调用脚本:

New-PSDrive -Name 'L' -PSProvider FileSystem -Root '\\XXXXXXXXXX\L$' -Persist
& 'L:\Gopi_Prod_App\ToZipNew.ps1' $buildZIP
Remove-PSDrive -Name 'L'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何 Invoke-Expression 调用带有变量的函数或脚本? 的相关文章

随机推荐

  • WordPress:为特定插件管理页面加载自定义 CSS

    我正在学习 WordPress 我想为我的插件的特定管理页面加载自定义 CSS 我阅读了 WordPress Plugin API 并执行了如下操作 I ADD MY OPTION PAGES add action admin menu m
  • 迭代 socket.io v1 中的套接字? “......没有方法‘客户’”

    在我能够写出这样的东西之前 io sockets clients forEach function socket socket emit signal data 现在 我不能并且收到错误Object
  • 关于扩展 GAS 电子表格用途的问题

    I would like to offer the opportunity to view output from the same data in a spreadsheet TBA http glasier hk blazer scri
  • 本地化 IOS 按钮标签

    我使用本地化字符串来本地化 UI 元素 除了本地化按钮标题之外 一切正常 21 title 应该是本地化文本 不起作用 我认为这可能是由按钮状态引起的 forState UIControlStateNormal 标题可以通过视图状态设置 我
  • 为更多字段设置相同的属性

    我有两个或更多文本字段 我想对它们应用相同的属性 避免编写两次或多次相同的代码 这不起作用 form validate rules name surname required true minlength 3 maxlength 50 有任
  • Line3DCollection 多彩线条边缘呈“锯齿状”

    基于matplotlib 示例代码 http matplotlib org examples pylab examples multicolored line html我构建了一条彩色线条的 3D 版本 我正在 jupyter 笔记本中工作
  • Smullyan 数值机的解决方案

    在这里我建议找到 Smullyan 数值机的解决方案 此处定义 http heras gilsanz com manuel smullyan machines html 问题陈述 它们是接受数字列表作为输入 并根据输入模式遵循一些规则将其转
  • JavaScript 字符串替换与replaceAll

    ECMAScript 2021 添加了新的 String 函数replaceAll 很久以前 在一个不远的星系里 人们使用split join或正则表达式替换所有出现的字符串 https stackoverflow com question
  • 使用 POST 进行 jQuery 缓存

    虽然我在 jQuery AJAX Post 请求中设置了 cache false 但它不会添加额外的 randomg 字符串 这是因为 post 不缓存吗 感谢您的时间 RFC 2616 http www faqs org rfcs rfc
  • 将 TextField 限制为特定的数字范围 JavaFX?

    您好 我需要限制 TextField javaFX 的输入 不仅适用于整数 还适用于 1 19 之间的数字 例如 我应该允许输入 3 19 但不能输入 33 44 例如 在 JavaFX 中创建数字 TextField 的推荐方法是什么 h
  • 如何查看Linux线程的状态?

    如何使用代码而不是工具来检查 Linux 线程的状态 我想知道线程是否正在运行 被锁阻塞或因其他原因而休眠 我知道 Linux 工具 top 可以完成这项工作 但如何在我自己的代码中实现它 谢谢 我认为你应该详细研究 proc http l
  • 对函数体评估感到困惑

    我对以下行为感到困惑Function In 1 InlineCellInMessage Function expr DisplayForm Cell BoxData MakeBoxes expr StandardForm Input Hol
  • XSLT:将平面列表转变为层次结构

    我尝试了解 XSLT 2 0 中的分组功能 我的源文件是
  • Flash/ActionScript 3.0 中的 StackTrace

    我想在代码的任何函数中查看堆栈跟踪 因此我做了类似的事情来调用它并打印堆栈跟踪 public function PrintStackTrace try throw new Error StackTrace catch e Error tra
  • 合并两个多维数组并重新索引所有子数组

    我有两个数组 我想将这两个数组合并为单个数组 请查看下面的详细信息 第一个数组 Array 0 gt Array a gt 1 b gt 2 c gt 3 1 gt Array a gt 3 b gt 2 c gt 1 第二个数组 Arra
  • 我可以将 CSS3 与 XHTML 1.0 一起使用吗?

    我可以将 CSS3 属性与 XHTML 一起使用 还是仅与 HTML5 网页一起使用 HTML版本和CSS之间有关系吗 还是完全没有关系 Thanks 如果浏览器支持 CSS3 和 XHTML 1 0 则可以同时使用两者 这两个标准彼此之间
  • github“网络推送通知”如何工作?

    github 似乎在其 Web 界面上使用轮询服务器进行实时通知 live github com 看起来该技术既不是基于 Websocket 也不是 XHR 轮询 它是如何开发的 他们似乎使用 HTML5 服务器发送事件 一段时间后 我通过
  • 为什么暂存目录也称为 Index/Git Index?

    我对 Git 中的暂存目录 Git Index 的命名感到困惑 叫Index有什么特殊含义吗 为什么不直接称为Cache 或Temp目录以便我们更容易理解呢 对我来说 索引可以帮助我们更快地搜索内容 就像 DBMS 中的索引一样 它与暂存区
  • 如何设置 Amazon S3 存储桶预签名 URL 过期时间(从当前日期算起 1 年内)

    图像上传到 Amazon S3 存储桶 我需要得到一个预签名 URL来自亚马逊服务器 我还想设置该 URL 的到期时间 这最多只需要 17 天 但我无法设置最多 1 年的到期时间 Calendar cal Calendar getInsta
  • 如何 Invoke-Expression 调用带有变量的函数或脚本?

    我使用此脚本收到无效路径错误 buildZIP starmatic echo buildZIP command XXXXXXXXXX L Gopi Prod App ToZipNew ps1 buildZIP Invoke Expressi