2

PowerShellを使用して、ftpフォルダーに特定のファイルがあるかどうかを確認しようとしています。具体的には、特定のファイル名を確認する必要がある約15の異なるフォルダがあります。私がこれをどのように行うかについてのアイデアはありますか?

4

2 に答える 2

2

ここにPowerShellftpモジュールがあります。

于 2012-05-01T17:38:11.200 に答える
0
$DEBUG = 1
# Machines
    $MachineNames = @("machine1","machine2" )
    $MachineIPs = @("192.168.1.1","192.168.1.2"  )
# Websites
    $WebsiteNames = @("website1","website2" )
    $WebsiteURLs = @("http://yahoo.com","http://google.com"    )

#====== check websites
$i = 0;
foreach ($WebsiteURL in $WebsiteURLs){
    # First we create the request.
    $HTTP_Request = [System.Net.WebRequest]::Create($WebsiteURL)
    # We then get a response from the site.
    $HTTP_Response = $HTTP_Request.GetResponse()
    # We then get the HTTP code as an integer.
    $HTTP_Status = [int]$HTTP_Response.StatusCode
    #$HTTP_Response
    If ($HTTP_Status -eq 200) { 
        if ($DEBUG -eq 1) {Write-Host "== " $WebsiteNames[$i] " is OK!" }
    }
    Else {
        if ($DEBUG -eq 1) {Write-Host "==Error: "$WebsiteNames[$i] " may be down!" }
        SendEmails $WebsiteNames[$i]
    }
    # Finally, we clean up the http request by closing it.
    $HTTP_Response.Close()
    Clear-Variable HTTP_Response
    $i = $i + 1
}

#====== check IP
$i = 0;
foreach ($MachineIP in $MachineIPs){
    $isValidIP = Test-Connection $MachineIP -Count 1 -Quiet 
    if ($DEBUG -eq 1) {
    $hostn = [System.Net.Dns]::GetHostEntry($MachineIP).HostName
    New-Object -TypeName PSObject -Property @{'Host'=$hostn;'IP'=$MachineIP}
    }
    if (-not($isValidIP)) {
        if ($DEBUG -eq 1) {Write-Host "==Error: " $MachineNames[$i] " ("$MachineIPs[$i]") may be down!" }
        SendEmails $MachineNames[$i]
    }
    $i = $i + 1
}
于 2014-07-17T22:01:25.200 に答える