SSIS and Powershell File Lock
I'm using SSIS and Powershell to check if a file is locked or not.
I have the below Expression in a variable called 'Cmd':
"-NoProfile -ExecutionPolicy ByPass -Command "try { [IO.File]::OpenWrite(‘” + @[User::TestFilePath] + “‘).close();0 } catch {999}"
Which evaluates to this:
-NoProfile -ExecutionPolicy ByPass -Command "try { [IO.File]::OpenWrite(‘” + @[User::TestFilePath] + “‘).close();0 } catch {999}
Using the Execute Process Task I then call the Cmd variable above and have Success and Failure constraints after it. The Process always reports a Success, even I open the file in question, rename or even delete it.
If I then amend to the below, the Task will always fail, even if its not open:
"-NoProfile -ExecutionPolicy ByPass -Command "try { [IO.File]::OpenWrite(‘” + @[User::TestFilePath] + “‘).close();exit 0} catch {exit 999}"
What am I missing?
powershell ssis
add a comment |
I'm using SSIS and Powershell to check if a file is locked or not.
I have the below Expression in a variable called 'Cmd':
"-NoProfile -ExecutionPolicy ByPass -Command "try { [IO.File]::OpenWrite(‘” + @[User::TestFilePath] + “‘).close();0 } catch {999}"
Which evaluates to this:
-NoProfile -ExecutionPolicy ByPass -Command "try { [IO.File]::OpenWrite(‘” + @[User::TestFilePath] + “‘).close();0 } catch {999}
Using the Execute Process Task I then call the Cmd variable above and have Success and Failure constraints after it. The Process always reports a Success, even I open the file in question, rename or even delete it.
If I then amend to the below, the Task will always fail, even if its not open:
"-NoProfile -ExecutionPolicy ByPass -Command "try { [IO.File]::OpenWrite(‘” + @[User::TestFilePath] + “‘).close();exit 0} catch {exit 999}"
What am I missing?
powershell ssis
Not sure on PowerShell, but this is my goto answer for checking file status
– billinkc
Nov 21 '18 at 14:50
A Powershell version of a function to test for file lock can be found here
– Theo
Nov 21 '18 at 15:37
Hello, thank you for the link. However SSIS Process task only accepts an Integer as a SuccessFail value - I think that is the issue but am unsure how to amend the scripting
– Michael
Nov 21 '18 at 15:54
add a comment |
I'm using SSIS and Powershell to check if a file is locked or not.
I have the below Expression in a variable called 'Cmd':
"-NoProfile -ExecutionPolicy ByPass -Command "try { [IO.File]::OpenWrite(‘” + @[User::TestFilePath] + “‘).close();0 } catch {999}"
Which evaluates to this:
-NoProfile -ExecutionPolicy ByPass -Command "try { [IO.File]::OpenWrite(‘” + @[User::TestFilePath] + “‘).close();0 } catch {999}
Using the Execute Process Task I then call the Cmd variable above and have Success and Failure constraints after it. The Process always reports a Success, even I open the file in question, rename or even delete it.
If I then amend to the below, the Task will always fail, even if its not open:
"-NoProfile -ExecutionPolicy ByPass -Command "try { [IO.File]::OpenWrite(‘” + @[User::TestFilePath] + “‘).close();exit 0} catch {exit 999}"
What am I missing?
powershell ssis
I'm using SSIS and Powershell to check if a file is locked or not.
I have the below Expression in a variable called 'Cmd':
"-NoProfile -ExecutionPolicy ByPass -Command "try { [IO.File]::OpenWrite(‘” + @[User::TestFilePath] + “‘).close();0 } catch {999}"
Which evaluates to this:
-NoProfile -ExecutionPolicy ByPass -Command "try { [IO.File]::OpenWrite(‘” + @[User::TestFilePath] + “‘).close();0 } catch {999}
Using the Execute Process Task I then call the Cmd variable above and have Success and Failure constraints after it. The Process always reports a Success, even I open the file in question, rename or even delete it.
If I then amend to the below, the Task will always fail, even if its not open:
"-NoProfile -ExecutionPolicy ByPass -Command "try { [IO.File]::OpenWrite(‘” + @[User::TestFilePath] + “‘).close();exit 0} catch {exit 999}"
What am I missing?
powershell ssis
powershell ssis
edited Nov 21 '18 at 12:03
Michael
asked Nov 21 '18 at 11:55
MichaelMichael
4581823
4581823
Not sure on PowerShell, but this is my goto answer for checking file status
– billinkc
Nov 21 '18 at 14:50
A Powershell version of a function to test for file lock can be found here
– Theo
Nov 21 '18 at 15:37
Hello, thank you for the link. However SSIS Process task only accepts an Integer as a SuccessFail value - I think that is the issue but am unsure how to amend the scripting
– Michael
Nov 21 '18 at 15:54
add a comment |
Not sure on PowerShell, but this is my goto answer for checking file status
– billinkc
Nov 21 '18 at 14:50
A Powershell version of a function to test for file lock can be found here
– Theo
Nov 21 '18 at 15:37
Hello, thank you for the link. However SSIS Process task only accepts an Integer as a SuccessFail value - I think that is the issue but am unsure how to amend the scripting
– Michael
Nov 21 '18 at 15:54
Not sure on PowerShell, but this is my goto answer for checking file status
– billinkc
Nov 21 '18 at 14:50
Not sure on PowerShell, but this is my goto answer for checking file status
– billinkc
Nov 21 '18 at 14:50
A Powershell version of a function to test for file lock can be found here
– Theo
Nov 21 '18 at 15:37
A Powershell version of a function to test for file lock can be found here
– Theo
Nov 21 '18 at 15:37
Hello, thank you for the link. However SSIS Process task only accepts an Integer as a SuccessFail value - I think that is the issue but am unsure how to amend the scripting
– Michael
Nov 21 '18 at 15:54
Hello, thank you for the link. However SSIS Process task only accepts an Integer as a SuccessFail value - I think that is the issue but am unsure how to amend the scripting
– Michael
Nov 21 '18 at 15:54
add a comment |
1 Answer
1
active
oldest
votes
If it helps anyone, I found a resolution. Instead of calling the PS script via an expression, I just called the actual PS file via a Process Task with the below in in the PS file:
$file = "\xxxxxxxxxxxxxxxxxtest.log"
try { [IO.File]::OpenWrite($file).close();exit 0 } catch { exit 999}
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53411511%2fssis-and-powershell-file-lock%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
If it helps anyone, I found a resolution. Instead of calling the PS script via an expression, I just called the actual PS file via a Process Task with the below in in the PS file:
$file = "\xxxxxxxxxxxxxxxxxtest.log"
try { [IO.File]::OpenWrite($file).close();exit 0 } catch { exit 999}
add a comment |
If it helps anyone, I found a resolution. Instead of calling the PS script via an expression, I just called the actual PS file via a Process Task with the below in in the PS file:
$file = "\xxxxxxxxxxxxxxxxxtest.log"
try { [IO.File]::OpenWrite($file).close();exit 0 } catch { exit 999}
add a comment |
If it helps anyone, I found a resolution. Instead of calling the PS script via an expression, I just called the actual PS file via a Process Task with the below in in the PS file:
$file = "\xxxxxxxxxxxxxxxxxtest.log"
try { [IO.File]::OpenWrite($file).close();exit 0 } catch { exit 999}
If it helps anyone, I found a resolution. Instead of calling the PS script via an expression, I just called the actual PS file via a Process Task with the below in in the PS file:
$file = "\xxxxxxxxxxxxxxxxxtest.log"
try { [IO.File]::OpenWrite($file).close();exit 0 } catch { exit 999}
answered Nov 22 '18 at 12:07
MichaelMichael
4581823
4581823
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53411511%2fssis-and-powershell-file-lock%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Not sure on PowerShell, but this is my goto answer for checking file status
– billinkc
Nov 21 '18 at 14:50
A Powershell version of a function to test for file lock can be found here
– Theo
Nov 21 '18 at 15:37
Hello, thank you for the link. However SSIS Process task only accepts an Integer as a SuccessFail value - I think that is the issue but am unsure how to amend the scripting
– Michael
Nov 21 '18 at 15:54