我要删除所有共享并将命令的输出存储在变量中
希望您能帮助我!
如何删除共享?
Invoke-Expression "Remove-SmbShare -Force -Name $name"
或
NET SHARE $name /delete
谢谢!
编辑:
我知道我可以将输出重定向到文件,但是我确实希望它将其直接重定向到变量。
NET SHARE i$ /delete *> "C:\workspace\output.txt"
为什么我要通过Powershell删除共享? 通过公司规则强制分享股票,我想在登录后直接删除它们
答案 0 :(得分:0)
如果您在Powershell部分中询问是否应使用可执行文件或Commandlet,答案很明显:Commandlet。
Remove-SmbShare不会生成成功执行的输出,因此您必须解决该问题。
您可以做的是这样的:
$names = "TestShare","TestShare2"
$success = @()
foreach($name in $names){
try {
Remove-SmbShare $name -force -Erroraction Stop
$success += $true
} catch {
$success += $false
}
}
然后,您将拥有两个带有相应索引的数组。另外,您也可以像这样$success += "$name $true"
一样向成功数组添加一个字符串,但是您可以自己弄清楚它。