SSIS и Powershell File Lock - PullRequest
       1

SSIS и Powershell File Lock

0 голосов
/ 21 ноября 2018

Я использую SSIS и Powershell, чтобы проверить, заблокирован ли файл.

У меня есть приведенное ниже выражение в переменной с именем 'Cmd':

"-NoProfile -ExecutionPolicy ByPass -Command \"try { [IO.File]::OpenWrite(‘” + @[User::TestFilePath] + “‘).close();0 } catch {999}"

, которая оцениваетна это:

-NoProfile -ExecutionPolicy ByPass -Command "try { [IO.File]::OpenWrite(‘” + @[User::TestFilePath] + “‘).close();0 } catch {999}

Используя задачу «Выполнение процесса», я затем вызываю указанную выше переменную Cmd и после нее накладываю ограничения Success и Failure.Процесс всегда сообщает об успешном выполнении, даже если я открываю файл, о котором идет речь, переименовываю или даже удаляю его.

Если я затем внесу поправку в нижеследующее, задание всегда будет неуспешным, даже если оно не открыто:

"-NoProfile -ExecutionPolicy ByPass -Command \"try { [IO.File]::OpenWrite(‘” + @[User::TestFilePath] + “‘).close();exit 0} catch {exit 999}"

Чего мне не хватает?

1 Ответ

0 голосов
/ 22 ноября 2018

Если это кому-нибудь поможет, я нашел решение.Вместо того, чтобы вызывать сценарий PS через выражение, я просто вызвал фактический файл PS через задачу процесса с нижеприведенным значением в файле PS:

$file = "\\xxxx\xxxxx\xxxxxxxx\test.log"
try { [IO.File]::OpenWrite($file).close();exit 0 } catch { exit 999}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...