Форум программистов, компьютерный форум, киберфорум
PowerShell
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
 Аватар для StaLL1n
19 / 19 / 4
Регистрация: 13.04.2014
Сообщений: 276

Добавление локальных пользователей в ps через cmd

10.06.2021, 21:53. Показов 3526. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую
С повер шелл на вы. Написал простейший скрипт на ps.Пытаюсь запустить в cmd такой код:

PowerShell
1
powershell -NoProfile -command "& {$UserPassword = ConvertTo-SecureString '123fghjn' -AsPlainText -Force ; New-localUser 'СПБТЕСТ1' -Password $UserPassword  -FullName 'СПБТЕСТ1' -Description 'Пользователи удаленного рабочего стола'}" -Verb Runas
Выдает ошибку
PowerShell
1
New-localUser : Отказано в доступе.
Поправьте,пожалуйста,в чем я не прав? параметр -Verb Runas ведь должен запускать с повышенными привилегиями пс
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.06.2021, 21:53
Ответы с готовыми решениями:

Добавление проверки входных данных, вывод ошибок и реализация интерфейса через cmd
Добавление проверки входных данных, вывод ошибок и реализация интерфейса через cmd Вот код: import numpy as np import sys ...

Создание локальных пользователей
Есть сервер вне домена. Довольно часто приходится создавать пользователей в некотором кол-ве. Хотелось бы написать скрипт создания юзера,...

Миграция локальных пользователей
Добрый день. Подскажите как с одного сервера Windows 2003 скопировать всех локальных пользователей (250 штук) на другой сервер тоже 2003....

15
1658 / 273 / 66
Регистрация: 03.06.2020
Сообщений: 703
10.06.2021, 22:28
Цитата Сообщение от StaLL1n Посмотреть сообщение
параметр -Verb Runas ведь должен запускать с повышенными привилегиями пс
В powershell.exe нет такого ключа. Вы наверное перепутали со Start-Process. Если вы используете для этого cmd.exe, хоть это и странно, то смотрите в сторону runas.exe или запускайте оболочку от администратора.
1
2805 / 503 / 120
Регистрация: 26.09.2020
Сообщений: 950
Записей в блоге: 5
10.06.2021, 22:31
Цитата Сообщение от StaLL1n Посмотреть сообщение
Поправьте,пожалуйста,в чем я не прав? параметр -Verb Runas ведь должен запускать с повышенными привилегиями пс
нет такого параметра -Verb Runas
powershell в командлете Start-Process, есть
PowerShell
1
Start-Process powershell -Verb runas
хз зачем, вызов из консоли cmd => powershell и Start-Process => другого powershell, с запросом прав и исполнением некого скриптблока
welcome to quote hell
Windows Batch file
1
powershell -noprofile -windowstyle hidden -command "& {Start-Process powershell -Verb runas -ArgumentList """"-NoProfile -NoExit -Command & { Write-Host -Foreground Yellow 'Admin rights powershell console' }""""}"
1
 Аватар для StaLL1n
19 / 19 / 4
Регистрация: 13.04.2014
Сообщений: 276
10.06.2021, 23:03  [ТС]
Цитата Сообщение от lesser Посмотреть сообщение
запускайте оболочку
В этом то и весь смысл. Мне не нужна оболочка в принципе
Поясню что хочу
В серверной виндоус поздних версий есть теневое подключение к пользователям.Вот рабочий код
PowerShell
1
"powershell start-process mstsc -argumentlist '/shadow:1 /v:localhost /noConsentPrompt /control' -Verb Runas"
Запускаю я его из командной строки cmd (точнее из программы 1с,там есть метод, запускающий команду в cmd).По сути,в этой команде повер шелл нужен только лишь для того, чтобы запустить экзешник с повышенными правами.
По этому примеру я и пытался написать скрипт, создающий локальных пользователей.А потом увидел пример,как добавить пользователя через ps,что гораздо удобнее цмд(сразу можно добавить в группу)
0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
10.06.2021, 23:18
StaLL1n, добрый вечер! Так напишите скрипт создания пользователя и добавления в нужную группу на powershell и запускайте этот скрипт от имени администратора
1
 Аватар для StaLL1n
19 / 19 / 4
Регистрация: 13.04.2014
Сообщений: 276
11.06.2021, 21:28  [ТС]
В общем решил сделать через cmd и процесс ps. Вроде работает. Но не все

