我正在寻找如何从registry中返回一个值。 我只需要这个命令的AGENTGUID值。
$reg=reg query "\\$computer\HKLM\SOFTWARE\Wow6432Node\Network Associates\ePolicy Orchestrator\Agent" /v Agentguid
$reg将返回这一行。 我只需要{F789B761-81BE-4357-830B-368B5B3CF5E5} HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Network Associates\ePolicy Orchestrator\Agent Aentguid REG_SZ {F789B761-81BE-4357-830B-368B5B3CF5E5}
我会忘记炮击到REG.EXE,并使用本机的PowerShell命令(在这种情况下,你需要一点.NET魔术):
function getAgentGUID() { param( [String] $computername = "" ); [String] $Local:strServerName = $computername; [Microsoft.Win32.RegistryKey] $Local:objHKLMRootRegKey = $null; [Microsoft.Win32.RegistryKey] $Local:objMyKey = $null; [String] $Local:strAgentGUID = ""; try { $objHKLMRootRegKey = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey( [Microsoft.Win32.RegistryHive]::LocalMachine, $strServerName ) try { $objMyKey = $objHKLMRootRegKey.OpenSubKey( "SOFTWARE\Wow6432Node\Network Associates\ePolicy Orchestrator\Agent" ); $strAgentGUID = $objMyKey.GetValue( "Agentguid" ); } #try catch { Write-Error -Message "ERROR : Failed to get AgentGUID value."; } #catch } #try catch { Write-Error -Message "ERROR : Failed to connect to remote registry."; } #catch return $strAgentGUID; } # # Get the McAfee agent GUID for remote machine called fred. # [String] $Local:strAgentGUID = getAgentGUID -computer "fred"; Write-Host -foregroundColor "red" -backgroundColor "white" -Object ( "GUID is : [" + $strAgentGUID + "]" ); exit;