読者です 読者をやめる 読者になる 読者になる

powershellでFTPファイルアップロード

#「検証プロシージャによると、リモート証明書は無効です。」みたいなエラーが出たら、サーバー証明書の警告を無視するようにスクリプト内で宣言
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$true}

$ftpReq = [System.Net.FtpWebRequest]::Create("ftp://FTPサーバーのアドレス/ファイル名")
$ftpReq.Credentials = New-Object System.Net.NetworkCredential("ユーザー名","パスワード")
$ftpReq.Method = [System.Net.WebRequestMethods+ftp]::UploadFile
$ftpReq.EnableSsl = $true
$ftpReq.KeepAlive = $true
$ftpReq.UseBinary = $true
$ftpReq.UsePassive = $true
$ftpReq.TimeOut = 10000

$stream = $ftpReq.GetRequestStream()
$fileStream = New-Object System.IO.FileStream($zipfile, [System.IO.FileMode]::Open, [System.IO.FileAccess]::Read)
$bytes = New-Object System.Byte[](1024)
while($true){
	$size = $fileStream.Read($bytes, 0, $bytes.Length)
	if($size -eq 0){
		break;
	}
	$stream.Write($bytes, 0, $size)
}
$fileStream.Close()
$stream.Close()

ネタ元