param([String]$filename="", [Int32]$filesize=0, [String]$hashvalue="", [String]$hashname="SHA512")
Function Get-FileHashWin7([String] $FileName, $HashName) {
	$FileStream = New-Object System.IO.FileStream($FileName,[System.IO.FileMode]::Open)
	$StringBuilder = New-Object System.Text.StringBuilder
	[System.Security.Cryptography.HashAlgorithm]::Create($HashName).ComputeHash($FileStream)|%{[Void]$StringBuilder.Append($_.ToString("x2"))}
	$FileStream.Close()
	$StringBuilder.ToString()
}
Write-Output "Verify " $filename
if ((Get-Item $filename).length -ne $filesize) {
	Write-Output "Failed " $filename
	exit 1
}
if ((Get-FileHashWin7 $filename $hashname) -ne $hashvalue) {
	Write-Output "Failed " $filename
	exit 1
}
exit 0