none
Создание локальной учетной записи в PowerShell RRS feed

  • Вопрос

  • Добрый день! Видел множество аналогичных тут тем по созданию учетных записей в PS. Но я ищу способ несколько иной. Нужно, чтобы при запуске скрипта появлялся запрос на ввод имени компьютера, затем после ввода имени создавалась локальной учетная запись администратора. Структура доменная, вариант с ГПО не подходит. Нужен именно PS скрипт. Спасибо за обратную связь!
    29 ноября 2019 г. 12:12

Все ответы

  • help read-host -full
    google > create local administrator powershell

    The opinion expressed by me is not an official position of Microsoft

    29 ноября 2019 г. 12:29
    Модератор
  • Создать локального админа в PS я и сам смог. А вот чтобы выходил запрос на ввод имени компьютера и создание учетки на этом компьютере - нет. Гуглить я умею. А вот вы ответ на вопрос не дали. 
    29 ноября 2019 г. 12:45
  • Создать локального админа в PS я и сам смог. А вот чтобы выходил запрос на ввод имени компьютера и создание учетки на этом компьютере - нет. Гуглить я умею. А вот вы ответ на вопрос не дали. 

    если вы умеете создать пользюка и гуглить умеете то скорее всего и про read-host знаете. а вот про имя пк вы правы, не увидел.

    для выполнения команд на удаленных пк существует коммандлет invoke-command.

    если у вас есть наброски скрипта и определенные затыки приведите текст скрипта, и укажите места в которых возникают проблемы.

    Важно знать что для использования invoke-command требуеься настроенный winrm который вы можете настроить при помощи gpo и гугла


    The opinion expressed by me is not an official position of Microsoft

    29 ноября 2019 г. 13:19
    Модератор
  • Создать локального админа в PS я и сам смог. А вот чтобы выходил запрос на ввод имени компьютера и создание учетки на этом компьютере - нет. Гуглить я умею. А вот вы ответ на вопрос не дали. 

    если вы умеете создать пользюка и гуглить умеете то скорее всего и про read-host знаете. а вот про имя пк вы правы, не увидел.

    для выполнения команд на удаленных пк существует коммандлет invoke-command.

    если у вас есть наброски скрипта и определенные затыки приведите текст скрипта, и укажите места в которых возникают проблемы.

    Важно знать что для использования invoke-command требуеься настроенный winrm который вы можете настроить при помощи gpo и гугла


    The opinion expressed by me is not an official position of Microsoft

    У меня очень маленький опыт написания скриптов. Вообще можно сказать всего неделя. Только начал изучать.

    Я написал простой скрипт:

    $UserPassword = ConvertTo-SecureString "Password" -AsPlainText -Force
    New-LocalUser "admin" -Password $UserPassword -Fullname "Admin" -Description "Для ввода в домен"
    Set-LocalUser -Name "admin" -PasswordNeverExpires $True
    Get-LocalUser -Name "admin" | Add-LocalGroupMember -Group 'Администраторы'

    Который собственно выполняет свои функции. Но нужно доработать до того, чтобы при запуске скрипта выходил запрос на ввод имени ПК. И кто либо из моих коллег запуская скрипт получал локальную учетку админа на компе имя которого он ввел. Я почитал по read-host но пока не очень понимаю, какой код необходимо написать, чтобы реализовать задачу. Read-Host выдает мне запрос на ввод имени, но локальная админка добавляется на моем компьютере а не на указанном.


    • Изменено infzerg 29 ноября 2019 г. 13:37
    29 ноября 2019 г. 13:36

  • У меня очень маленький опыт написания скриптов. Вообще можно сказать всего неделя. Только начал изучать.

    Я написал простой скрипт:

    $UserPassword = ConvertTo-SecureString "Password" -AsPlainText -Force
    New-LocalUser "admin" -Password $UserPassword -Fullname "Admin" -Description "Для ввода в домен"
    Set-LocalUser -Name "admin" -PasswordNeverExpires $True
    Get-LocalUser -Name "admin" | Add-LocalGroupMember -Group 'Администраторы'

    Который собственно выполняет свои функции. Но нужно доработать до того, чтобы при запуске скрипта выходил запрос на ввод имени ПК. И кто либо из моих коллег запуская скрипт получал локальную учетку админа на компе имя которого он ввел. Я почитал по read-host но пока не очень понимаю, какой код необходимо написать, чтобы реализовать задачу. Read-Host выдает мне запрос на ввод имени, но локальная админка добавляется на моем компьютере а не на указанном.

    вопрос становится предметным :)

    $cname = read-host "Provide computername"

    для выполнения скрипта на удаленной машине через gpo настраиваете winrm.

    так как new-localuser не имеет параметра -computername то засовываете это все invoke-command

    $cname = read-host "Provide computername"

    if(test-netconnection $cname){

    invoke-command -computername $cname -scriptblock { ваш код тут }

    } else { "Computername '$cname' incorrect or innacessible. Restart script and provide correct computername"}

    к слову а почему вам в доменной структуре gpo не подходит? решение более простое как по мне и более правильное. Создаете группу LocalAdmins, политикой раскидываете на клиентские машины, а потом всех техполюдов добавляете в группу а при увольнении удаляете из группы.

    Для удаленного выполнения команд нужны админправа и с этим могут возникнуть проблемы если вы хотите скрипт отдать в общий доступ


    The opinion expressed by me is not an official position of Microsoft

    29 ноября 2019 г. 14:35
    Модератор

  • New-LocalUser "admin" -Password $UserPassword -Fullname "Admin" -Description "Для ввода в домен"

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

    кстати, локальный администратор не сможет ввести в домен компьютер.

    29 ноября 2019 г. 18:05

  • New-LocalUser "admin" -Password $UserPassword -Fullname "Admin" -Description "Для ввода в домен"

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

    кстати, локальный администратор не сможет ввести в домен компьютер.

    Не нужно переименовывать компьютер. Нужно чтобы появлялся запрос на ввод имени компьютера, на котором нужно создать локальную админку. Про ввод в домен речи не идет. Это просто дескрипшн. Код то тестовый.

    • Изменено infzerg 2 декабря 2019 г. 6:12
    2 декабря 2019 г. 6:11

  • У меня очень маленький опыт написания скриптов. Вообще можно сказать всего неделя. Только начал изучать.

    Я написал простой скрипт:

    $UserPassword = ConvertTo-SecureString "Password" -AsPlainText -Force
    New-LocalUser "admin" -Password $UserPassword -Fullname "Admin" -Description "Для ввода в домен"
    Set-LocalUser -Name "admin" -PasswordNeverExpires $True
    Get-LocalUser -Name "admin" | Add-LocalGroupMember -Group 'Администраторы'

    Который собственно выполняет свои функции. Но нужно доработать до того, чтобы при запуске скрипта выходил запрос на ввод имени ПК. И кто либо из моих коллег запуская скрипт получал локальную учетку админа на компе имя которого он ввел. Я почитал по read-host но пока не очень понимаю, какой код необходимо написать, чтобы реализовать задачу. Read-Host выдает мне запрос на ввод имени, но локальная админка добавляется на моем компьютере а не на указанном.

    вопрос становится предметным :)

    $cname = read-host "Provide computername"

    для выполнения скрипта на удаленной машине через gpo настраиваете winrm.

    так как new-localuser не имеет параметра -computername то засовываете это все invoke-command

    $cname = read-host "Provide computername"

    if(test-netconnection $cname){

    invoke-command -computername $cname -scriptblock { ваш код тут }

    } else { "Computername '$cname' incorrect or innacessible. Restart script and provide correct computername"}

    к слову а почему вам в доменной структуре gpo не подходит? решение более простое как по мне и более правильное. Создаете группу LocalAdmins, политикой раскидываете на клиентские машины, а потом всех техполюдов добавляете в группу а при увольнении удаляете из группы.

    Для удаленного выполнения команд нужны админправа и с этим могут возникнуть проблемы если вы хотите скрипт отдать в общий доступ


    The opinion expressed by me is not an official position of Microsoft

    Компания помешана на безопасности.  Слишком накладно на каждой машине создавать локального админа. Если необходимо, то скриптом его создают, выполняют определенные действия, и затем по окончанию работы, тем же скриптом учетку удаляют. К тому же у меня нет доступ к редактированию политик)
    2 декабря 2019 г. 6:22


  • Компания помешана на безопасности ..... и затем по окончанию работы, тем же скриптом учетку удаляют. К тому же у меня нет доступ к редактированию политик)

    Не понимаю, зачем использовать локальную учетку на  доменном компьютере,  когда можно использовать доменную (не доменный админ, а простой пользователь в группе лок.админов).

    Сам работаю над скриптом, так как надо для LAPS. Его кстати могу рекомендовать для повышения безопасности.

    2 декабря 2019 г. 6:52
  • winrm запрещен. Обходных решений нет?
    2 декабря 2019 г. 6:55
  • создать группу, и по необходимости в нее добавить доменного пользователя куда более безопасно чем создавать обезличеную учетку с неограниченными правами. А с политиками в любом случае придется связываться, так как без настройки winrm (или любой другой альтернативы) ничего не взлетит. Что кстати со встроенным админом, почему не юзать его? У вас есть права Domain admin?

    The opinion expressed by me is not an official position of Microsoft

    2 декабря 2019 г. 7:02
    Модератор
  • winrm запрещен. Обходных решений нет?
    тогда как Вы собираетесь подключаться к удалённому компьютеру?
    2 декабря 2019 г. 7:24
  • winrm запрещен. Обходных решений нет?

    тогда как Вы собираетесь подключаться к удалённому компьютеру?
    Лично я подключаюсь к удаленном компам с помощью DW. Но как это будет делать скрипт, понятия не имею. Зачем мне советовать, как нужно сделать с помощью ГПО или встроенных локальных учеток. Если задача стоит иная? Я понимаю, что так проще. Но те кто ставит мне задания не понимаю и требовательно стучат кулачком. Хотя в доступах я ограничен. Если обходных решений нет, то я просто напишу письмо, что вот так и так невозможно. И вопрос решен.
    3 декабря 2019 г. 14:19


  • Компания помешана на безопасности ..... и затем по окончанию работы, тем же скриптом учетку удаляют. К тому же у меня нет доступ к редактированию политик)

    Не понимаю, зачем использовать локальную учетку на  доменном компьютере,  когда можно использовать доменную (не доменный админ, а простой пользователь в группе лок.админов).

    Сам работаю над скриптом, так как надо для LAPS. Его кстати могу рекомендовать для повышения безопасности.

    Покажите )
    3 декабря 2019 г. 14:20
  • winrm запрещен. Обходных решений нет?

    тогда как Вы собираетесь подключаться к удалённому компьютеру?

    Лично я подключаюсь к удаленном компам с помощью DW. Но как это будет делать скрипт, понятия не имею. Зачем мне советовать, как нужно сделать с помощью ГПО или встроенных локальных учеток. Если задача стоит иная? Я понимаю, что так проще. Но те кто ставит мне задания не понимаю и требовательно стучат кулачком. Хотя в доступах я ограничен. Если обходных решений нет, то я просто напишу письмо, что вот так и так невозможно. И вопрос решен.

    емнип у dw есть механизм для запуска скриптов, хотя не видел этот продукт уже пару лет.

    Вы в любой момент можете сказать что проблему решить невозможно (например через 3 секунды после получения задания), но при этом стоит понимать что другой ваш более настойчивый коллега решит проблему. Если не влоб, то обходными путями. Теми самыми которые "запрещены" и "не в вашей власти". Если вы техпод, и администраторы не дают вам прав, а руководство от вас что-то требует, то стоит знать решения, так как права всегда через руководство можно получить.

    Вы говорите о том что задача стояла иная, но выже видите что решая ее в лоб, мы натыкаемся на теже проблемы: "нет прав", "запрещено" и тд. 

    А если так то зачем решать проблему костылями если есть нормальные решения (с теми же ограничениями)?


    The opinion expressed by me is not an official position of Microsoft

    4 декабря 2019 г. 9:01
    Модератор
  • IMHO

    Задача, поставленная перед топикстартером, контрпродуктивна и более того - должна быть бита службой ИБ предприятия, ибо потенциально дает в руки неконтролируемый админский доступ на любой ПК.

    Решение доступа ТП к рабочим станциям через LAPS не требует костылей и сомнительных телодвижений, а так же, как правило, одобряется ИБ. К тому же используется одна единственная УЗ встроенного локального администратора, но с разными паролями, а доступ к паролям ограничен конкретным кругом лиц. ИБ счастлива ;)

    По теме скриптов....

    А есть уверенность в том, что выполнение скриптов в принципе разрешено на рабочих станциях? 

    4 декабря 2019 г. 9:34