在AdminProxy类中找不到GetUpdateServer

时间:2014-07-25 06:23:27

标签: c# windows powershell windows-update

$servername='DC1'
[reflection.assembly]::LoadWithPartialName("Microsoft.UpdateServices.Administration") | Out-Null
$wsus = [Microsoft.UpdateServices.Administration.AdminProxy]::getUpdateServer($servername,$False)

这是我试图运行的powershell命令。但是获得例外 -

    Exception calling "GetUpdateServer" with "2" argument(s): "The type initializer for 
'Microsoft.UpdateServices.Internal.Constants' threw an exception."
At line:3 char:1
+ $wsus = [Microsoft.UpdateServices.Administration.AdminProxy]::getUpdateServer($s ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : TypeInitializationException

当我尝试重新启动Microsoft.UpdateServices.Administration.dll并尝试使用GetUpdateServer方法时,我在AdminProxy类中找不到该方法。这是代码行 -

    using Microsoft.UpdateServices.Administration;
using Microsoft.UpdateServices;
using System.Runtime.InteropServices;
[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.None)]
[GuidAttribute("6391AFBB-45A8-4107-A154-F27DB8F03049")]
public sealed class AdminProxy
{

}

namespace WindowsApplication2
{

    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            IUpdateServer obj;
            obj = AdminProxy.GetUpdateServer();


        }
    }

1 个答案:

答案 0 :(得分:0)

boeprox用户在注释中指出,您需要以管理员身份运行PowerShell控制台。