ManagementClass (.NET) with impersonation/delegation works on all remote machines, but fails on local machine The Next CEO of Stack OverflowVB.Net - Local WMI Connection with user credentials.Net classes to control services on a remote machine?How a LocalSystem Service can run an application as a user [C#]?Remote process creation using WMI and Win32_ProcessGet error and standard output from an elevated child processService needs to spawn non-interactive child process, but fails with “Access denied”as a Service connecting remote WMI query errors out with wrong userUsing WCF to start a remote process by WMILaunch Windows process as another user without directly knowing the passwordHow to run application on remote machine after open from local environmentRunning process under another user in Windows

Would a grinding machine be a simple and workable propulsion system for an interplanetary spacecraft?

Does int main() need a declaration on C++?

Why was Sir Cadogan fired?

Calculate the Mean mean of two numbers

Could a dragon use its wings to swim?

Planeswalker Ability and Death Timing

Strange use of "whether ... than ..." in official text

"Eavesdropping" vs "Listen in on"

Create custom note boxes

Find a path from s to t using as few red nodes as possible

logical reads on global temp table, but not on session-level temp table

Are British MPs missing the point, with these 'Indicative Votes'?

MT "will strike" & LXX "will watch carefully" (Gen 3:15)?

How can I prove that a state of equilibrium is unstable?

How does a dynamic QR code work?

Calculating discount not working

Is it possible to create a QR code using text?

Why did the Drakh emissary look so blurred in S04:E11 "Lines of Communication"?

How to pronounce fünf in 45

What day is it again?

Airship steam engine room - problems and conflict

How can a day be of 24 hours?

Which acid/base does a strong base/acid react when added to a buffer solution?

Could you use a laser beam as a modulated carrier wave for radio signal?



ManagementClass (.NET) with impersonation/delegation works on all remote machines, but fails on local machine



The Next CEO of Stack OverflowVB.Net - Local WMI Connection with user credentials.Net classes to control services on a remote machine?How a LocalSystem Service can run an application as a user [C#]?Remote process creation using WMI and Win32_ProcessGet error and standard output from an elevated child processService needs to spawn non-interactive child process, but fails with “Access denied”as a Service connecting remote WMI query errors out with wrong userUsing WCF to start a remote process by WMILaunch Windows process as another user without directly knowing the passwordHow to run application on remote machine after open from local environmentRunning process under another user in Windows










0















When launching processes on remote machines, where said processes are required to run under a specific Windows domain account, I use code similar to this:



new ManagementClass(
new ManagementScope(
String.Format("\\0\root\cimv2","machine_name"),
new ConnectionOptions
Username="username",
Password="password",
Impersonation=ImpersonationLevel.Delegate,
Authentication= AuthenticationLevel.Default,
EnablePrivileges=false

),
new ManagementPath("Win32_Process"),
null
).InvokeMethod("Create",new String[]"process_name.exe");


This works fine but throws an exception when attempting to launch a process on the local machine, that is, the same machine on which the launch code is running. The error message is quite clear regarding the nature of the problem: System.Management.ManagementException: User credentials cannot be used for local connections



Sure enough, nulling out the username and password fields allows the call to succeed.



Thus far, this limitation hasn't really been a problem because, as it turns out, when I need to launch a process on the local machine, I don't mind it running under the same account as my launcher code. So the logic of the program detects whether or not we're targeting the local machine, and if so, simply nulls out the username and password.



As you may have guessed by now, I'm currently in a situation where I need to launch a process on the local machine using a different windows account with a known username/password. But I'm not sure how to overcome this odd limitation of being unable to use a ManagementScope of the local machine alongside a username/password.



I can pull this off with Process.Start(), of course, but it's been made clear to me that using the ManagementClass is the preferred course of action on this project.



Back on 2011, this guy was having a similar problem in a very different context, but as you can see in the comments, suggested actions aren't helping.



Are there any workarounds?










share|improve this question




























    0















    When launching processes on remote machines, where said processes are required to run under a specific Windows domain account, I use code similar to this:



    new ManagementClass(
    new ManagementScope(
    String.Format("\\0\root\cimv2","machine_name"),
    new ConnectionOptions
    Username="username",
    Password="password",
    Impersonation=ImpersonationLevel.Delegate,
    Authentication= AuthenticationLevel.Default,
    EnablePrivileges=false

    ),
    new ManagementPath("Win32_Process"),
    null
    ).InvokeMethod("Create",new String[]"process_name.exe");


    This works fine but throws an exception when attempting to launch a process on the local machine, that is, the same machine on which the launch code is running. The error message is quite clear regarding the nature of the problem: System.Management.ManagementException: User credentials cannot be used for local connections



    Sure enough, nulling out the username and password fields allows the call to succeed.



    Thus far, this limitation hasn't really been a problem because, as it turns out, when I need to launch a process on the local machine, I don't mind it running under the same account as my launcher code. So the logic of the program detects whether or not we're targeting the local machine, and if so, simply nulls out the username and password.



    As you may have guessed by now, I'm currently in a situation where I need to launch a process on the local machine using a different windows account with a known username/password. But I'm not sure how to overcome this odd limitation of being unable to use a ManagementScope of the local machine alongside a username/password.



    I can pull this off with Process.Start(), of course, but it's been made clear to me that using the ManagementClass is the preferred course of action on this project.



    Back on 2011, this guy was having a similar problem in a very different context, but as you can see in the comments, suggested actions aren't helping.



    Are there any workarounds?










    share|improve this question


























      0












      0








      0








      When launching processes on remote machines, where said processes are required to run under a specific Windows domain account, I use code similar to this:



      new ManagementClass(
      new ManagementScope(
      String.Format("\\0\root\cimv2","machine_name"),
      new ConnectionOptions
      Username="username",
      Password="password",
      Impersonation=ImpersonationLevel.Delegate,
      Authentication= AuthenticationLevel.Default,
      EnablePrivileges=false

      ),
      new ManagementPath("Win32_Process"),
      null
      ).InvokeMethod("Create",new String[]"process_name.exe");


      This works fine but throws an exception when attempting to launch a process on the local machine, that is, the same machine on which the launch code is running. The error message is quite clear regarding the nature of the problem: System.Management.ManagementException: User credentials cannot be used for local connections



      Sure enough, nulling out the username and password fields allows the call to succeed.



      Thus far, this limitation hasn't really been a problem because, as it turns out, when I need to launch a process on the local machine, I don't mind it running under the same account as my launcher code. So the logic of the program detects whether or not we're targeting the local machine, and if so, simply nulls out the username and password.



      As you may have guessed by now, I'm currently in a situation where I need to launch a process on the local machine using a different windows account with a known username/password. But I'm not sure how to overcome this odd limitation of being unable to use a ManagementScope of the local machine alongside a username/password.



      I can pull this off with Process.Start(), of course, but it's been made clear to me that using the ManagementClass is the preferred course of action on this project.



      Back on 2011, this guy was having a similar problem in a very different context, but as you can see in the comments, suggested actions aren't helping.



      Are there any workarounds?










      share|improve this question
















      When launching processes on remote machines, where said processes are required to run under a specific Windows domain account, I use code similar to this:



      new ManagementClass(
      new ManagementScope(
      String.Format("\\0\root\cimv2","machine_name"),
      new ConnectionOptions
      Username="username",
      Password="password",
      Impersonation=ImpersonationLevel.Delegate,
      Authentication= AuthenticationLevel.Default,
      EnablePrivileges=false

      ),
      new ManagementPath("Win32_Process"),
      null
      ).InvokeMethod("Create",new String[]"process_name.exe");


      This works fine but throws an exception when attempting to launch a process on the local machine, that is, the same machine on which the launch code is running. The error message is quite clear regarding the nature of the problem: System.Management.ManagementException: User credentials cannot be used for local connections



      Sure enough, nulling out the username and password fields allows the call to succeed.



      Thus far, this limitation hasn't really been a problem because, as it turns out, when I need to launch a process on the local machine, I don't mind it running under the same account as my launcher code. So the logic of the program detects whether or not we're targeting the local machine, and if so, simply nulls out the username and password.



      As you may have guessed by now, I'm currently in a situation where I need to launch a process on the local machine using a different windows account with a known username/password. But I'm not sure how to overcome this odd limitation of being unable to use a ManagementScope of the local machine alongside a username/password.



      I can pull this off with Process.Start(), of course, but it's been made clear to me that using the ManagementClass is the preferred course of action on this project.



      Back on 2011, this guy was having a similar problem in a very different context, but as you can see in the comments, suggested actions aren't helping.



      Are there any workarounds?







      c# process wmi launch






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Mar 8 at 21:59







      Festus Martingale

















      asked Mar 8 at 19:03









      Festus MartingaleFestus Martingale

      185110




      185110






















          0






          active

          oldest

          votes












          Your Answer






          StackExchange.ifUsing("editor", function ()
          StackExchange.using("externalEditor", function ()
          StackExchange.using("snippets", function ()
          StackExchange.snippets.init();
          );
          );
          , "code-snippets");

          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "1"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55069449%2fmanagementclass-net-with-impersonation-delegation-works-on-all-remote-machine%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes















          draft saved

          draft discarded
















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55069449%2fmanagementclass-net-with-impersonation-delegation-works-on-all-remote-machine%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Identity Server 4 is not redirecting to Angular app after login2019 Community Moderator ElectionIdentity Server 4 and dockerIdentityserver implicit flow unauthorized_clientIdentityServer Hybrid Flow - Access Token is null after user successful loginIdentity Server to MVC client : Page Redirect After loginLogin with Steam OpenId(oidc-client-js)Identity Server 4+.NET Core 2.0 + IdentityIdentityServer4 post-login redirect not working in Edge browserCall to IdentityServer4 generates System.NullReferenceException: Object reference not set to an instance of an objectIdentityServer4 without HTTPS not workingHow to get Authorization code from identity server without login form

          2005 Ahvaz unrest Contents Background Causes Casualties Aftermath See also References Navigation menue"At Least 10 Are Killed by Bombs in Iran""Iran"Archived"Arab-Iranians in Iran to make April 15 'Day of Fury'"State of Mind, State of Order: Reactions to Ethnic Unrest in the Islamic Republic of Iran.10.1111/j.1754-9469.2008.00028.x"Iran hangs Arab separatists"Iran Overview from ArchivedConstitution of the Islamic Republic of Iran"Tehran puzzled by forged 'riots' letter""Iran and its minorities: Down in the second class""Iran: Handling Of Ahvaz Unrest Could End With Televised Confessions""Bombings Rock Iran Ahead of Election""Five die in Iran ethnic clashes""Iran: Need for restraint as anniversary of unrest in Khuzestan approaches"Archived"Iranian Sunni protesters killed in clashes with security forces"Archived

          Can't initialize raids on a new ASUS Prime B360M-A motherboard2019 Community Moderator ElectionSimilar to RAID config yet more like mirroring solution?Can't get motherboard serial numberWhy does the BIOS entry point start with a WBINVD instruction?UEFI performance Asus Maximus V Extreme