当前位置 博文首页 > Powershell从注册表中查询默认MAPI客户端的例子

    Powershell从注册表中查询默认MAPI客户端的例子

    作者:admin 时间:2021-02-07 18:24

    当你通过类似Mailto:链接发送邮件,此时邮件客户端就是MAPI客户端。如果要找出到这个MAPI客户端在哪里,这里有个函数能从注册表中获得该信息。

    复制代码 代码如下:

    functionGet-MAPIClient
    {
        functionRemove-Argument
        {
          param
          (
            $CommandLine
          )

          $divider=''if ($CommandLine.StartsWith('"'))
          {
            $divider='"'$CommandLine=$CommandLine.SubString(1)
          }

          $CommandLine.Split($divider)[0]
        }

      $path='Registry::HKEY_CLASSES_ROOT\mailto\shell\open\command'# create new object to return values
    $returnValue=1|Select-Object-PropertyHasMapiClient,Path,MailTo$returnValue.hasMAPIClient=Test-Path-Path$pathif ($returnValue.hasMAPIClient)
      {
        $values=Get-ItemProperty-Path$path$returnValue.MailTo=$values.'(default)'$returnValue.Path=Remove-Argument$returnValue.MailToif ((Test-Path-Path$returnValue.Path) -eq$false)
        {
          $returnValue.hasMAPIClient=$true
        }
      }

       
      $returnValue
    }

    Get-MAPIClient

    执行后的结果类似:



    举一反三,同样也可以修改代码查询其它类型的默认客户端。

    js