Я пытаюсь получить локальный сценарий PowerShell для запуска сценария VBS внутри экземпляра Citrix. События должны быть такими:
Экземпляр Citrix, открывающий проводник Windows ----> Сетевой путь сценария, введенного в сеансе проводника Windows
Я использую WfIcaLib.dll (ICOSDK), поставляемый с установкой приемника Citrix. PDF с документацией для Citrix ICOSDK доступен здесь
Итак, это код, который я использую, который ИДЕАЛЬНО работает в командной строке Powershell, но когда я использую 32-битную ISE, он ничего не делает, кроме как сообщает мне, что DLL загружена. Я не получаю ошибок, но клиент Citrix никогда не открывается, как когда я запускаю те же самые команды через командную строку Powershell.
#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-разрядным (даже при использовании Open With в 32-разрядной версии PowerShell). Запуск сценария через командную строку или 32-разрядную консоль PowerShell работал.
Любой метод, предложенный Майком Гаруччо, работал нормально. Скорее всего, я буду использовать планировщик задач для запуска сценария.
cd <mydir>
.\myscript.ps1
Работал внутри моей 32-битной оболочки PowerShell. Так что да, скрипт отлично работает на 32-битной консоли. - person slightly drifting   schedule 23.11.2016