Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
23 / 20 / 1
Регистрация: 15.06.2018
Сообщений: 437

Как запустить powershell с аргументами

29.11.2024, 20:04. Показов 2379. Ответов 22

Студворк — интернет-сервис помощи студентам
Всем привет, подскажите пожалуйста как запустить powershell с аргументами чтобы это работало на windows 11
Раньше я использовал два метода
Первый
C#
1
2
3
4
5
6
7
8
9
ProcessStartInfo processInfo6 = new ProcessStartInfo();
processInfo6.FileName = "PowerShell.exe";
processInfo6.Arguments = @"Get-AppXPackage *WindowsAlarms* -AllUsers | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register ""$($_.InstallLocation)\AppXManifest.xml""}";
processInfo6.UseShellExecute = true;
processInfo6.Verb = "runas"; // от имени администратора
processInfo6.WindowStyle = ProcessWindowStyle.Hidden; // скрыть окно
Process pr6 = new Process();
 
    pr6 = Process.Start(processInfo6);
Второй

C#
1
2
3
4
5
6
7
8
9
PowerShell ps = PowerShell.Create();
ps.AddScript("Get-AppxPackage *Microsoft.WindowsAlarms_1.0.188.0_x64__8wekyb3d8bbwe* -AllUsers | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register \"$($_.InstallLocation)\\AppxManifest.xml\"}");
foreach (PSObject result in ps.Invoke())
{
    Console.WriteLine(result.ToString());
}
ps.Commands.Clear();
ps.AddCommand("Get-Process");
ICollection<PSObject> results = ps.Invoke();
Сейчас же на виндовс 11 не работает и почему не знаю, хотя если просто зайти в powershell и ввести аргумент
PowerShell
1
Get-AppXPackage *WindowsAlarms* -AllUsers | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"}
все устанавливается
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.11.2024, 20:04
Ответы с готовыми решениями:

Как запустить процесс с ранее передаваемыми аргументами
Суть моей программы следущая: - при запуске нового процесса, программа его завершает. Но если определенные условия выполнились, то нужно...

Как запустить программу с аргументами?
Здравствуйте, товарищи! Возникла необходимость запустить внешнюю программу в скрытом режиме, поэтому решил использовать WSH, но не...

Как запустить питоновский скрипт с аргументами?
Здравствуйте, возник такой вопрос, как запустить питоновский скрипт с аргументами? использую $doit =...

22
Любознательный
 Аватар для YuS_2
7407 / 2260 / 361
Регистрация: 10.03.2016
Сообщений: 5,216
01.12.2024, 16:02
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от pafka1997 Посмотреть сообщение
Значит решение
Закодировать строку запуска в base64, чтобы powershell потом его раскодировал - это "костыльное решение", хоть и рабочее
0
23 / 20 / 1
Регистрация: 15.06.2018
Сообщений: 437
01.12.2024, 16:17  [ТС]
YuS_2, Как говорится, если работает не трогай, а то сломаешь
+-
0
-26 / 4 / 0
Регистрация: 26.09.2024
Сообщений: 128
10.12.2024, 10:59
pafka1997, я таким способом выполняю
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace CMDHOOK
{
    public partial class Form1 : Form
    {
       
 
        [DllImport("user32.dll", SetLastError = true)]
        public static extern IntPtr FindWindowEx(IntPtr parentHandle, IntPtr childAfter, string lclassName, string windowTitle);
        [DllImport("user32.dll", SetLastError = true)]
        public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
 
        [DllImport("kernel32.dll", SetLastError = true)]
        static extern IntPtr OpenProcess(uint dwDesiredAccess, bool bInheritHandle, int dwProcessId);
 
        [DllImport("kernel32.dll", SetLastError = true)]
        [return: MarshalAs(UnmanagedType.Bool)]
        static extern bool CloseHandle(IntPtr hObject);
 
        [DllImport("kernel32.dll", SetLastError = true)]
        [return: MarshalAs(UnmanagedType.Bool)]
        static extern bool TerminateProcess(IntPtr hProcess, uint uExitCode);
        public Form1()
        {
            InitializeComponent();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
 
        }
        public delegate void MyDelegate(object o, EventArgs e);
        public event MyDelegate ChildProcessEventHandler;
        private StringBuilder output = new StringBuilder();
        int lineCount = 0;
        private void button1_Click(object sender, EventArgs e)
        {
            System.Security.SecureString ssPwd = new System.Security.SecureString();
            Process myProcess = new Process();
            myProcess.StartInfo.FileName = "cmd ";
            myProcess.StartInfo.UserName = "Zevs";
            myProcess.StartInfo.Arguments = "/c help";
            ssPwd.AppendChar('1');
            myProcess.StartInfo.Password = ssPwd;
            myProcess.StartInfo.UseShellExecute = false;
            myProcess.StartInfo.CreateNoWindow = true;
            myProcess.StartInfo.RedirectStandardOutput = true;
            myProcess.StartInfo.RedirectStandardError = true;
            myProcess.StartInfo.StandardOutputEncoding = Encoding.GetEncoding(866);
 
            string str = string.Empty;
            
            myProcess.OutputDataReceived += new DataReceivedEventHandler((sendere, ee) =>
            {
                
                if (!String.IsNullOrEmpty(ee.Data))
                {
                    lineCount++;
                    output.Append("\n[" + lineCount + "]: " + ee.Data);
                    
                }
            });
 
            myProcess.Start();
            myProcess.BeginOutputReadLine();
            myProcess.WaitForExit();
            str = output.ToString();
            
            
            richTextBox1.AppendText("CMD ID - " + myProcess.Id + ".  CMD дискриптор - " + OpenProcess(0xFFFF, false, myProcess.Id));
            richTextBox1.Invoke(new Action(() => richTextBox1.AppendText("" +  str)));
 
            
 
        }
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.12.2024, 10:59

Как запустить проект из Visual Studio с аргументами?
Здравствуйте! Проблема заключается в том, что в проекте где-то ошибка (примерно понимаю где) хочу запустить его из visual studio, чтобы...

Запустить PowerShell-скрипт как службу
Есть скрипт, он находит некоторый процесс (он в кол. 4 штук) и разбрасывает каждый процесс на каждое ядро. Итого каждый процесс выполняется...

Как запустить PowerShell-скрипт в скрытом режиме?
Привествую. Есть скрип на PowerShell. Называется ctr_switch. Как его запустить через VBS в скрытом режиме? На такой код выдает ошибку. ...

Как правильно на хостинше запустить файл PowerShell?
Залил на хостинг скрипт в .ps1 Пытаюсь запустить его - тупо вижу весь текст фаайла и ничего не происходит. Я явно что-то делаю не так..

Как запустить консольное приложение с ключами в PowerShell ISE?
Пытаюсь запустить приложение wincontig (дефрагментатор). Вот такой код в скрипте: $disk = &quot;F:\&quot; $keys = &quot;/NOGUI...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
Новые блоги и статьи
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть не большие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru