Locking a File Using PowerShell



.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








0















I found the below script to help me lock a file for a certain amount of time.



$Path = "E:status.txt"
$Mode = "Open"
$Access = "Read"
$Share = "None"

Function lockit()
Param([String]$Path, [String]$Mode, [String]$Access, $Share)
$File = [System.IO.File]::Open($Path, $Mode, $Access, $Share)
Start-Sleep -Seconds 50
$File.Close()



The issue here is the PowerShell script runs and terminates after 50 seconds but for those 50 seconds, the PS session is active. I would like to be able to execute this PowerShell script and return control to the calling script immediately.



The execution needs to be asynchronous.
Is there any way I can achieve this?










share|improve this question



















  • 3





    I sense an X-Y problem. Please take a step back and describe the actual problem you're trying to solve instead of what you perceive as the solution. Why do you think you need a lock on that file? What are you trying to accomplish by obtaining that lock?

    – Ansgar Wiechers
    Nov 15 '18 at 15:31











  • @AnsgarWiechers' valid point aside, you can use Start-Job to run scripts asynchronously or, if no error handling or monitoring is required, Start-Process -WindowStyle Hidden.

    – mklement0
    Nov 15 '18 at 15:53











  • @AnsgarWiechers the problem I'm trying to solve is this, I want to lock a file and then run some tests with an application that tries to access the file for reads, for writes etc. This script will aid in testing my application.

    – Dhiwakar Ravikumar
    Nov 16 '18 at 3:46











  • Then I'd use a background job (Start-Job).

    – Ansgar Wiechers
    Nov 16 '18 at 8:40











  • @AnsgarWiechers, It looks like I need to use Start-Process. Start-Job is only valid as long as the PS Session i.e. PS Window remains active.

    – Dhiwakar Ravikumar
    Nov 16 '18 at 8:43

















0















I found the below script to help me lock a file for a certain amount of time.



$Path = "E:status.txt"
$Mode = "Open"
$Access = "Read"
$Share = "None"

Function lockit()
Param([String]$Path, [String]$Mode, [String]$Access, $Share)
$File = [System.IO.File]::Open($Path, $Mode, $Access, $Share)
Start-Sleep -Seconds 50
$File.Close()



The issue here is the PowerShell script runs and terminates after 50 seconds but for those 50 seconds, the PS session is active. I would like to be able to execute this PowerShell script and return control to the calling script immediately.



The execution needs to be asynchronous.
Is there any way I can achieve this?










share|improve this question



















  • 3





    I sense an X-Y problem. Please take a step back and describe the actual problem you're trying to solve instead of what you perceive as the solution. Why do you think you need a lock on that file? What are you trying to accomplish by obtaining that lock?

    – Ansgar Wiechers
    Nov 15 '18 at 15:31











  • @AnsgarWiechers' valid point aside, you can use Start-Job to run scripts asynchronously or, if no error handling or monitoring is required, Start-Process -WindowStyle Hidden.

    – mklement0
    Nov 15 '18 at 15:53











  • @AnsgarWiechers the problem I'm trying to solve is this, I want to lock a file and then run some tests with an application that tries to access the file for reads, for writes etc. This script will aid in testing my application.

    – Dhiwakar Ravikumar
    Nov 16 '18 at 3:46











  • Then I'd use a background job (Start-Job).

    – Ansgar Wiechers
    Nov 16 '18 at 8:40











  • @AnsgarWiechers, It looks like I need to use Start-Process. Start-Job is only valid as long as the PS Session i.e. PS Window remains active.

    – Dhiwakar Ravikumar
    Nov 16 '18 at 8:43













0












0








0








I found the below script to help me lock a file for a certain amount of time.



$Path = "E:status.txt"
$Mode = "Open"
$Access = "Read"
$Share = "None"

Function lockit()
Param([String]$Path, [String]$Mode, [String]$Access, $Share)
$File = [System.IO.File]::Open($Path, $Mode, $Access, $Share)
Start-Sleep -Seconds 50
$File.Close()



The issue here is the PowerShell script runs and terminates after 50 seconds but for those 50 seconds, the PS session is active. I would like to be able to execute this PowerShell script and return control to the calling script immediately.



The execution needs to be asynchronous.
Is there any way I can achieve this?










share|improve this question
















I found the below script to help me lock a file for a certain amount of time.



$Path = "E:status.txt"
$Mode = "Open"
$Access = "Read"
$Share = "None"

Function lockit()
Param([String]$Path, [String]$Mode, [String]$Access, $Share)
$File = [System.IO.File]::Open($Path, $Mode, $Access, $Share)
Start-Sleep -Seconds 50
$File.Close()



The issue here is the PowerShell script runs and terminates after 50 seconds but for those 50 seconds, the PS session is active. I would like to be able to execute this PowerShell script and return control to the calling script immediately.



The execution needs to be asynchronous.
Is there any way I can achieve this?







powershell






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 15 '18 at 15:32









