2016-11-09 212 views
-3

所以我有這個腳本根據它的位置在我們的dr服務器上創建一個快照鏡像。以下只是腳本的一小部分。我需要寫一個if語句,所以如果location ='uk',那麼不運行下面的函數,否則如果location ='us',那麼創建快照鏡像。在PowerShell中編寫if語句需要幫助

function Create-SnapMirror { 
    [CmdletBinding(PositionalBinding=$false, 
        HelpUri='http://www.microsoft.com/', 
        ConfirmImpact='Medium')] 
    [OutputType([Boolean])] 
    Param(
     [Parameter(Mandatory=$true, 
        ValueFromPipeline=$true, 
        ValueFromPipelineByPropertyName=$true, 
        ValueFromRemainingArguments=$false, 
        Position=0)] 
     [ValidateNotNull()] 
     [ValidateNotNullOrEmpty()] 
     [String]$SourcePath, 

     [Parameter(Mandatory=$true, 
        ValueFromPipeline=$true, 
        ValueFromPipelineByPropertyName=$true, 
        ValueFromRemainingArguments=$false, 
        Position=1)] 
     [ValidateNotNull()] 
     [ValidateNotNullOrEmpty()] 
     [String]$DestinationPath, 

     [Parameter(Mandatory=$true, 
        ValueFromPipeline=$true, 
        ValueFromPipelineByPropertyName=$true, 
        ValueFromRemainingArguments=$false, 
        Position=2)] 
     [ValidateNotNull()] 
     [ValidateNotNullOrEmpty()] 
     [String]$LogName 
    ) 

    $success = $null 
    $error.Clear() 
} 
+0

'location'從哪裏來? – TessellatingHeckler

+0

它的一個參數,將由運行腳本的用戶輸入截至此刻只有2個位置存在我們或英國 – Jesus

回答

1

假設邏輯所需的功能之外,你可以通過簡單地封裝if語句中的函數調用如下做到這一點:

if($Location -eq 'us') { Create-SnapMirror -SourcePath $MySourcePath -DestinationPath $MyDestinationPath -LogName $MyLogName } 

然而,如果你想檢查中所處的位置您首先需要從輸入參數或其他方法接收位置的功能。假設你有一個名爲$位置變量的位置,你可以簡單地任何其他行動之前添加函數中執行以下操作:

if($Location -ne 'us') { return } 

這將退出功能;您可以添加其他操作,例如在圓括號內記錄。