Ru-Board.club
← Вернуться в раздел «В помощь системному администратору»

» Автоматизация администрирования

Автор: mozers
Дата сообщения: 07.12.2006 16:08
anat75
Цитата:
Это ответ на предлагаемую тобой команду
Предложенный мной способ прост, но не универсален
К примеру, удалить notepad.exe не удастся ("Отказано в доступе"), пока Блокнот запущен. А переместить notepad.exe в %TEMP% можно без проблем.
С другой стороны, файл.doc не удастся ни удалить ни переместить, пока он открыт в Word-е.
Я так понял, что тебе то надо универсальное решение. Значит мой ответ - мимо. (Я то начал отвечать до того как ты дописал к своему вопросу уточняющую фразу)...
Автор: urel
Дата сообщения: 07.12.2006 16:35
alfira
если потерпишь - то завтра предложу свой вариант удаления устаревших архивов...
Автор: alfira
Дата сообщения: 08.12.2006 03:31
urel
Да конечно, жду ваш вариант удаления устаревших архивов!
Я смотрю скрипт выполняет операцию копирования с помощью командной строки? а как правильно написать команду командной строки для vbs скрипта? Моя попытка подставить в скрипт другие cmd команды например ntbackup c параметрами не увенчалась успехом, видимо есть какие-то особенности при написании cmd в vbs скрипте?
Автор: i_no_k
Дата сообщения: 08.12.2006 05:49
urel

Цитата:
другой вариант - делаешь снапшот реестра 1, меняешь, делаешь снапшот 2
сравниваешь

Сравнил - оличия вида:
[HKEY_USERS\S-1-5-21-1478111800-572277579-1606240830-14727\Software\Microsoft\Windows\CurrentVersion\Group Policy Objects\{282623B7-ACED-4147-AD21-8498876BBA96}Machine]

[HKEY_USERS\S-1-5-21-1478111800-572277579-1606240830-14727\Software\Microsoft\Windows\CurrentVersion\Group Policy Objects\{282623B7-ACED-4147-AD21-8498876BBA96}Machine\Software]

Что-то я в них не разобрался, как там можно задать изменения. Вариант сделать на одной машине и экспортировать на все остальные кажется неприемлемым.
Может, поимеете еще немного терпения и подскажите еще какой-нибудь способ?
Просто хочется что-нибудь более универсальное, чем можно выполнять задачи удаления и добавления пользоватей из гр. политик на удаленных машинах.
Автор: strizhakovs
Дата сообщения: 08.12.2006 09:38
urel

БОЛЬШОЕ СПАСИБО!!! очень помог!!!
Автор: urel
Дата сообщения: 08.12.2006 10:28
i_no_k
самый универсальный инструмент в этом роде как раз и есть secedit. Хотя с другой стороны куда удобне деплоить политики через AD.

alfira
будет. ntbackup это не команда командного процессора cmd. эта утилита находиться в system32
команду cmd можно запустить так(на прмере dir): cmd /k "dir %windir%"
вобщем cmd /?

Добавлено:
i_no_k
у тебя же есть домен, что тебе мешает создать политику и заасайнить на нужные компы?
PS: пользователи могут не подключиться к контроллеру если у них будет разбежка более 5 минут (по дефолту для цербера)
PPS: Странно что у тебя вывалилось HKU, тк должно происходить это в HKLM
Автор: strizhakovs
Дата сообщения: 08.12.2006 10:46
Еще возникла одна проблема.

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

Подскажите ктонить как это организовать...
Автор: i_no_k
Дата сообщения: 08.12.2006 11:10
urel

Цитата:
у тебя же есть домен, что тебе мешает создать политику и заасайнить на нужные компы?

То, что домен есть, вовсе не означает что я могу управлять доменными политиками. Именно по-этому и хочу сделать это через локальные политики.
PS. DC в Москве, а она далеко...

Цитата:
PPS: Странно что у тебя вывалилось HKU, тк должно происходить это в HKLM

Я тоже думал, что это должно быть в HKLM, но против фактов не попрешь.
Я первоначально вообще собирался это сделать ч\з mmc>редактор ГП, но он при удаленном подключении показывает только политику безопасности IP и адм. шаблоны.

Добавлено:
Еще по secedit - она, если я правильно понял, работает только локально (т.е. указать ей адрес удаленной машины, на которой нужно применить шаблон, не получится) - прийдется раскидывать ее саму + sec bd + прописывать все это на однократный запуск... геморойно.
Автор: urel
Дата сообщения: 08.12.2006 12:11
strizhakovs

Код: Set objUser = GetObject _
("LDAP://cn=myerken,ou=management,dc=fabrikam,dc=com")

objUser.ChangePassword "i5A2sj*!", "jl3R86df"
Автор: i_no_k
Дата сообщения: 08.12.2006 12:35
urel

