简单的问题,但目前无法在谷歌上找到答案。我的powershell版本是2。我想在多台机器上刷新并注册dns。
ipconfig /flushDns
ipconfig /registerdns
Run Code Online (Sandbox Code Playgroud)
我无法使用调用命令,并且计算机上未启用 psremoting。
任何建议如何刷新 DNS 和注册 DNS。
这很容易Invoke-wmimethod
在名为 的文件中创建计算机列表servers.txt,然后创建如下脚本:
$listofservers = Get-Content .\servers.txt
foreach ($servers in $listofservers) {
Invoke-WmiMethod -class Win32_process -name Create -ArgumentList ("cmd.exe /c ipconfig /flushdns") -ComputerName $servers
Invoke-WmiMethod -class Win32_process -name Create -ArgumentList ("cmd.exe /c ipconfig /registerdns") -ComputerName $servers
}
Run Code Online (Sandbox Code Playgroud)
默认情况下,您不会获得命令的输出,但只有当命令通过此值在远程计算机上成功运行时,您才会获得信息:
ReturnValue
Run Code Online (Sandbox Code Playgroud)
如果该值等于0则表示该命令已在远程服务器上成功执行。
如果你想获取命令输出,你可以通过添加输出重定向到txt文件来实现:
$listofservers = Get-Content .\servers.txt
foreach ($servers in $listofservers) {
Invoke-WmiMethod -class Win32_process -name Create -ArgumentList ("cmd.exe /c ipconfig /flushdns > c:\flushdnsresult.txt") -ComputerName $servers
Invoke-WmiMethod -class Win32_process -name Create -ArgumentList ("cmd.exe /c ipconfig /registerdns > c:\registerdnsresult.txt") -ComputerName $servers
}
Run Code Online (Sandbox Code Playgroud)
然后您将在远程服务器上找到一个 txt 文件,其中包含 cmd 命令的结果输出。
| 归档时间: |
|
| 查看次数: |
19577 次 |
| 最近记录: |