PowerShell
1
sstart-process net -argumentlist 'localgroup "Пользователи удаленного рабочего стола"  СпбТест1 /add' -Verb runas
Вот такая ошибка
PowerShell
1
Start-Process : Не удается найти позиционный параметр, принимающий аргумент ""Пользователи удаленного рабочего стола"".
если пишу
PowerShell
1
 net localgroup "Пользователи удаленного рабочего стола" СпбТест1 /add
,то скрипт отрпбптывает. Я так понимаю проблема со скобками... Пробовал так -
PowerShell
1
`"Пользователи удаленного рабочего стола`"
-результат тот же.

Добавлено через 5 минут
Цитата Сообщение от StaLL1n Посмотреть сообщение
Вот такая ошибка
Извиняюсь,вот весь текст
PowerShell
1
2
3
4
5
6
Start-Process : Не удается найти позиционный параметр, принимающий аргумент "Пользователи".
строка:1 знак:1
+ start-process net -argumentlist localgroup Пользователи удаленного ра ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Start-Process], ParameterBindingException
    + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.StartProcessCommand
0
2805 / 503 / 120
Регистрация: 26.09.2020
Сообщений: 950
Записей в блоге: 5
11.06.2021, 22:05
Цитата Сообщение от iNNOKENTIY21 Посмотреть сообщение
welcome to quote hell
попробуйте кавычки местами поменять, снаружи двйные, внутри одинарне или сдвоенны...
"localgroup 'Пользователи удаленного рабочего стола' СпбТест1 /add"
1
 Аватар для StaLL1n
19 / 19 / 4
Регистрация: 13.04.2014
Сообщений: 276
11.06.2021, 22:46  [ТС]
Цитата Сообщение от iNNOKENTIY21 Посмотреть сообщение
"localgroup 'Пользователи удаленного рабочего стола' СпбТест1 /add"
Помогло)
но теперь ошибка в самом скрипте,не связанная со скобками
Start-Process : Не удается найти позиционный параметр, принимающий аргумент "Пользователи удаленного рабочего стола"
0
2805 / 503 / 120
Регистрация: 26.09.2020
Сообщений: 950
Записей в блоге: 5
12.06.2021, 14:01
Лучший ответ Сообщение было отмечено StaLL1n как решение

Решение

StaLL1n, в каком скрипте?
кавычки ещё раз кавычки..
а лучше
Цитата Сообщение от Karen87 Посмотреть сообщение
напишите скрипт создания пользователя и добавления в нужную группу на powershell и запускайте этот скрипт от имени администратора
Windows Batch file
1
powershell -command start-process powershell -verb runas -argumentlist """-noexit -command & "C:\my scripts\script100.ps1""""
2
 Аватар для StaLL1n
19 / 19 / 4
Регистрация: 13.04.2014
Сообщений: 276
17.06.2021, 16:11  [ТС]
Цитата Сообщение от iNNOKENTIY21 Посмотреть сообщение
кавычки ещё раз кавычки
Действительно,дело в них было...

Start-Process -verb runas -FilePath net -ArgumentList localgroup, '""""""пользователи удаленного рабочего стола""""""' ,'Тест','/add'
Всем спасибо за участие)

Добавлено через 15 минут
Еще такой вопрос
мне нужно как-то перехватить ошибки/сообщения в cmd.Пробую создать объект "WScript.Shell" .В метод exec() передаю мою строку с командой.Если скрипт отрабатывает с ошибкой (синтаксическая,например,в консоле ps красными буквами),тогда я могу получить ошибку через StdErr.readall(). А вот StdOut.readall() у меня пустой,даже в том случае, если была ошибка(уже в cmd я так понял).В моем случае если пользователь уже есть в группе,или группы не существует. есть в повершелл 2 ключа-это RedirectStandardError и RedirectStandardOutput,отлично отрабатывают если не использовать verb runas.Но мне он нужен. Как можно выйти из ситуации?
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
17.06.2021, 16:33
по возможности надо ловить все в PS. В cmd с ошибками грустно. в основном это 0 или 1, да, есть другие, но плохо документированы и надо искать согласно процесса в справке, а если критическая ошибка, может и вывода не быть никакого. просто вылет будет вообще.

