1

WMI を使用してリモート マシンでプロセスを実行します。

プロセス コードがリモートで作成された場合、(リモート マシン上で) チェックインできますか?

プロパティを試しProcess.GetCurrentProcess()てみProcess.GetCurrentProcess().StartInfoましたが、情報が見つかりませんでした。環境クラスにも情報は含まれていません。

私のコードは、リモートプロセスを作成するために使用します(フォーラムで見つけました):

                var connOptions = new ConnectionOptions()
                {
                    Username = "user",
                    Password = "password"
                };

            connOptions.Impersonation = ImpersonationLevel.Impersonate;
            connOptions.EnablePrivileges = true;

            var manScope = new ManagementScope(string.Format(@"\\{0}\root\cimv2", "MachineName"), connOptions);

            manScope.Connect();

            var objectGetOptions = new ObjectGetOptions();
            var managementPath = new ManagementPath("Win32_Process");
            using (var processClass = new ManagementClass(manScope, managementPath, objectGetOptions))
            {
                using (ManagementBaseObject inParams = processClass.GetMethodParameters("Create"))
                {
                    inParams["CommandLine"] = remoteFilePath;

                    using (ManagementBaseObject outParams = processClass.InvokeMethod("Create", inParams, null))
                    {
                        if ((uint)outParams["returnValue"] == 0)
                        {
                            var pid = (uint)outParams["processId"];

                            return pid;
                        }
                    }
                }
            }
4

1 に答える 1