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

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

29.11.2024, 20:04. Показов 2278. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал. Оно само - говорит. Кто слышит тот слышит.
Оказывается, Unreal Engine позволяет качество на порядки выше, чем было в Lineedge
Etyuhibosecyu 05.07.2026
Жаль, конечно, что я не узнал об этом, пока Lineedge существовала, а то бы Noname2331 написал, что волки превращаются в пиксельную кашу, а я бы его попросил скачать какую-нибудь бриллиантовую или Pro. . .
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась. Первый вариант. . .
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2. Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru