我正在尝试获取本地 powershell 脚本来触发 citrix 实例中的 VBS 脚本。事件应该是这样的:
Citrix 实例打开 Windows 资源管理器 ----> 输入到 Windows 资源管理器会话中的脚本的网络路径
我正在使用 Citrix 接收器安装附带的 WfIcaLib.dll (ICOSDK)。Citrix ICOSDK 的文档 PDF 可在此处获得
所以这是我正在使用的代码,它在 Powershell 命令行中完美运行,但是当我使用 32 位 ISE 时,它只会告诉我 DLL 已加载。我没有收到任何错误,但是当我通过 Powershell 命令行运行相同的命令时,Citrix 客户端从未真正打开过。
#load Citrix ICA Client SDK
[System.Reflection.Assembly]::LoadFile("C:\Program Files (x86)\Citrix\ICA Client\WfIcaLib.dll")
$ICA = New-Object WFICALib.ICAClientClass
$ICA.Address = "***.***.***.***:****"
$ICA.Application = "Windows ExplorerFED6"
$ICA.Username = "******"
$ICA.Domain = "**"
$ICA.Launch = $true
$ICA.Outputmode = [WfIcaLib.OutputMode]::OutputModeNormal
$ICA.SetProp("Password", "*********")
$ICA.TWIMode=$true
$ICA.Connect()
有任何想法吗?
编辑:已解决 - 在 32 位 ISE 下重新打开并让代码工作后,我无法运行 .ps1 文件,因为它一直默认为 64 位(即使在 32 位 powershell 版本上使用打开方式)。通过命令提示符或 32 位 powershell 控制台运行脚本都有效。
使用 Mike Garuccio 建议的任何方法都可以。我很可能最终会使用任务计划程序来运行脚本。