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

» Автоматизация администрирования. Часть 2

Автор: awsswaawsswa
Дата сообщения: 26.09.2007 11:56
А вот так пихаем задание в Шедулер

Scheduling a Task

Schedules Notepad to run at 12:30 PM every Monday, Wednesday, and Friday.

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set objNewJob = objWMIService.Get("Win32_ScheduledJob")
errJobCreated = objNewJob.Create _
("Notepad.exe", "********123000.000000-420", _
True , 1 OR 4 OR 16, , , JobID)
Wscript.Echo errJobCreated

Краткое пояснение: 123000 - это время
а -420 разница во времени

Sunday 64,
Monday 1,
Tuesday 2,
Wednesday 4,
Thursday 8,
Friday 16,
Saturday 32
Автор: YNY
Дата сообщения: 26.09.2007 13:29

Цитата:
yazzi

если у тя все еще не получается см мой тебе ответ на 27стр.

По поводу того откуда запускать скрипт: на 27стр ты гришь:-Помогите плиз запускаю на сервере скрипт, причем не указав как ты это делаешь (из приведенного тобой отрывка скрипта этого не видно), с целью опр имя лог юзера, отсюда и мое высказывание по пов-ду размещ и запуска скрипта!!!
Автор: salavatwest
Дата сообщения: 27.09.2007 13:36
Как спомощью скрипта переименовать комп по имени учетной записи входящий в домен?

Автор: abasov
Дата сообщения: 27.09.2007 14:05

Цитата:
Как спомощью скрипта переименовать комп по имени учетной записи входящий в домен?


Есть код, надо только немного переделать

Код:
'Переименование компьютера в домене 1-й вариант CMD
'netdom renamecomputer komp /newname:komp_new /userd:domain\Administrator /passwordd:****** /usero:domain\Administrator /passwordo:******

' 2-й вариант
' ------ SCRIPT CONFIGURATION ------
' ------
strComputer = "" e.g. joe-xp
strNewComputer = "" e.g. joe-pc
strDomainUser = "" e.g. administrator@domain
strDomainPasswd = ""
strLocalUser = "" e.g. joe-xp\administrator
strLocalPasswd = ""
' ------ END CONFIGURATION ---------

'###########################
' Connect to Computer
'###########################
set objWMILocator = CreateObject("WbemScripting.SWbemLocator")
objWMILocator.Security_.AuthenticationLevel = 6
set objWMIComputer = objWMILocator.ConnectServer(strComputer, _
"root\cimv2", _
strLocalUser, _
strLocalPasswd)
set objWMIComputerSystem = objWMIComputer.Get( _
"Win32_ComputerSystem.Name='" & _
strComputer & "'")
'###########################
' Rename Computer
'###########################
rc = objWMIComputerSystem.Rename(strNewComputer, _
strDomainPasswd, _
strDomainUser)
if rc 0 then
WScript.Echo "Rename failed with error: " & rc
else
WScript.Echo "Successfully renamed " & strComputer & " to " & _
strNewComputer
end if

WScript.Echo "Rebooting..."
set objWSHShell = WScript.CreateObject("WScript.Shell")
objWSHShell.Run "rundll32 shell32.dll,SHExitWindowsEx 2"
Автор: AHTuXPuCT666
Дата сообщения: 28.09.2007 09:15
Есть логон скрипт который добавляет группу PowerGroup в группу Локальные Администраторы

[code]
'Добавление заданной группы в группу Локальные Администраторы
Set WshShell = CreateObject("WScript.Shell")
WScript.Sleep 10000
Set Network = CreateObject("Wscript.Network")
strComputer = Network.ComputerName
Set objGroup = GetObject("WinNT://" & strComputer & "/Администраторы,group")
Set objGroup1 = GetObject("WinNT://DOMAIN/PowerGroup,group")
objGroup.Add(objGroup1.ADsPath)
[\code]

Как его запустить от имени Администратора???
Автор: fragpit
Дата сообщения: 28.09.2007 11:35
Как обновить .dll файл на всех машинах в домене? Т.е. надо его скопировать всем. Нужен скрипт! Помогите. Спасибо.
Автор: abasov
Дата сообщения: 28.09.2007 12:12

Цитата:
Как его запустить от имени Администратора???

AHTuXPuCT666


Код:
Dim WshShell, ObjFSO
Set WshShell = CreateObject("WScript.Shell")
set objFSO = CreateObject("Scripting.FileSystemObject")

