Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Автоматизация администрирования. Часть 3

Модерирует : lynx, Crash_Master, dg, emx, ShriEkeR

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

Открыть новую тему     Написать ответ в эту тему

ShriEkeR



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Предыдущие части: 1 | 2
 
   

Коллеги-администраторы...

 
Думаю каждый из вас сталкивался с необходимостью выполнять некие несложные рутинные операции, на которые уходит много драгоценного времени.
 Например, создать определенную структуру каталогов для каждого пользователя домена, изменить некие параметры в профилях всех или части пользователей, изменить полномочия/владельца однотипных файлов в разных каталогах т.д.  
Я, как сисадмин, тоже не раз был вынужден делать все это.  Руками делать это тоскливо и муторно, как вы понимаете. Должен заметить, что по неким "религиозным" убеждениям я всегда старался избегать любых отношений с бейсиком и его производными. Еще мой отец учил меня не иметь с ним никаких дел. Буквально. А теперь я учу своего сына тому же. Но, тем не менее, полностью избежать этого, по всей видимости, невозможно, тем более, что бейсик от M$ сейчас уже далеко не та "лапша", которой он был изначально, а современный структурированный язык, нашедший множество применений. Похоже, что для меня в очередной раз настала пора выучить еще что-то. Знаете, как курильщик много раз безуспешно пытается бросить курить, так и я не раз пытался подступиться к изучению VBScript, но пока никак не одолел. Лень, знаете ли. А инструмент в делах административных был бы весьма пользительный, должен заметить, для быстрого написания всякого рода скриптов.

 
    Внимание   !  !  !  

  • Поскольку данный топ весьма не мал, не забывайте  использовать "версию для печати" для более удобного поиска по теме. А также МЕГА ПОИСКОВИК от NEPa

  • Дабы не раздувать топ,  примеры своих  скриптов  заключаем в тег  "more"

Консольные команды. Командный интерпретатор

Windows Script Host (WSH) &  VBScript  &  JScript


Вышеперечисленные буки можно  взять здесь

    ТOOLS :
  1. Autoit+readme.rus
  2. Scriptologic
  3. Microsoft powerautomate для windows 10, 11
  4. KIXTART
  5. nnCron-Планировщик с поддержкой скриптового языка --  РЕКОМЕНДУЮ
  6. WGET, GREP, GETMAIL, BLAT for Windows замечательные консольные утилиты
  7. 4dos/4nt -- отличная замена стандартного коммандного интерпретатора  
  8. JudoScript - java подобный скриптовый язык с исходниками
  9. VBS2EXE - утилита для компиляции vbs и js скриптов в exe выдранная из пакета PrimalScript
  10. AutoMate

    Дружественные темы :
  1. Автоматическая (unattended) установка Windows
  2. Интересные команды при работе с Linux
  3. Отличный сайт по скриптингу, и не только
  4. Использование KIX
  5. Использование WMI
  6. Программирование "удобняшек" на VBScript

 
Подробнее...
Создается по материалам данного топа

 
Надеюсь данная тема будет полезна для Вас.
Jovanotti

Всего записей: 6382 | Зарегистр. 27-09-2004 | Отправлено: 21:07 23-05-2011 | Исправлено: djremix, 14:12 25-04-2022
YNY

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alukardd>ACL... Вообще-то первый раз слышу чтоб они могли на флешке пусть даже в архиве сохраняться

Всего записей: 476 | Зарегистр. 18-05-2006 | Отправлено: 07:32 24-05-2011
ndch

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YNY
NTFS ?

Всего записей: 7000 | Зарегистр. 31-08-2008 | Отправлено: 08:12 24-05-2011
firsteducation



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здрасте! можете помочь мне с вопросом: можно ли vbs скриптом отличить картридер от HDD диска? Приветствую YNY
 

Всего записей: 95 | Зарегистр. 19-10-2010 | Отправлено: 18:14 17-06-2011 | Исправлено: firsteducation, 18:14 17-06-2011
gloomymen

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
firsteducation
приветсвую вас на планете земля
можно, hdd блочное устройство, картридер хз что

Всего записей: 105 | Зарегистр. 01-06-2011 | Отправлено: 18:45 17-06-2011
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
firsteducation
можно проанализировать вывод команды wmic diskdrive get caption,mediatype. Жесткий диск в ней светится как "Fixed hard disk media", картридер, например у меня показался как "Generic блаблабла Reader USB". (блаблабла - т.к. он их 5 все по разному обозвал, minisd, microsd, etc)
Дерзайте...
 
Добавлено:
Если вам припёрло именно vbs, то вот:
Код:
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _    
    & "{impersonationLevel=impersonate}!\\" & strComputer _
        & "\root\cimv2")
Set colDiskDrives = objWMIService.ExecQuery _    
    ("Select * from Win32_DiskDrive")
