 |
|
Скрипт входа для пользователей домена
Доброго времени суток. Столкнулся с задачей на 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 |
27-12-2019 10:46 2902454 |
Это реализуется фильтром безопасности в GPO безо всяких скриптов.
|
Знаю, но суть задачи именно в написании скрипта
|
Не могу понять почему он не работает
Код:
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
|
Цитата:
Цитата Ybik1810
но суть задачи именно в написании скрипта »
|
Тогда зачем старый дряхлый 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"
}
|
Время: 21:49.
© OSzone.net 2001-