Цитата:
у вас в сайте нет контроллера, а сколько машин?
какая разница где контроллер - предлагаю не гемороиться и затребовать себе права на OU где лежат компы или админам в москве создать соотв политики.

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

Цитата:
мы не ищем легких путей! ?

именно!;)
пришлось удаленно подключаться к каждой тачке, и через gpedit каждому все делать - так что вопрос исчерпан (но интерес остался!)
urel спасибо за интересные советы.
Автор: abasov
Дата сообщения: 08.12.2006 13:27
'Может кому нибудь пригодится
'Установка квот на группы в домене
'Из ком. строки> script.vbs domain users c
'Begin Comment
' Force the script to use only defined variables.
'End Comment

Option Explicit
Dim sUserName, oGroup, sDomain, sDrive, sGroup
Dim WshNetwork, colDiskQuotas, oMember, oUser
'Begin Comment
' Print the instructions for the user.
'End Comment
If WScript.Arguments.Count <1 Then Call Help

'Begin Comment
' Define the variables.
'End Comment
sGroup = WScript.Arguments(0)
sDrive = WScript.Arguments(1)
If WScript.Arguments.Count >2 Then
sGroup = WScript.Arguments(0) & " "& WScript.Arguments(1)
sDrive = WScript.Arguments(2)

end if



'BEGIN CALLOUT A
Set WshNetwork = WScript.CreateObject("WScript.Network")
sDomain = WshNetwork.UserDomain
'END CALLOUT A

'Begin Comment
' Create a quota collection and initialize its connection
' to the selected drive.
'End Comment
Set colDiskQuotas = CreateObject("Microsoft.DiskQuota.1")
'Begin Callout B
colDiskQuotas.Initialize sDrive&":\", True
'End Callout B
'Begin Callout C
colDiskQuotas.QuotaState = 2
'End Callout C

'Begin Comment
' Connect to the object representing the group.
'End Comment
'msgbox "WinNT://" & sDomain & "/" & sGroup
'Set oGroup = GetObject ("WinNT://" & sDomain & "/" & sGroup &", group")
Set oGroup = GetObject ("WinNT://" & sDomain & "/" & sGroup )

'Begin Comment
' Apply the quota to each member of that group.
'msgbox "End Comment"

For each oMember in oGroup.Members
' WScript.Echo oMember.Name
sUserName = oMember.Name
'Begin Callout D
Set oUser = colDiskQuotas.AddUser(sUserName)
'End Callout D
Set oUser = colDiskQuotas.FindUser(sUserName)
oUser.QuotaThreshold = 60000000000
oUser.QuotaLimit = 70000000000
Next

Sub Help
WScript.Echo "Instructions"
WScript.Echo "This script sets up disk quotas for a group on"
WScript.Echo "a named disk. To run the script, type the name"
WScript.Echo "of a group (using quotation marks if its name"
WScript.Echo "has more than one word) and the drive letter."
WScript.Quit
End Sub
Автор: urel
Дата сообщения: 08.12.2006 16:24
alfira
целиком получилась такая штука:
Код: Path2Winrar = "c:\Program Files\WinRAR\WinRAR.exe"
Path4Archives = "d:\dav\2\"
BackupDepth = 4

Set WshShell = WScript.CreateObject("WScript.Shell")
Set objNetwork = CreateObject("WScript.Network")
Set FSO = CreateObject("Scripting.FileSystemObject")
strMyDoc = WshShell.SpecialFolders("MyDocuments")
arcPrefix=LCase(objNetwork.ComputerName & "_" & objNetwork.UserName)
arcName = Path4Archives & arcPrefix & "_" & Replace(Replace(CStr(now),":","-")," ","_") & ".rar"
cmd = """"& Path2Winrar & """ a -r -dh -INUL -x*.mp3 -x*.fcd -x*.avi -x*.exe -x*.jpg -x*.tif -pPASSWD """ & arcName & """ """ & strMyDoc & """"
WshShell.Run cmd, 1 , True

Set Files= FSO.GetFolder(Path4Archives).Files
Dim Backups()
q=0
For Each File In Files
FileName=LCase(File.Name)
If (InStr(FileName, arcPrefix)=1 ) Then
q=q+1
End If
Next
ReDim Backups(q-1,1)
q=-1
For Each File In Files
FileName=LCase(File.Name)
If (InStr(FileName, arcPrefix)=1 )Then
q=q+1
Backups(q,0)=Path4Archives & File.Name
Backups(q,1)=File.DateLastModified
End If
Next
c = False
Do Until c
c=True
For w=0 To q-1
If CDbl(Backups(w,1)) < CDbl(Backups(w+1,1)) Then
c=False
b0=Backups(w,0)
b1=Backups(w,1)
Backups(w,0)=Backups(w+1,0)
Backups(w,1)=Backups(w+1,1)
Backups(w+1,0)=b0
Backups(w+1,1)=b1
End If
Next
Loop
For w=BackupDepth To q
FSO.DeleteFile Backups(w,0),True
Next
Автор: alfira
Дата сообщения: 11.12.2006 05:40
urel
Спасибо, все работает, только вот косяк при запуске скрипта комп пытается создать временный файл архивации в директории из которой запускается скрипт. Нельзя ли чтоб этот файл создавался в той же директории что и сам архив? а то скрипт-то лежит в GP
Автор: urel
Дата сообщения: 11.12.2006 10:32
alfira
Не должно оно временных файлов делать, но ошибка в скрипте была - исправлена и выделена
Автор: alfira
Дата сообщения: 11.12.2006 11:34
Я пока с первым скриптом разбираюсь

