用于比较流中的文件哈希和已发布的 Powershell 脚本
Powershell Script to compare File-Hash from a Stream and published
大家早上好,
我是 powershell 脚本的新手。而且我不知道我做错了什么。
我尝试编写一个 .ps1 脚本来比较流的哈希值。我使用了微软 documentation 的帮助并将其修改为 运行 可用的脚本,因此我不需要一遍又一遍地编写它。
$wc = [System.Net.WebClient]::new()
$pkgurl = Read-Host "Please enter Package Url: "
$publishedHash = Read-Host "Enter Published Hash: "
$FileHash = Get-FileHash -InputStream ($wc.OpenRead($pkgurl))
if ($FileHash.Hash -eq $publishedHash) {
Write-Host "File Hash is equal to published Hash."
}
else {
Write-Host "File Hash NOT equal to published Hash."
}
当我运行脚本进入包url和发布的Hash时,程序突然突然关闭
拜托,有人有想法吗?
脚本结束,因为它无事可做。
您可以在最后添加read-host
以在关闭前等待用户输入。 (它不会对输入做任何事情,这只会强制它保持打开状态,直到输入完成。)
或者,如果您想在不关闭它的情况下多次使用它,您可以创建一个循环:
$KeepOpen = $true
While($KeepOpen -eq $true){
$wc = [System.Net.WebClient]::new()
$pkgurl = Read-Host "Please enter Package Url: "
$publishedHash = Read-Host "Enter Published Hash: "
$FileHash = Get-FileHash -InputStream ($wc.OpenRead($pkgurl))
if ($FileHash.Hash -eq $publishedHash) {
Write-Host "File Hash is equal to published Hash."
}
else {
Write-Host "File Hash NOT equal to published Hash."
}
$user_input = Read-Host "Please enter Y to run again"
if($user_input -ne "Y"){
$KeepOpen = $false
}
}
这将使脚本保持打开状态,以便您可以看到结果,如果您希望它再次 运行 插入 Y 并按回车键,您应该会回到开始的位置。
大家早上好,
我是 powershell 脚本的新手。而且我不知道我做错了什么。
我尝试编写一个 .ps1 脚本来比较流的哈希值。我使用了微软 documentation 的帮助并将其修改为 运行 可用的脚本,因此我不需要一遍又一遍地编写它。
$wc = [System.Net.WebClient]::new()
$pkgurl = Read-Host "Please enter Package Url: "
$publishedHash = Read-Host "Enter Published Hash: "
$FileHash = Get-FileHash -InputStream ($wc.OpenRead($pkgurl))
if ($FileHash.Hash -eq $publishedHash) {
Write-Host "File Hash is equal to published Hash."
}
else {
Write-Host "File Hash NOT equal to published Hash."
}
当我运行脚本进入包url和发布的Hash时,程序突然突然关闭
拜托,有人有想法吗?
脚本结束,因为它无事可做。
您可以在最后添加read-host
以在关闭前等待用户输入。 (它不会对输入做任何事情,这只会强制它保持打开状态,直到输入完成。)
或者,如果您想在不关闭它的情况下多次使用它,您可以创建一个循环:
$KeepOpen = $true
While($KeepOpen -eq $true){
$wc = [System.Net.WebClient]::new()
$pkgurl = Read-Host "Please enter Package Url: "
$publishedHash = Read-Host "Enter Published Hash: "
$FileHash = Get-FileHash -InputStream ($wc.OpenRead($pkgurl))
if ($FileHash.Hash -eq $publishedHash) {
Write-Host "File Hash is equal to published Hash."
}
else {
Write-Host "File Hash NOT equal to published Hash."
}
$user_input = Read-Host "Please enter Y to run again"
if($user_input -ne "Y"){
$KeepOpen = $false
}
}
这将使脚本保持打开状态,以便您可以看到结果,如果您希望它再次 运行 插入 Y 并按回车键,您应该会回到开始的位置。