Поиск, удаление, а затем копирование файла для группы пользователей
Приветствую всех!
Есть задача. Нужно сделать скрипт, который бы удалял определенные файлы у всех пользователей, а затем копировал бы файлы пользователям определенной группы безопасности.
Я вижу начало как-то так:
Код:
Dim FSO
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set WshShell = CreateObject("WScript.Shell")
strDesktop = WshShell.SpecialFolders("Desktop")
strAllUsersDesktop = WshShell.SpecialFolders("AllUsersDesktop")
'Если файл существует, Удаляем его
IF objFSO.FileExists(strDesktop & "buh8.rdp") Then File.Delete strDesktop & "\"
End If
Set objShell = Nothing
Set objFSO = Nothing
Отрабатывает без ошибок, но почему-то файл "buh8.rdp" не удаляется
Еще не могу понять, как мне продолжить скрипт и копировать файл "buh8.rdp" только определенной группе домена, например "пользователи 1с"
В скриптах не силен, так что сильно не пинайте.
Заранее всем спасибо.
|
Цитата:
Цитата lcnet
Отрабатывает без ошибок, »
|
Угу, угу, без ошибок:
Цитата:
C:\Мои проекты\0060\0002.vbs(8, 1) Ошибка компиляции Microsoft vbscript: Предполагается наличие инструкции
|
Используйте предпочтения групповых политик для распространения buh8.rdp.
|
Это слишком просто...
А если честно, то не вариант, поскольку придется выносить группу безопасности отдельно, а на ней уже много чего завязано и переписывать кучу уже имеющихся скриптов не хочется.
Решил с помощью UserLogon VBS'а и Powershell'a
Удаление через Powershell, копирование файла через VBS
Код:
powershell.exe Remove-Item "c:\users\Public\Desktop\Торговля.rdp"
Код:
On Error Resume Next
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set WshShell = CreateObject("WScript.Shell")
strDesktop = WshShell.SpecialFolders("Desktop")
strAllUsersDesktop = WshShell.SpecialFolders("AllUsersDesktop")
set objNetwork = CreateObject("Wscript.Network")
strComputer = lcase(objNetwork.ComputerName)
strUser = lcase(objNetwork.UserName)
set WshShell = WScript.CreateObject("WScript.Shell")
strDesktop = WshShell.SpecialFolders("Desktop")
set fso = CreateObject("Scripting.FileSystemObject")
set objSysInfo = WScript.CreateObject("ADSystemInfo")
'используя ADSI получаем список групп, в которые входит пользователь
ADSpath = "WinNT://" & objNetwork.UserDomain & "/" & objNetwork.UserName
set ADSobj = GetObject(ADSpath)
RDPfile = strDesktop & "\Торговля.rdp"
RDPfileExists = false
for each group in adsobj.groups
select case group.name
case "Клиенты 1c"
'Копируем файл
objFSO.CopyFile "\\test.local\SysVol\test.local\Policies\{D71FB3F7-A087-485F-94B8-83E97CA9CDE9}\User\Scripts\Logon\Торговля.rdp", strDesktop & "\"
end select
Next
Set objShell = Nothing
Set objFSO = Nothing
Сделал помесь бульдога с носорогом ))
Может конечно и криво, но работает ))
|
Цитата:
Цитата lcnet
поскольку придется выносить группу безопасности отдельно »
|
Зачем? Фильтрация для чего дана?!
|
Время: 23:44.
© OSzone.net 2001-