VBS/WSH/JS - Скрипт входа для пользователей домена

Ответить
Аватара пользователя
Ybik1810

VBS/WSH/JS - Скрипт входа для пользователей домена

Сообщение Ybik1810 »

Доброго времени суток. Столкнулся с задачей на VBS: нужно написать скрипт который запускает программу в зависимости от принадлежности пользователя к доменной группе. Есть 3 юзера (User1, User2, User3) и 2 группы (Group1, Group2). User1 состоит в Group1, User2 в Group2, а User3 и в Group1 и в Group2. В итоге при входе Userу1 открывается одна программа, Userу2 другая, а Userу3 выбор из этих 2 программ, т.к. состоит в 2ух группах. Как реализовать сию задачу? У меня получилось 3 разных файла, но как сделать так чтобы скрипт проверял юзера на принадлежность незнаю. Помогите, прошу.



Код:

Код: Выделить всё

Для User1
With CreateObject(“WScript.Shell”)
.Run “mspaint.exe”
End With
Для User2
With CreateObject(“WScript.Shell”)
.Run “notepad.exe”
End With
Для User3
Dim msg
With CreateObject(“WScript.Shell”)
	msg = MsgBox(“Да – запустить Блокнот” & vbCrLf & _
  “Нет – запустить Paint”, _
vbYesNo, “Выбор программы”)
	Select Case msg
	  Case vbYes
		.Run “notepad.exe”
	Case vbNo
		.Run “mspaint.exe”
	End Select
End With
Аватара пользователя
DJ Mogarych

Re: VBS/WSH/JS - Скрипт входа для пользователей домена

Сообщение DJ Mogarych »

Это реализуется фильтром безопасности в GPO безо всяких скриптов.
Аватара пользователя
Ybik1810

Re: VBS/WSH/JS - Скрипт входа для пользователей домена

Сообщение Ybik1810 »

Знаю, но суть задачи именно в написании скрипта
Аватара пользователя
Ybik1810

Re: VBS/WSH/JS - Скрипт входа для пользователей домена

Сообщение Ybik1810 »

Не могу понять почему он не работает



Код:

Код: Выделить всё

Function GpRunObject(strGpName)
Set RunObj = wscript.createobject("wscript.shell")
'запуск текстового CMD
RubObj.run ("notepad.bat")
wscript.Quit
End Function
Set WshShell = WScript.CreateObject("WScript.Shell")
Set WshNetwork = WScript.CreateObject("WScript.Network")
UserDomain = WshNetwork.UserDomain
Set UserObj = GetObject("WinNT://" & UserDomain & "/" & WshNetwork.UserName)
For Each GroupObj in UserObj.Groups
If GroupObj.Name = "Первый отдел" Then
Dim Msg, Style, Title, Response, MyString
Dim WSHShell
Msg = "Готовы поработать?"
Style = vbYesNo + vbQuestion + vbDefaultButton2
Title = "Добрый день"
Response = MsgBox(Msg, Style, Title)
if Response = vbYes Then
MyString = "Да"
Set WSHShell = WScript.CreateObject("WScript.Shell")
WSHShell.Run "notepad.bat", 0, false
Else
MyString = "Нет"
End if
End if
If GroupObj.Name = "Второй отдел" Then
Msg = "Готовы поработать?"
Style = vbYesNo + vbQuestion + vbDefaultButton2
Title = "Добрый день"
Response = MsgBox(Msg, Style, Title)
If Response = vbYes Then
MyString = "Да"
Set WSHShell = WScript.CreateObject("WScript.Shell")
WSHShell.Run "paint.bat", 0, false
Else
MyString = "Нет"
End if
end if
Next
Аватара пользователя
Charg

Re: VBS/WSH/JS - Скрипт входа для пользователей домена

Сообщение Charg »

Цитата Ybik1810:



но суть задачи именно в написании скрипта
VBS/WSH/JS - Скрипт входа для пользователей домена




Тогда зачем старый дряхлый vbs?

Вот на powershell например:



Код:

Код: Выделить всё

if ($env:USERNAME -in @((Get-LocalGroupMember -Group "group1").Name.Split('\')[1]))
{
    Write-Output "user in group1, run program1"
    Start-Process -FilePath "cmd.exe"
}
elseif (($env:USERNAME -in @((Get-LocalGroupMember -Group "group2").Name.Split('\')[1])))
{
    Write-Output "user in group2, run program1"
    Start-Process -FilePath "cmd.exe"
}
Ответить

Вернуться в «Скриптовые языки администрирования Windows»