For each objDiskDrive in colDiskDrives
    Wscript.Echo "Caption: " & vbTab &  objDiskDrive.Caption & vbCrLF & _
    "Media Type: " & vbTab &  objDiskDrive.MediaType
Next


----------
Microsoft gives you windows, linuх gives you the whole house...
I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

Всего записей: 6571 | Зарегистр. 28-08-2008 | Отправлено: 18:57 17-06-2011 | Исправлено: Alukardd, 19:20 17-06-2011
firsteducation



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А возможно ли по букве диска  если это картридер сделать условие типа переход если нет пропуск?

Всего записей: 95 | Зарегистр. 19-10-2010 | Отправлено: 20:56 18-06-2011
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
firsteducation
Куда переход, куда пропуск?
Можно что-то более конкретное?

----------
Microsoft gives you windows, linuх gives you the whole house...
I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

Всего записей: 6571 | Зарегистр. 28-08-2008 | Отправлено: 21:37 18-06-2011
firsteducation



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alukardd мне нужно сделать выполнение копирования на некоторые буквы дисков, и обойти картридер, для того чтобы избежать ошибку, то-есть сделать условное копирование: если не картридер делай иначе переход. Примерно так.

Всего записей: 95 | Зарегистр. 19-10-2010 | Отправлено: 15:29 19-06-2011
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
firsteducation
Забудьте про предыдущий скрипт, я при его реализации зашёл в тупик. Вот полностью рабочий.
Код:
' variables
Dim objFSO, objFileCopy
Dim strFilePath, strDestination, strComputer
 
' Define variable for match
Set RegularExpressionObject = New RegExp
With RegularExpressionObject
  .Pattern = "Fixed|жесткий"
  .IgnoreCase = True
  .Global = True
End With
 
' Define variable for copy
strFilePath = "c:\fromfile.txt"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFileCopy = objFSO.GetFile(strFilePath)
 
' Find Hard disk
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _    
  & "{impersonationLevel=impersonate}!\\" & strComputer _
    & "\root\cimv2")
Set colDiskDrives = objWMIService.ExecQuery _    
  ("Select * from Win32_LogicalDisk")
For each objDiskDrive in colDiskDrives
  If RegularExpressionObject.Test(objDiskDrive.Description) Then
    strDestination = objDiskDrive.deviceID & "\tofile.txt"
    objFileCopy.Copy (strDestination)
  End if
Next
 
Wscript.Quit


----------
Microsoft gives you windows, linuх gives you the whole house...
I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

Всего записей: 6571 | Зарегистр. 28-08-2008 | Отправлено: 23:25 19-06-2011
firsteducation



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alukardd Спасибо. А возможно ли: 1 сделать просто условие  if do чтобы можно было вместо копирования выполнять различные действия; 2 сделать проверку именно по картридеру, а не по fixed hard drive, т.е выполнять действия если по букве картридера вставлен носитель(флеш); 3 сделать перебор по определённой букве прямо в скрипте без текстовых файлов.

Всего записей: 95 | Зарегистр. 19-10-2010 | Отправлено: 06:57 20-06-2011 | Исправлено: firsteducation, 11:41 20-06-2011
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
firsteducation
Цитата:
сделать просто условие  if do чтобы можно было вместо копирования выполнять различные действия
ну так в блоке If Then End if выполняйте что хотите - я что-то не понял вашего вопроса...
2 и 3 пункт не понял... вы хотите что бы если в КР была вставлена карта памяти что бы на неё копировалось???
Какой еще перебор по какой букве? Мы и так только в скрипте и ни какие текстовые файлы не использовали...
 
p.s. предлагаю вам внимательно прочитать скрипт и идти в гугл - бОльшую часть конструкций я взял именно от туда!

----------
Microsoft gives you windows, linuх gives you the whole house...
I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

Всего записей: 6571 | Зарегистр. 28-08-2008 | Отправлено: 13:44 20-06-2011
firsteducation



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
2 и 3 пункт не понял... вы хотите что бы если в КР была вставлена карта памяти что бы на неё копировалось???
да именно, и чтобы копирование происходило на указанную мною в скрипте букву. на счёт текстовых файлов fromfile.txt и tofile.txt.

Всего записей: 95 | Зарегистр. 19-10-2010 | Отправлено: 18:48 20-06-2011
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
firsteducation
Так вот моё новое понимание Вас.
Если честно вы меня уже начинаете утомлять...
В следующий раз хотелось бы сразу четкую формулировку того что именно Вам надо сделать. А не ту часть задачи которую вы не понимаете и решили вдруг спросить!!!
Код:
On Error Resume Next
 
Dim objFSO, objFileCopy, strFilePath, strDestination, disks
 
' Define variable for copy
strFilePath = "c:\fromfile.txt"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFileCopy = objFSO.GetFile(strFilePath)
 
disks = Array ("A","B","C","D","E","F","G","H","I","J","K")
 
For each disk in disks
  strDestination = disk & ":\tofile.txt"
  objFileCopy.Copy (strDestination)
Next
 
Wscript.Quit


----------
Microsoft gives you windows, linuх gives you the whole house...
I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

Всего записей: 6571 | Зарегистр. 28-08-2008 | Отправлено: 20:57 20-06-2011
firsteducation



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alukardd А если сделать так, но как сделать копирование вместо печати на экран:
 
@echo off
setlocal enabledelayedexpansion
 
for %%d in (c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do dir %%d:>nul 2>&1 && set zz=!zz!,%%d
 
echo %zz%
 
p.s возможно затупил, но очень надо!

Всего записей: 95 | Зарегистр. 19-10-2010 | Отправлено: 22:19 20-06-2011 | Исправлено: firsteducation, 22:21 20-06-2011
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
firsteducation
Машу вать!!! Вы же меня зачем-то VBS просили!!! А ведь я его совсем не знаю, мне проще было с самого начала батник писать!
И зачем вам делать ТАК? Когда я вам дал рабочий скрипт?!
Есди будете копировать не 1 файл, а каталог, то тело цикла изменится
Код:
@echo off
 
setlocal enabledelayedexpansion
set FromCopy="C:\Program Files\fromfile.txt"
 
for %%d in (c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do echo F | xcopy /C /Y /I /E %FromCopy% %%d":\tofile.txt"


----------
Microsoft gives you windows, linuх gives you the whole house...
I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

Всего записей: 6571 | Зарегистр. 28-08-2008 | Отправлено: 23:07 20-06-2011 | Исправлено: Alukardd, 23:08 20-06-2011
ShadovZVV

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Добрый день! А можно ли написать vbs или bat, для проверки версии ОС и версии SP на рабочих станциях домена, с выводом в txt-файл на шару?

Всего записей: 46 | Зарегистр. 31-12-2004 | Отправлено: 12:42 21-06-2011
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ShadovZVV
Вот то, что вы просили, но при таком раскладе вам придется применять фильт uniq для нормального чтения... Я бы вам рекомендовал делать немного по другому.
Ваш вариант
Код:
@echo off
 
For /F "Skip=2 Tokens=2,*" %%A In ('Reg Query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /V ProductName') Do Set OSver=%%B
For /F "Skip=2 Tokens=2,*" %%A In ('Reg Query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /V CSDVersion') Do Set SPver=%%B
for /F "tokens=2 delims=:" %%i in ('ipconfig  ^| findstr "IP "') do @SET IP=%%i
 
echo %ComputerName% - %IP% - %OSVer% - %SPVer% >> \\server\share\log.txt
Вариант с моими замечаниями
Код:
@echo off
 
For /F "Skip=2 Tokens=2,*" %%A In ('Reg Query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /V ProductName') Do Set OSver=%%B
For /F "Skip=2 Tokens=2,*" %%A In ('Reg Query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /V CSDVersion') Do Set SPver=%%B
for /F "tokens=2 delims=:" %%i in ('ipconfig  ^| findstr "IP "') do @SET IP=%%i
 
echo %ComputerName% - %IP% - %OSVer% - %SPVer% > \\server\share\logs\%ComputerName%.txt
получится папка и в ней столько файлов сколько у вас машин. Тогда не будет дубляции информации... Папку только создать предварительно не забудьте и права дат на запись простым смертным... (в сценарии проверка не делалась)

----------
Microsoft gives you windows, linuх gives you the whole house...
I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

Всего записей: 6571 | Зарегистр. 28-08-2008 | Отправлено: 13:32 21-06-2011 | Исправлено: Alukardd, 13:37 21-06-2011
firsteducation



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alukardd ты выражения подбирай, я с тобой вежливо разговариваю, а ты как баба истиришь, я тоже могу выражаться, и поверь тебе это не понравится, попей успокоительное.
ps это я скорей твою мать!!! идиот!

Всего записей: 95 | Зарегистр. 19-10-2010 | Отправлено: 21:18 21-06-2011 | Исправлено: firsteducation, 21:20 21-06-2011
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
firsteducation
Выражения более чем культурные.
 
По существу: вы получили то, что хотели или мы дальше будем в каждом новом посте выяснять животрепещущие подробности ваших желаний на тему?
Или же на этой весёлой ноте наша беседа закончилась?)

Цитата:
попей успокоительное
да это я после успокоительного...

----------
Microsoft gives you windows, linuх gives you the whole house...
I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

Всего записей: 6571 | Зарегистр. 28-08-2008 | Отправлено: 21:28 21-06-2011
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Автоматизация администрирования. Часть 3


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru