Windows
用作變數的 Powershell 系統資料庫值
我正在研究如何從系統資料庫返回一個值。我只想要這個命令的 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;