最近研究如何通过Powershell读取远程计算机的注册表来抓取系统的相关信息。
特整理一些已经实现和验证过的方法。供参考
以下为获取.NetFramework版本的方法。
################################Code########################################
$servername=Get-Content "$PSScriptRoot\Server.txt"
$OutFile = "$PSScriptRoot\checkreresult_NetFramework.csv"
Foreach($server in $servername)
{
$key = "SOFTWARE\Microsoft\NET Framework Setup\NDP"
$type = [Microsoft.Win32.RegistryHive]::LocalMachine
$regKey = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey($type, $Server)
$regKey2 = $regKey.OpenSubKey($key)
$Subkeyname =$regKey2.GetSubKeyNames() | Sort-Object -Descending
Write-Output "$server .netFrameVersion $Subkeyname" | Out-File "$Outfile" -Append
}
################################Code End########################################
本文链接: https://www.pstips.net/query-remote-net-framework-version.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!

感谢分享,这个适合在域环境下用当前账号操作。如果能够支持自定义用户凭据就更好了。
icm -credential
这个方法调用了.net
假如纯powershell : icm [computerName] {gci hklm:\SOFTWARE\Microsoft\NET Framework Setup\NDP}