0

SCCM 2007 SDK を使用して 1 週間ほど経ちましたが、C# の例を使用しても、必要なコマンドの接続と実行に問題はありませんでした。残念ながら、Powershell 内から .​​Net DLL を実行しようとしていますが、WglConnectionManager オブジェクトの .Connect ステートメントに到達するとすぐに、Access Denied エラーが発生します。

リモート マシンで PSRemoting を有効にし、wgladmin DLL を逆コンパイルして、Authentication が PacketPrivacy に設定されていることを確認するために、かなりの調査を行いました。何か足りないものがあると確信しています。私は Powershell をほぼ 1 年間使用していますが、ほとんどがローカル システムで使用されています。

この接続は、必要な 2 つの DLL を名前空間に既にインポートした後で行われます。私が受け取るエラーは次のとおりです。

    Exception calling "Connect" with "3" argument(s): "Access is denied. (Exception from HRESULT:   0x80070005 (E_ACCESSDENIED))"
At C:\Users\cnanda\Documents\WindowsPowerShell\Modules\Sccmpack\SCCMPack.PSM1:15 char:38
+             [void]$connection.Connect <<<< ("", "", "
");
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : DotNetMethodException



SciSessionHandle       :
ConnectionScope        : System.Management.ManagementScope
QueryProcessor         : Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine.WqlQueryProcessor
UniqueIdentifier       : 4acb728e-1aeb-4493-a0a7-218f68bce2d9
MinVersion             : 0
MaxVersion             : 0
ExecuteQueryBatchSize  : 50
AsyncQueryBatchSize    : 50
ResultObjectsBatchSize : 1000
NamedValueDictionary   : {}
UserDataObject         :
Context                :

接続コードは次のとおりです。

        $namedValues = New-Object Microsoft.ConfigurationManagement.ManagementProvider.SmsNamedValuesDictionary
        $connection =  New-Object Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine.WqlConnectionManager($namedValues)

        [void]$connection.Connect("SERVERNAME", "USERNAME", "PASSWORD");
4

0 に答える 0