Добавлено через 3 минуты
Вам выше предлагали все делать в PS и уже готовый скрипт запускать из cmd если уж так надо, но почему-то хочется мазохизма.
1
 Аватар для StaLL1n
19 / 19 / 4
Регистрация: 13.04.2014
Сообщений: 276
17.06.2021, 16:39  [ТС]
Да,наверное так с поступлю по итогу.Спасибо
0
 Аватар для StaLL1n
19 / 19 / 4
Регистрация: 13.04.2014
Сообщений: 276
18.06.2021, 02:03  [ТС]
Цитата Сообщение от iNNOKENTIY21 Посмотреть сообщение
powershell -command start-process powershell -verb runas -argumentlist """-noexit -command & "C:\my scripts\script100.ps1""""
Большое спасибо за подсказку.Написал скрипт,все работает.
Но есть небольшая проблемка. Результат выполнения команды у меня выводится в консоле повершелл.Мне же нужно реализовать вывод в 1С предприятие.Я могу это сделать только через метод exec() объекта WshShell или чтение файлика.В ps я новичек,поэтому первый вариант был бы полезнее.

Нашел статью такой же проблемой как у меня,взял пример скрипта оттуда.
https://stackoverflow.com/ques... rt-process

Ниже выдержка из документации по объекту
https://script-coding.com/WSH/WshShell.html#4.2.4.

Я ведь правильно понимаю,если в консоле есть какой-то вывод информации(write-off),в свойстве stdout должна быть строка?У меня при выполнении она почему-то пустая

Добавлено через 27 минут
Цитата Сообщение от StaLL1n Посмотреть сообщение
write-off
опечатка,write-host
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
18.06.2021, 14:03
например так (для КС cmd, если из файла, то % удваивать %%)
Windows Batch file
1
for /f "delims=" %a in ('powershell -noL -noP -ex Bypass "C:\foo.ps1"') do echo %a
1
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
18.06.2021, 16:34
вот это, кстати, не то что надо для этой работы?

Добавлено через 3 минуты
а тут еще ближе

Добавлено через 2 часа 20 минут
а вот здесь есть утилита, позволяющая запускать скрипты powershell из 1с
1
 Аватар для StaLL1n
19 / 19 / 4
Регистрация: 13.04.2014
Сообщений: 276
22.06.2021, 20:41  [ТС]
Цитата Сообщение от alpap Посмотреть сообщение
вот это, кстати, не то что надо для этой работы?
Не,для текущей задачи это не подойдет.А вот для регулярных регламентных операций(обновления,выгрузки) вполне.

Цитата Сообщение от alpap Посмотреть сообщение
а тут еще ближе
Я пробовал так, не хватает библиотек. Надо винду обновлять. Да и создавать/удалять таким образом пользователей системы через ввод документов приема/увольнения на работу-это утопия,я считаю
Цитата Сообщение от alpap Посмотреть сообщение
а вот здесь есть утилита, позволяющая запускать скрипты powershell из 1с
Вот это интересно,но для скачивания даже бесплатного файла с этого ресурса нужнен абонемент.Как я понял из комментариев алгоритм реализован через ком объект WshShell,что по сути то же самое,что я пытаюсь сделать,но для произвольных комманд.

Свою задачу решил через вывод стандартных сообщений/ошибок из скрипта в текстовые файлы
Всем большое спасибо за участие!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.06.2021, 20:41
Помогаю со студенческими работами здесь

Удаление локальных пользователей доменного ПК
Доброго времени суток! Есть задача написать скрипт, который проверяет disable ли учетка в AD, и если да, то удаляет этого пользователя с...

Создание Локальных Пользователей по шаблону
Добрый день есть необходимость в создании пользователей по шаблону Но основной вопрос состоит как доделать скрипт ,чтоб при первоэтапном...

Disconnect / Logoff отключенных ЛОКАЛЬНЫХ пользователей из ПК
Добрый день коллеги, знатоки. в силу определенных сложностей и процессов, появилась задача, которую надо выполнять скриптом, который я...

Перенос локальных групп со списком пользователей
Добрый день. Имеется две машины, одна на вин2003 вторая на вин2008, обе машины используются для шары. Необходимо перенести с 2003 машины...

В управлении не отображается один из локальных пользователей
проивет всем. люди добрые помогите. есть комп на котором есть как минимум 2 учетные записи. 1 администратора, а 2-я пользователя по имени...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru