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

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

Автор: Tadpole
Дата сообщения: 24.03.2008 10:52
Обращаюсь за помощью, в топике подобных примеров не нашел и искания по инету ни к чему не привели.
Необходимо написать bat файл, который будет определять свободное место на диске, отправлять его значение на указанный почтовый адрес, а так же сравнивать с эталонным значением, и если размер меньше эталона выполнять команду. (отправка сообщения на сервер HP Openview, ну это-то как раз не проблема) ОС - Win 2k server SP4 без всяких тулкитов и возможности их поставить нет, сторонние утилиты ставить нельзя.
Я сумел вытащить цифру свободного места из dir'a и могу теперь отправлять его в виде файла по почте... а вот со сравнением проблема - if a lss b работает не корректно и всегда выполняет действие при истине.
Как временная (и только временная) мера можно сделать то же на VBScript, но у меня тут другая проблема - сделать надо быстро, а я изучал в свое время VBA и сделал на нем, а в VBS теперь переделать что-то никак.

кто что подскажет?
Автор: mr1
Дата сообщения: 24.03.2008 16:46
rosalinх
Не поделитесь, как именно?
Автор: YNY
Дата сообщения: 25.03.2008 06:39

Цитата:
Tadpole


почит все что в VBA применимо и к VBS, только оъекты прийдется создавать нек-е используя SET NeededTypeOBJ=CreateObject() типа:

Dim fso, MyFile
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile("c:\testfile.txt", True)
MyFile.WriteLine("This is a test.")
MyFile.Close

используй в bat:
set ft=6:02:00
set fe=6:01:00
if %ft% gtr %fe% (echo "biger") else echo "less"

ХОТЯ ТУТ BAT НЕ ОБСУЖДАЕТСЯ

Добавлено:
Оператор else должен размещаться в той же строке, что и команда if.
Автор: mr1
Дата сообщения: 25.03.2008 18:02
Запускаю:
psexec \\* -s -u Admin -p Password c:\Windows\System32\xcopy.exe "\\ADMIN-PC\Install\_antivirs_\DrWeb\drweb32.key" "c:\Program Files\DrWeb\" /R /H /Y
почему не работает?

На выходе:
\\COMPUTER:
Неправильно указан диск
Скопировано файлов: 0.
c:\Windows\System32\xcopy.exe exited on COMPUTER with error code 4.
Автор: Cyril Konst
Дата сообщения: 25.03.2008 19:06
народ, как назначить порт для определённого принтера при логоне пользователя (скриптом)?
причём нужно учитывать информацию из описания порта.
Автор: YNY
Дата сообщения: 26.03.2008 05:49

Цитата:
mr1

http://www.microsoft.com/rus/technet/sysinternals/utilities/psexec.mspx
а че за ключи /R /H /Y прога copy таких не имеет
Автор: mr1
Дата сообщения: 26.03.2008 08:53
YNY
Читал. Пробовал по разному. Толку. Все равно не пашет.

Цитата:

XCOPY source [destination]
/R Заменяет файлы, доступные только для чтения.
/H Копирует скрытые и системные файлы.
/Y Подавляет запрос на подтверждение перезаписи
существующего конечного файла.

Автор: ProbaRK
Дата сообщения: 26.03.2008 09:31
mr1

А так?

psexec -u User \\* xcopy "\\server\install\DRWEB\drweb32.key" "%ProgramFiles%\DrWeb" /r /y
Автор: beeth
Дата сообщения: 26.03.2008 09:58
В вин ХР для перемещения локальныйх профилей в домен, или из домена в домен была утилита moveuser. В висте ее заменили на Win32_UserProfile WMI. http://support.microsoft.com/kb/930955
как этим пользоваться для копирования\перемещения профилей?
Спасибо!
Автор: YNY
Дата сообщения: 26.03.2008 11:22
Xcopy
Код завершения Описание
0 Файлы скопированы без ошибок
1 Файлы для копирования не найдены
2 Нажата комбинация CTRL+C для остановки команды xcopy
4 Возникла ошибка инициализации. Недостаточно места в памяти или на диске, введено неверное имя диска или неверный синтаксис вызова команды
5 Диск защищен от записи

проверь с компа ваще есть доступ к папке шарный и можно ли скопировать оттуда файлы или нет!

Добавлено:
полный путь: c:\Windows\System32\xcopy.exe, писать не нужно
Автор: mr1
Дата сообщения: 26.03.2008 12:33
ProbaRK

Цитата:
А так?
psexec -u User \\* xcopy "\\server\install\DRWEB\drweb32.key" "%ProgramFiles%\DrWeb" /r /y

Теперь заменяет файл только на машине на которой запускался скрипт.

YNY
доступ к папке шарный есть, скопировать оттуда файлы можно.
Вручную (через Проводник) все копируется.

Добавлено:
ProbaRK
Извиняюсь. Всьо заработало (запустил psexec без ключа -p). Спасибо.
Автор: Night Warrior
Дата сообщения: 26.03.2008 13:10
Доброго времени суток... Есть сеть ~150 машин практически всем IP и DNS назначены в ручную... как их перевести на DHCP с помощью скрипта? Ручками как то не охота у всех менять настройки.
ЗЫ Сервер DHCP поднят.

Заранее огромное спасибо!
Автор: vlazari
Дата сообщения: 26.03.2008 13:46

Командой <netsh interface ip set address name="Local Area Connection" source=dhcp>
Автор: Night Warrior
Дата сообщения: 26.03.2008 17:14
vlazari
Спасиба еще раз все получилось!
Автор: Night Warrior
Дата сообщения: 28.03.2008 14:40
vlazari

Цитата:
Командой <netsh interface ip set address name="Local Area Connection" source=dhcp>


Возникла еще одна проблема на некоторых машинах интерфейс переименован как сделать так что бы он менял настройки вне зависимости от названия интерфейса?
Автор: MageSlayerDen
Дата сообщения: 29.03.2008 14:02
Хай, all.

Возникла задача - синхронизация бэкапов с нескольких серверов на один сервер.
Одно но - синхронизировать надо не просто две папки на разных серверах, а синхронизировать/хранить только файлы за 2 последних месяца (по дате создания).

Короче классическая задача для никсовых rsync+find. Под никсами решается одной строкой . Под виндой какая-то засада - rsync работает только под cygwin и в версии 2.6.9 (там где появился ключ --files-from) (http://www.gtlib.gatech.edu/pub/cygwin/release/rsync/rsync-2.6.9-2.tar.bz2) этот параметр --files-from заставить работать не могу. Вываливается непонятная ошибка и все.

Может кто имеет, что предложить для решения этой элементарной задачи?
Автор: YNY
Дата сообщения: 01.04.2008 09:33

Цитата:
MageSlayerDen

Cygwin is not a way to run native linux apps on Windows. You have to rebuild your application from source if you want it to run on Windows.
Cygwin is not a way to magically make native Windows apps aware of UNIX ® functionality, like signals, ptys, etc. Again, you need to build your apps from source if you want to take advantage of Cygwin functionality.
http://www.lissyara.su/?id=1286
а вот еще вопрос у тебя разделы то какие FAT, NTFS или никсовые?

В винде есть свои инструменты для архивации так что....... пингвинятина
Автор: MageSlayerDen
Дата сообщения: 01.04.2008 10:57
YNY


Цитата:
you need to build your apps from source if you want to take advantage of Cygwin functionality


Так и делаю. По ссылке cygwin-порт. Вообще-то уже как-то разобрался - http://denisgolovan.livejournal.com/#item2086


Цитата:
В винде есть свои инструменты для архивации


Принять как аксиому?


Цитата:
а вот еще вопрос у тебя разделы то какие FAT, NTFS или никсовые?


NTFS

Автор: cluster
Дата сообщения: 01.04.2008 11:59
Не пробегал ли тут скрипт, создающий в АД, в каждом катологе (начиная с указанного и в глубь) группу безопасности с указанным именем и pre-Windows - название каталога?
Н-р:

Код: Файловые ресурсы
- Общее
- Поразделения
- Библиотека
- Кафедра МЭУ
- Отчёты
Автор: alexio
Дата сообщения: 02.04.2008 14:27
вопрос есть структура
любой диск\любая папка\a\b\*.exe
скрипт находится по пути
любой диск\любая папка\a\b1\test.vbs

как из скрипта запустить exe ?
Автор: rosalin
Дата сообщения: 02.04.2008 18:12
Ребята на сервере храняться данные в виде структуры папок по отделам

Появилась надобность создать отчет по доступам пользоватей к папкам

пользователи в домене
os w2003 ent

Помогите со скриптиком...
Автор: cluster
Дата сообщения: 02.04.2008 20:30
rosalin
Недавно выкладывали тут решение с помощью excel
http://rapidshare.com/files/104337780/perm.rar.html
Автор: rosalin
Дата сообщения: 03.04.2008 07:56
cluster
Да решение видел как то не мог вспомнить где спасибо за подсказку
скриптик супер

но!!!

он показывает разрешения на все подряд файлы папки а нет ли только на папки
Автор: Laki7a
Дата сообщения: 03.04.2008 08:59
Народ скрипт просто то что я собирался искать!!! Просто пришел, увидел, победил ! руборд рулит 0)))
Автор: fedmun
Дата сообщения: 03.04.2008 11:01
может быть кто подскажет:
необходимо удалять файлы с ftp сервера по дате, например старше 1 недели.
Каким софтом можно это делать автоматически (командная строка или сценарий).
Автор: rosalin
Дата сообщения: 03.04.2008 13:50
Уважаемые All так и не нашлось решения по моему вопросику
Цитата:
Да решение видел как то не мог вспомнить где спасибо за подсказку
скриптик супер

но!!!

он показывает разрешения на все подряд файлы папки а нет ли только на папки

Автор: ssnvit
Дата сообщения: 04.04.2008 14:58
Есть несколько вопросов:
1) как определять время входа пользователя в домен - дата, часы минуты секунды
2) как определять время выхода пользователя из домена - дата часы минуты секунды
3) как определить блокировку сеанса пользователя в домене (то есть пользователь поставил свой сеанс работы на блокировку)
Автор: rosalin
Дата сообщения: 04.04.2008 16:40

Цитата:
как определять время входа пользователя в домен - дата, часы минуты секунды

[more=logintime.vbs]on error resume next
wYYYY = DatePart("YYYY" , Now)
wMM = DatePart("M" , Now)
If Len(wMM) = 1 Then
wMM = "0" & wMM
End If
Set WshShell = CreateObject("WScript.Shell")
CompName = WshShell.ExpandEnvironmentStrings("%computername%")
UserName = WshShell.ExpandEnvironmentStrings("%username%")
Curdate = (FormatDateTime(date(),vbgeneraldate))
Curtime = (FormatDateTime(now(),vblongtime))
Dim objFSO, objFolder, objShell, objTextFile, objFile
Dim strDirectory, strFile, strText
strDirectory = "\\server\Reports\"
strMonthDirectory = ("AuthLog-"& wMM &"-"& wYYYY)
strFile = ("\auth-" & curdate & ".log")
strTextOFF = ("LOGOFF | " & Curdate & " at " & Curtime & " | " & Compname & " > "& username)
strTextON = ("LOGON | " & Curdate & " at " & Curtime & " | " & Compname & " < "& username)
WTODO = Wscript.Arguments.Item(0) 'cmd argument

Set objFSO = CreateObject("Scripting.FileSystemObject")

If objFSO.FolderExists(strDirectory) Then
If not objFSO.FolderExists(strDirectory & strMonthDirectory) Then
Set objFolder = objFSO.CreateFolder(strDirectory & strMonthDirectory)
End if

If not objFSO.FileExists(strDirectory & strMonthDirectory & strFile) Then
Set objFile = objFSO.CreateTextFile(strDirectory & strMonthDirectory & strFile)
End If

set objFile = nothing
set objFolder = nothing
Const ForAppending = 8

Set objTextFile = objFSO.OpenTextFile _
(strDirectory & strMonthDirectory & strFile, ForAppending, True)

IF WTODO = "off" then
objTextFile.WriteLine(strTextOFF)
Else
objTextFile.WriteLine(strTextON)
End if

objTextFile.Close

End If

WScript.Quit [/more]
попробуй
Автор: ssnvit
Дата сообщения: 04.04.2008 17:52
rosalin

Цитата:

logintime.vbs
попробуй


попробовал - работает, но мне все вопросы надо в связке с доменом, т.е. необходимо брать из AD, так что пока неясно как это решить.
Автор: Roman_Mejtes
Дата сообщения: 07.04.2008 11:42
Задача: удаленно запустить команду "dir c:\ /s /b /a" и поместить выходные данные в переменную result через vbscript

большое спасибо!


Код:
    Set objShell = WScript.CreateObject("WScript.Shell")
    Set objWshScriptExec = objShell.Exec(psexec.exe \\comp cmd /c dir c:\ /s /b /a")
    Set objStdOut = objWshScriptExec.StdOut
    results = objStdOut.ReadAll
    WScript.Echo "'" & results & "'"
    WScript.Echo "Complite"

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576

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


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