小编aru*_*ung的帖子

使用Powershell从HKCR返回值

我在Powershell中有一个函数,该函数返回从中注册COM dll的路径;在函数内返回正确的路径,但是在调用此函数时,在输出之前会有一个额外的字符串“ HKCR”

function com_registeredpath()
{  
    param([string]$guid)

    New-PSDrive -Name HKCR -PSProvider Registry -Root HKEY_CLASSES_ROOT

    $key = Get-Item "HKCR:\CLSID\$guid\InprocServer32"
    $values = Get-ItemProperty $key.PSPath

    [string] $defaultValue = [string] $values."(default)"
    write-host ">>>: $defaultValue" # returns a value like: c:\somefolder\somefile.dll

    remove-psdrive -name HKCR
    return $defaultValue
}

write-host "~~~" (com_registeredpath "{00F97463-DF44-11D1-BED5-00600831F894}") #   returns a value like: HKCR c:\somefolder\somefile.dll
Run Code Online (Sandbox Code Playgroud)

有人可以解释这种奇怪的行为吗?我希望两个返回值都相同。

registry powershell

4
推荐指数
2
解决办法
1万
查看次数

标签 统计

powershell ×1

registry ×1