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
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
add a comment |
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
add a comment |
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
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
c# process wmi launch
edited Mar 8 at 21:59
Festus Martingale
asked Mar 8 at 19:03
Festus MartingaleFestus Martingale
185110
185110
add a comment |
add a comment |
0
active
oldest
votes
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
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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