Commit dd744261d878d8511e96873c8d2a42fbe2fe5622
1 parent
c8f97de8
v1.34.3.0
- RunEXEOnRemoteComputer hozzáadása; még nem OK
Showing
3 changed files
with
47 additions
and
14 deletions
Show diff stats
Vrh.Log4Pro.MaintenanceConsole/Manager - SQLDataBaseManager.cs
| ... | ... | @@ -1541,17 +1541,46 @@ GO |
| 1541 | 1541 | finally { sqlserver?.ConnectionContext.SqlConnectionObject.Dispose(); } |
| 1542 | 1542 | } |
| 1543 | 1543 | |
| 1544 | - private static void RunEXEOnRemoteComputer(string servername,string username, string password, string exefilename) | |
| 1545 | - { | |
| 1546 | - var processToRun = new[] { exefilename/*"notepad.exe"*/ }; | |
| 1547 | - var connection = new ConnectionOptions(); | |
| 1548 | - connection.Username = username; | |
| 1549 | - connection.Password = password; | |
| 1550 | - var wmiScope = new ManagementScope(String.Format(@"\\{0}\root\cimv2", servername), connection); | |
| 1551 | - var wmiProcess = new ManagementClass(wmiScope, new ManagementPath("Win32_Process"), new ObjectGetOptions()); | |
| 1552 | - wmiProcess.InvokeMethod("Create", processToRun); | |
| 1553 | - } | |
| 1544 | + internal static void RunEXEOnRemoteComputer(string servername,string username, string password, string sourcePath, string targetPath, bool usecopy=false) | |
| 1545 | + { | |
| 1546 | + ConnectionOptions options = new ConnectionOptions | |
| 1547 | + { | |
| 1548 | + Username = username, | |
| 1549 | + Password = password, | |
| 1550 | + EnablePrivileges = true, | |
| 1551 | + Impersonation = ImpersonationLevel.Impersonate | |
| 1552 | + }; | |
| 1553 | + | |
| 1554 | + ManagementScope scope = new ManagementScope($@"\\{servername}\root\cimv2", options); | |
| 1555 | + try | |
| 1556 | + { | |
| 1557 | + scope.Connect(); | |
| 1558 | + | |
| 1559 | + ObjectGetOptions objectGetOptions = new ObjectGetOptions(); | |
| 1560 | + ManagementPath path = new ManagementPath("Win32_Process"); | |
| 1561 | + ManagementClass fileService = new ManagementClass(scope, path, objectGetOptions); | |
| 1562 | + string com = usecopy ? "copy" : "move";//"copy" | |
| 1563 | + ManagementBaseObject inParams = fileService.GetMethodParameters("Create"); | |
| 1564 | + inParams["CommandLine"] = "cmd.exe /c echo Hello from remote computer"; | |
| 1565 | + //inParams["CommandLine"] = $"cmd.exe /c {com} \"{sourcePath}\" \"{targetPath}\""; | |
| 1566 | + ManagementBaseObject outParams = fileService.InvokeMethod("Create", inParams, null); | |
| 1567 | + | |
| 1568 | + Console.WriteLine("Process ID: " + outParams["ProcessId"]); | |
| 1569 | + Console.WriteLine("Return Value: " + outParams["ReturnValue"]); | |
| 1570 | + } | |
| 1571 | + catch (Exception ex) | |
| 1572 | + { | |
| 1573 | + Console.WriteLine("An error occurred: " + ex.Message); | |
| 1574 | + } | |
| 1575 | + //servername = @"ROCMP-alm01"; | |
| 1576 | + //string sourcedir = @"f:\Log4ProISBackups\"; | |
| 1577 | + //string sourcefile = @"Log4ProIS_ROCMP_ALMOLD_LearALM_DBBACKUP__20250514135117.zip"; | |
| 1578 | + //sourcePath = Path.Combine(sourcedir,sourcefile); | |
| 1579 | + //string targetdir = @"\\"+ servername + @"\f$\log4proisbackups\"; | |
| 1580 | + //string targetfile = @"aaa.bbb"; | |
| 1581 | + //targetPath = Path.Combine(targetdir, targetfile); | |
| 1554 | 1582 | |
| 1583 | + } | |
| 1555 | 1584 | |
| 1556 | 1585 | /// <summary> |
| 1557 | 1586 | /// Create SQL DB backup | ... | ... |
Vrh.Log4Pro.MaintenanceConsole/Program.cs
| ... | ... | @@ -39,9 +39,13 @@ namespace Vrh.Log4Pro.MaintenanceConsole |
| 39 | 39 | { |
| 40 | 40 | static void Main(string[] args) |
| 41 | 41 | { |
| 42 | + | |
| 43 | + //SQLDataBaseManagerCore.RunEXEOnRemoteComputer(@"ROCMP-DTM01",@"corplear\gen_vrhalmadmin", "ALMforLear@-2024Q3##", @"\\ROCMP-DTM01\f$\Log4ProISBackups\TEST.txt", @"\\ROCMP-ALM01\f$\Log4ProISBackups\TST2" + (DateTime.Now.Ticks).ToString()+@".txt", true); | |
| 44 | + //SQLDataBaseManagerCore.RunEXEOnRemoteComputer(@"DESKTOP-1RNSI2E", "lschwirg", "Slsl23142314", @"c:\TMP\TEST.txt", @"c:\TMP\TEST" + (DateTime.Now.Ticks).ToString()+@".txt", true); | |
| 42 | 45 | //bool xxxx = new TimeSpan(0, 0, 15).Add(new TimeSpan(0, 0, 25).Negate()).Ticks > 0; |
| 43 | - //return; | |
| 44 | - var forcedmodulekey = CommandLine.GetCommandLineArgument(args, CLP.CMD_MODULE); | |
| 46 | + Console.ReadLine(); | |
| 47 | + return; | |
| 48 | + var forcedmodulekey = CommandLine.GetCommandLineArgument(args, CLP.CMD_MODULE); | |
| 45 | 49 | var commandmode = !string.IsNullOrEmpty(forcedmodulekey); |
| 46 | 50 | var silentmode = commandmode && !string.IsNullOrEmpty(CommandLine.GetCommandLineArgument(args, CLP.CMD_SILENT, switchtype: true)); |
| 47 | 51 | ColorConsole.SilentMode=silentmode; | ... | ... |
Vrh.Log4Pro.MaintenanceConsole/Properties/AssemblyInfo.cs
| ... | ... | @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; |
| 32 | 32 | // You can specify all the values or you can default the Build and Revision Numbers |
| 33 | 33 | // by using the '*' as shown below: |
| 34 | 34 | // [assembly: AssemblyVersion("1.0.*")] |
| 35 | -[assembly: AssemblyVersion("1.34.2.0")] | |
| 36 | -[assembly: AssemblyFileVersion("1.34.2.0")] | |
| 35 | +[assembly: AssemblyVersion("1.34.3.0")] | |
| 36 | +[assembly: AssemblyFileVersion("1.34.3.0")] | ... | ... |