2017-07-26 37 views
0

當我認爲必須有一種更簡單的方法來實現這個功能時,我正在實施PowerShell中的運行小時數功能。在PowerShell中實現運行小時數功能

我想提交開始時間和結束時間,例如1800,我希望在工作時間以外的時候阻止此功能。

Function Stop-OutsideRunningHours 
{ 
    [cmdletbinding()] 
    PARAM 
    (
     [Parameter(Mandatory = $True)] 
     [string] 
     $StartTime = "1800", 

     [string] 
     $FinishTime = "0800", 

     [int] 
     $SleepFor = 60 
    ) 

    Do 
    { 
     # block whilst outside working hours 
    } 
    While($OutsideWorkingHours -eq $True) 
} 

有沒有人實現過類似的東西。

我願意爲你一個襯墊;)

+3

http://codereview.stackexchange.com/是用於改進現有工作代碼的請求。 –

+0

您可能希望包含您的代碼,以便我們能夠理解您正在嘗試執行的操作。 –

+1

'我希望功能在工作時間之外被阻止。「爲什麼?這絕對是使用實際調度系統而不是阻塞的情況。 https://blogs.technet.microsoft.com/heyscriptingguy/2014/05/12/introduction-to-powershell-scheduled-jobs/ – user9993

回答

0

使用throw關鍵字將退出你的函數,並編寫如下爲錯誤的文本。有更復雜的方法,但這裏是一個單行:

if(!((get-date -Format HHMM).ToString() -gt 0600 -and (get-date -Format HHMM).ToString() -lt 1800)){throw "no workee workee"}