2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Powershell windows server 2019
Сообщение17.03.2023, 16:51 
Есть сервер windows server 2019 с кучей пользователей(уже созданы). Нужно всем пользователям кроме Администраторов заполнить поле "Среда->При входе в систему запускать следующую программу"(и поставить галочку) фиксированным значением. Сотню пользователей протыкивать лень. Можно ли это как то сделать стандартными методами. Что-то типа PowerShell(Вообще в нем не работал).
Нагуглил что-то вроде
Код:
$ou = [adsi]"WinNT://127.0.0.1"
$user = $ou.psbase.get_children().find("ИмяПользователя")
$user.PSBase.InvokeSet("TerminalServicesInitialProgram", "C:\run.bat")
$user.setinfo()

Работает, правда не быстро.
Как тут пройти всех пользователей? И как отобрать не администраторов?

 
 
 
 Re: Powershell windows server 2019
Сообщение20.03.2023, 09:46 
Два часа разбирался, хоть поправьте где накосячил.
Код:
$Users = Get-LocalGroupMember -Group "Пользователи"
$ou = [adsi]"WinNT://127.0.0.1"
ForEach ($User In $Users)
{if ($User.ObjectClass -eq 'Пользователь'){
$user1 = $ou.psbase.get_children().find($User.name.Replace("ComputerName\",""))
$user1.PSBase.InvokeSet("TerminalServicesInitialProgram", "Run.bat")
$user1.setinfo()
}
}

User и User1 - разные объекты?

 
 
 [ Сообщений: 2 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group