Path2Winrar = "E:\Program Files\WinRAR\WinRAR.exe"
Path4Archives = "E:\"
Set WshShell = WScript.CreateObject("WScript.Shell")
Set objNetwork = CreateObject("WScript.Network")
strDesktop = WshShell.SpecialFolders("MyDocuments")
arcName = Path4Archives & objNetwork.ComputerName & "_" & objNetwork.UserName & "_" & Replace(Replace(CStr(now),":","-")," ","_") & ".rar"
cmd = """"& Path2Winrar & """ a -r -dh -x*.mp3 -x*.fcd -x*.avi -x*.exe -x*.jpg -x*.tif -pPASSWD """ & arcName & """ """ & strDesktop & """"
WshShell.Run cmd, 0 , True
WScript.Echo strDesktop

именно при запуске этого скрипта временный файл создается в той папке где расположен скрипт. а так как скрипт находится в GP то выходит ошибка "невозможно создать __rar_00.031"
"отказанно в доступе" т.к. у пользователя нет прав на создание там файла.
Автор: urel
Дата сообщения: 11.12.2006 12:27
alfira
помотри что у тебя в arcName поулчается
скачай vbsedit и пользуй его для дебага
Автор: alfira
Дата сообщения: 11.12.2006 12:42
когда на своем компе скрипт запускаю все работает arcName соответствует скрипту т.е создается архив все как положенно имя компьютера имя пользователя и дата время т.е все работает. Скрипт запускаю с рабочего стола при этом на рабочем столе создается файл временный __rar_00.031 когда архивация заканчивается он пропадает.
Автор: urel
Дата сообщения: 11.12.2006 13:55
alfira
незнаю что тебе сказать - копай рар, смотри настройки, может со временными папками чет не так, попробуй другой архиватор если с этим не так

Добавлено:
PS: у меня таких проблем не возинкало
Автор: Lobasterman
Дата сообщения: 11.12.2006 15:23
Доброго времени суток, коллективный разум!

Ситуевина следующая: Есть скрипт vbs, который должен из папки на серавке в сети закидывать пару файлов в папки Windows и Program Files\<прога> на рабочих станциях пользователей. Через полиси цепляю его к нужным OU но трабл - при выполнении на клиентской станции закрыт доступ на запись на эти папки, тока на чтение. Вопрос: как дать скрипту такие права? Через полиси не катит, т.к. потом, после выполнения скрипта права нуна вернуть на место, чтобы шаловлиые рученки юзверей не полезли, куда не следует. Заранее гран мерси.
Автор: urel
Дата сообщения: 11.12.2006 15:52
Lobasterman
Раздать компам а не пользователям.
Автор: Lobasterman
Дата сообщения: 11.12.2006 16:07

Цитата:
[/q]

Цитата: Раздать компам а не пользователям.

[q]
Автор: urel
Дата сообщения: 11.12.2006 16:23
Lobasterman
зачем усложнять себе жизнь? твоя задача подготовить рабочую станцию - вот в стартап машины и клади. Твой скрипт выполниться с правами системы и положит что и куда нужно. иначе тебе нужно запускать команды с правами локального админа, или еще кого, в скрипте пользователя.
Автор: FreemanRU
Дата сообщения: 11.12.2006 16:27
Далее предлагаю перейти сюда:
Автоматизация администрирования. Часть 2
Автор: Lobasterman
Дата сообщения: 11.12.2006 16:30
Ок.
Тады вопрос:
Куда на DC положить файл скрипта и сопутствующие файлы, чтобы рабочая стнация юзверя выполнила скрипт ДО логона пользователя (не путать с полиси, где там цапу покрутить я догадываюсь...)
Автор: soul77
Дата сообщения: 11.12.2006 18:39
to Lobasterman

политика [OU] -> конфигурация компьютера -> конфигурация Windows -> сценарии -> автозагрузка

Добавлено:
а файлы для скрипта положить в расшаренную папку на любой сервер и дать соответствующие разрешения.
Автор: alfira
Дата сообщения: 12.12.2006 03:18
urel
млин сорри. причина оказалась в том что я в скрипле использую команду Ключ -U — обновить файлы, поэтому и создается временный файл. и как его заставить создаваться на сервере в каталоге для архива? никак не пойму.

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Зеркалирование дисков Win2000


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.