Ansgar Wiechers

146k13135193




146k13135193










asked Nov 15 '18 at 15:25









Dhiwakar RavikumarDhiwakar Ravikumar

4711622




4711622







  • 3





    I sense an X-Y problem. Please take a step back and describe the actual problem you're trying to solve instead of what you perceive as the solution. Why do you think you need a lock on that file? What are you trying to accomplish by obtaining that lock?

    – Ansgar Wiechers
    Nov 15 '18 at 15:31











  • @AnsgarWiechers' valid point aside, you can use Start-Job to run scripts asynchronously or, if no error handling or monitoring is required, Start-Process -WindowStyle Hidden.

    – mklement0
    Nov 15 '18 at 15:53











  • @AnsgarWiechers the problem I'm trying to solve is this, I want to lock a file and then run some tests with an application that tries to access the file for reads, for writes etc. This script will aid in testing my application.

    – Dhiwakar Ravikumar
    Nov 16 '18 at 3:46











  • Then I'd use a background job (Start-Job).

    – Ansgar Wiechers
    Nov 16 '18 at 8:40











  • @AnsgarWiechers, It looks like I need to use Start-Process. Start-Job is only valid as long as the PS Session i.e. PS Window remains active.

    – Dhiwakar Ravikumar
    Nov 16 '18 at 8:43












  • 3





    I sense an X-Y problem. Please take a step back and describe the actual problem you're trying to solve instead of what you perceive as the solution. Why do you think you need a lock on that file? What are you trying to accomplish by obtaining that lock?

    – Ansgar Wiechers
    Nov 15 '18 at 15:31











  • @AnsgarWiechers' valid point aside, you can use Start-Job to run scripts asynchronously or, if no error handling or monitoring is required, Start-Process -WindowStyle Hidden.

    – mklement0
    Nov 15 '18 at 15:53











  • @AnsgarWiechers the problem I'm trying to solve is this, I want to lock a file and then run some tests with an application that tries to access the file for reads, for writes etc. This script will aid in testing my application.

    – Dhiwakar Ravikumar
    Nov 16 '18 at 3:46











  • Then I'd use a background job (Start-Job).

    – Ansgar Wiechers
    Nov 16 '18 at 8:40











  • @AnsgarWiechers, It looks like I need to use Start-Process. Start-Job is only valid as long as the PS Session i.e. PS Window remains active.

    – Dhiwakar Ravikumar
    Nov 16 '18 at 8:43







3




3





I sense an X-Y problem. Please take a step back and describe the actual problem you're trying to solve instead of what you perceive as the solution. Why do you think you need a lock on that file? What are you trying to accomplish by obtaining that lock?

– Ansgar Wiechers
Nov 15 '18 at 15:31





I sense an X-Y problem. Please take a step back and describe the actual problem you're trying to solve instead of what you perceive as the solution. Why do you think you need a lock on that file? What are you trying to accomplish by obtaining that lock?

– Ansgar Wiechers
Nov 15 '18 at 15:31













@AnsgarWiechers' valid point aside, you can use Start-Job to run scripts asynchronously or, if no error handling or monitoring is required, Start-Process -WindowStyle Hidden.

– mklement0
Nov 15 '18 at 15:53





@AnsgarWiechers' valid point aside, you can use Start-Job to run scripts asynchronously or, if no error handling or monitoring is required, Start-Process -WindowStyle Hidden.

– mklement0
Nov 15 '18 at 15:53













@AnsgarWiechers the problem I'm trying to solve is this, I want to lock a file and then run some tests with an application that tries to access the file for reads, for writes etc. This script will aid in testing my application.

– Dhiwakar Ravikumar
Nov 16 '18 at 3:46





@AnsgarWiechers the problem I'm trying to solve is this, I want to lock a file and then run some tests with an application that tries to access the file for reads, for writes etc. This script will aid in testing my application.

– Dhiwakar Ravikumar
Nov 16 '18 at 3:46













Then I'd use a background job (Start-Job).

– Ansgar Wiechers
Nov 16 '18 at 8:40





Then I'd use a background job (Start-Job).

– Ansgar Wiechers
Nov 16 '18 at 8:40













@AnsgarWiechers, It looks like I need to use Start-Process. Start-Job is only valid as long as the PS Session i.e. PS Window remains active.

– Dhiwakar Ravikumar
Nov 16 '18 at 8:43





@AnsgarWiechers, It looks like I need to use Start-Process. Start-Job is only valid as long as the PS Session i.e. PS Window remains active.

– Dhiwakar Ravikumar
Nov 16 '18 at 8:43












0






active

oldest

votes












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
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53322677%2flocking-a-file-using-powershell%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes















draft saved

draft discarded
















































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.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53322677%2flocking-a-file-using-powershell%23new-answer', 'question_page');

);

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







Popular posts from this blog

Kleinkühnau

Makov (Slowakei)

Deutsches Schauspielhaus