appl="cmd /C wscript.exe скрипт_который_надо_запустить.vbs"
pass="xxx"
users="admin"
Set objWMIService = GetObject _
("winmgmts:\\.\root\cimv2:Win32_Process")
errReturn = objWMIService.Create _
("cmd.exe /c ""title RUNAS_AUTO & runas.exe /netonly /user:" & users & " """ & appl & """""", Null, Null, intProcessID)
wscript.Sleep(1000)
wshShell.AppActivate "RUNAS_AUTO"
wshShell.SendKeys pass & "{ENTER}"
Автор: fragpit
Дата сообщения: 28.09.2007 13:12
abasov
опа .. спасибо. А не мог бы немного прокомментировать. А то не пойму куда переменные мои вставлять.
Автор: abasov
Дата сообщения: 28.09.2007 13:22
fragpit

Цитата:
А то не пойму куда переменные мои вставлять

Убери лишние условия, замени RAR на свою библиотеку
Автор: fragpit
Дата сообщения: 28.09.2007 14:56
abasov
т.е. проще говоря, скрипт перепишет мой файл из условной папки, всем в такую же папку?

Добавлено:
abasov
блин.. хэлп!!
Скрипт отличный, лог пишет, но не перезаписывает (патчит) файл нужной мне версией =( чета я непонимаю.

Добавлено:
Блин короч он и не должен копировать.
Автор: YNY
Дата сообщения: 29.09.2007 08:53

Цитата:
fragpit

че офис активируем??? хе-хе-хе???

Цитата:
abasov
-- привел код который ничего не "патчит" а просто проверяет наличие папки или файла в нем , но ты могешь попробовать copy из cmd для копирования в папку C$....
Автор: squid
Дата сообщения: 29.09.2007 11:30
привет всем
наверное такой вопрос уже проскакивал, сразу извиняюсь
я больше по фри, но приходится заниматься и виндой
есть задача:
контроллер домена win2003: нужно чтобы скриптик сам проверял все учетки
и те которые не используются более года удалял вместе с домашней папкой
а если ее не может удалить то выводил сообщение что такая то папочка не удалена
просто юзеров около 600 и всех проверят руками тяжело
подскажите где хоть похожее найти
Автор: jONES1979
Дата сообщения: 01.10.2007 07:04
squid Вот майкрософтская коллекция скриптов CommunitySubmittedScripts от уважаемого Der Meister.

там есть много примеров поиска по AD, тебя должно интересовать свойство LastLogon - чтобы узнать дату последнего входа юзера в сеть.

можно взять за основу ..\CommunityScriptingCenter\ad\computers\List_Inactive_Computer_Accounts.hta
и
..\CommunityScriptingCenter\ad\users\Disable_a_User_Account_and_Mark_It_for_Deletion.vbs
Автор: Oldster
Дата сообщения: 01.10.2007 11:45
squid
учти, что если контроллеров домена больше 2-х, то надо с каждого из них брать LastLogon и сравнивать эти значения.
по моей практике - LastLogon - вещь не предсказуемая и не всега верная, учти это.
Автор: squid
Дата сообщения: 01.10.2007 13:20
jONES1979
Oldster
спс, буду пробовать
Автор: fragpit
Дата сообщения: 02.10.2007 11:07
YNY
нее не офис, патчим 1С Я понял, что не патчит и добавил


Код:
fso.CopyFile my_file, pach_host_file & "\c$\...\...", true
Автор: YNY
Дата сообщения: 03.10.2007 05:50

Цитата:
fragpit


если нет, то создаем файл с именем == WshNetwork.Computername & Wshnetwork.UserName & ".txt"

short_Flog_Name=WshNetwork.Computername & Wshnetwork.UserName & ".txt"

F_log=fso.OpenTextFile(Phat & short_Flog_Name ,ForAppending, True)

_______________
object.OpenTextFile(filename[, iomode[, create[, format]]])

Arguments
object
Required. Object is always the name of a FileSystemObject.

filename
Required. String expression that identifies the file to open.

iomode
Optional. Can be one of three constants: ForReading, ForWriting, or ForAppending.

create
Optional. Boolean value that indicates whether a new file can be created if the specified filename doesn't exist. The value is True if a new file is created, False if it isn't created. If omitted, a new file isn't created.

format
Optional. One of three Tristate values used to indicate the format of the opened file. If omitted, the file is opened as ASCII.


Добавлено:
точней _Path_ (_путь_), а не _Phat_ , имелось в виду "_путь_+имя_файла "

Добавлено:

Цитата:
при старте винды, запускался скрипт,

по политикам поставь либо на логон юзера либо на вкл машины

Добавлено:
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Автор: fragpit
Дата сообщения: 03.10.2007 09:39
изменил кое-что, так что лог теперь дописывается в один файл. в политики запихнул ессно. терь нужно его наиболее безопасно запустить с правами администратора. И снова нужна ваша помощь.

Добавлено:
забавно.. сам спросил, сам ответил. форум.. мдя.
Автор: strizhakovs
Дата сообщения: 03.10.2007 12:28
Доброго времени суток!

Подскажите где можно качнуть готовые HTA скрипты или хотябы примеры hta скриптов.
Чем больше, тем лучше.

Спасибо.
Автор: Etalon
Дата сообщения: 03.10.2007 13:06
strizhakovs
http://www.microsoft.com/technet/scriptcenter/hubs/htas.mspx
Автор: strizhakovs
Дата сообщения: 03.10.2007 14:37
А есть еще какиенить источники по мимо Microsoft?
Автор: Etalon
Дата сообщения: 03.10.2007 15:24
strizhakovs
Гугл, Яндекс, Рамблер...
Автор: fragpit
Дата сообщения: 03.10.2007 16:28

Код:
Dim fso, log1, f, filename, str
on error resume next
Set WshNetwork = WScript.CreateObject("WScript.Network")
Set fso = CreateObject("Scripting.FileSystemObject")

Set log1 = fso.OpenTextFile("*************",8,true)
Set f = fso.GetFile("********************")

If (fso.FolderExists("***************")) Then

if ((f.DateLastModified)>= "16.03.2006") then
log1.WriteLine "Компьютер: "+WshNetwork.Computername & " Юзер: "+Wshnetwork.UserName & " версия файла совпадает"
else

fso.CopyFile "*****************","***********",true
log1.WriteLine "Компьютер: "+WshNetwork.Computername & " Юзер: "+Wshnetwork.UserName & " файл пропатчен "

end if
Else
log1.WriteLine "Компьютер: "+WshNetwork.Computername & " Юзер: "+Wshnetwork.UserName &" каталог отсутствует"


end if

Автор: strizhakovs
Дата сообщения: 03.10.2007 17:41
Etalon

Спасибо! В работе...
Автор: YNY
Дата сообщения: 04.10.2007 06:48

Цитата:
сам ответил. форум.. мдя.

если в начале месяца задать вотпрос, а в середине ответ смотреть, то и спрашивать не стоит

Добавлено:

Цитата:
Как в скрипте прописать админские права? Хелп!!



Цитата:
см стр.25 --- north_crow



Добавлено:
а еще был вариант (см стр ранее) как добавлять в шедулер задание и с какими правами выполняться, соотв-но мона раздать права на доступ к папке тем от чьего имени будет запускаться скрипт

Добавлено:
см. стр. 29 и :

The Win32_ScheduledJob class is derived from CIM_Job. On Windows 2000, tasks started through Win32_ScheduledJob run under the LocalSystem account. However, in Windows XP Service Pack 1 and the Windows Server 2003 family, such tasks run under the NetworkHost Account.

You must be a member of the administrators group in order to create a scheduled job using this class.

Using Windows 2000 if you start a task remotely, the task starts as an interactive, desktop task. Using Windows XP Service Pack 1 and the Windows Server 2003 family, the task is not interactive. To prevent the remote process that Win32_ScheduledJob launches from running interactively under LocalSystem in Windows 2000, you can change the default account in Control Panel.

Автор: fragpit
Дата сообщения: 04.10.2007 09:49
сообщение удалено
Автор: Lovec
Дата сообщения: 04.10.2007 10:26
Народ!
А как можно удаленно запустить программу или выполнить команду в режиме командной строки?
Все права есть.
Автор: Etalon
Дата сообщения: 04.10.2007 13:32
Lovec

Код:
$Computer = "."
$Process = [WMICLASS]"\\$Computer\Root\CimV2:Win32_Process"
$Process.Create("notepad.exe")
Автор: Lovec
Дата сообщения: 04.10.2007 16:35
Etalon
Эту часть кода видимо можно запихать в скрипт логона? Но, прошу прощения, что сразу не уточнил, комп находится в рабочей группе и у меня к нему просто есть удаленный доступ и знание админского логина.
Вот при этих условиях.

Сорри, если вопрос не по теме...
Автор: Etalon
Дата сообщения: 04.10.2007 17:16
Lovec
Да нет, переменной $Computer присваиваешь в качестве значения dns-имя или ip-адрес компьютера и процесс запускается на нужном тебе компьтере.

А так, можно подключаться к удалённому компьютеру хоть RAdmino'м, хоть Telnet'ом и запускать на выполнение любые команды

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576

Предыдущая тема: BackUp Win2003Serer


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