我正在尝试使用 PowerShell 从 USB 驱动器中受密码保护的 zip 中提取文件。我查了很多方法,但最简单的方法似乎不起作用。
$7ZipPath = "C:\Program Files\7-Zip\7z.exe"
$zipFile = "E:\passwordprotectedtest.zip"
$zipFilePassword = "Foo"
& $7ZipPath e -oE:\ -y -tzip -p "$zipFilePassword" "$zipFile"
Run Code Online (Sandbox Code Playgroud)
我不断收到此错误:
$7ZipPath = "C:\Program Files\7-Zip\7z.exe"
$zipFile = "E:\passwordprotectedtest.zip"
$zipFilePassword = "Foo"
& $7ZipPath e -oE:\ -y -tzip -p "$zipFilePassword" "$zipFile"
Run Code Online (Sandbox Code Playgroud)
然后我将文件移到我的桌面,更改$zipFile = "passwordprotectedtest.zip",更改-oE:\ to -oC:\.
这修复了路径名错误,但开始收到此错误
7-Zip 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18
Error
Cannot use absolute pathnames for this command
Run Code Online (Sandbox Code Playgroud) 我正在测试一些域名以及他们在发生异常事件时提醒我的能力.我正在使用nmap扫描域的开放端口.下面的脚本打开一个新的cmd窗口并运行nmap.我搜索进程ID并检查进程(cmd)是否仍在运行.扫描结束后,它将再次运行nmap扫描.
function nmaptest {
$prog1="cmd"
$params1=@("/C";"nmap.exe -Pn -sX 192.168.1.0/24")
Start-Process -Verb runas $prog1 $params1 #starts
}
while(1 -eq 1){
nmaptest
$processes = get-process $prog1 | out-string
$sp = $processes.Split(' ',[System.StringSplitOptions]::RemoveEmptyEntries)
$procid = $sp[22]
echo $procid
while(get-process -id $procid){ }
}
Run Code Online (Sandbox Code Playgroud)
这很好用.我需要帮助的是并行执行此过程8次.(如果可能的话)
我有一个很大的主机名列表,我需要ping它以查看它们是上升还是下降.我在脚本编写方面并不是那么出色,但我设法解决了这个问题:
$names = Get-content "hnames.txt"
foreach ($name in $names){
if (Test-Connection -ComputerName $name -Count 1 -ErrorAction SilentlyContinue){
Write-Host "$name is up" -ForegroundColor Green
}
else{
Write-Host "$name is down" -ForegroundColor Red
}
}
Run Code Online (Sandbox Code Playgroud)
这让我得到了我需要的东西,但我现在需要把这些结果写成csv文件,我不知道该怎么做.
请帮忙!