Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Windows (https://forum.antichat.xyz/forumdisplay.php?f=42)
-   -   Скрипты для администрирования в WIndows (https://forum.antichat.xyz/showthread.php?t=54269)

~!DoK_tOR!~ 24.11.2007 01:05

Скрипты для администрирования в WIndows
 
Предлагаю в данной теме выкладывать скрипты которые облегчают админам жизнь.

скрипт делает бык-уп системы и заливает его на фтп

Код:

strComputer = "."
Set WshShell = WScript.CreateObject("WScript.Shell")
strCommand = "C:\WINDOWS\system32\ntbackup.exe backup @C:\cmd\Back-UP-Drive-C.bks /a /v:no /r:no /rs:no /hc:off /m normal /j Back-UP-Drive-C /l:s /f D:\Back-Up\Backup-drive-c.bkf"
WshShell.Run strcommand, 1, true

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_LocalTime")

For Each objItem in colItems
strCommand = "C:\Arch\7z.exe a  D:\Back-Up\Backup-dc-srv-01-DayOf-Week-"&objItem.DayOfWeek&".7z D:\Back-Up\*.bkf -t7z -m0=BCJ2 -m1=LZMA:d23 -m2=LZMA:d19 -m3=LZMA:d10M -mb0:1 -mb0s1:2 -mb0s2:3"
Next
WshShell.Run strcommand, 1, true
strCommand = "ftp -s:C:\CMD\ctp-command.txt"
WshShell.Run strcommand, 1, true


Получаем информацию об учетных записях пользователей на удаленном компе

Код:

On error Resume Next
Const ForReading = 1, ForWriting = 2, ForAppending = 8
'******************************************
strComputer = "193.125.10.5"
strUser = "Andy_user"
strPassword = "PASSWORD"
strDomain = ""
'******************************************
Err.Clear
'--- Подключаемся ---
Set objSWbemLocator = CreateObject ("WbemScripting.SWbemLocator")
If (Err.Number <> 0) Then
  WScript.Echo "Error (objSWbemLocator)  : " & Err.Number & "  " & Err.Description
  WScript.Quit
End If
Err.Clear
Set objSWbemServices = objSWbemLocator.ConnectServer ( _
  strComputer, _
  "root\cimv2", _
  strUser, _
  strPassword, _
  "MS_409", _
  "ntlmdomain:" & strDomain)
If (Err.Number <> 0) Then
  WScript.Echo "Error (objSWbemServices)  : " & Err.Number & "  " & Err.Description
  WScript.Quit
End If
Err.Clear
Set file_object = CreateObject("Scripting.FileSystemObject")
Set list = file_object.OpenTextFile("./Rezult.log",ForWriting,True)
Set colAcc = objSWbemServices.ExecQuery ("Select * from Win32_UserAccount")
WScript.Echo "Обнаружено " & colAcc.Count & " учетных записей."
For Each ttt in colAcc
    list.Write  ttt.Caption & " "  & vbCrLf
    list.Write  "  " & "Caption : " & ttt.Caption  & vbCrLf
    list.Write  "  " & "Name : " & ttt.Name  & vbCrLf
    list.Write  "  " & "Description : " & ttt.Description  & vbCrLf
    list.Write  "  " & "Domain : " & ttt.Domain  & vbCrLf
    list.Write  "  " & "SID : " & ttt.SID  & vbCrLf
    list.Write  "  " & "SIDType : " & ttt.SIDType  & vbCrLf
    list.Write  "  " & "Disabled : " & ttt.Disabled  & vbCrLf
    list.Write  "  " & "Lockout : " & ttt.Lockout  & vbCrLf
    list.Write  "  " & "PasswordChangeable : " & ttt.PasswordChangeable  & vbCrLf
    list.Write  "  " & "PasswordExpires : " & ttt.PasswordExpires  & vbCrLf
    list.Write  "  " & "PasswordRequired : " & ttt.PasswordRequired  & vbCrLf
    list.Write  " -------------------------------  " &  vbCrLf
Next
list.Close


Выключение удаленной машины (по сети) от доменного администратора

Код:

Set OpSysSet = GetObject("winmgmts:{impersonationLevel=impersonate,(RemoteShutdown)}//FNQ-имя-серверера-для-убийства").ExecQuery("select * from Win32_OperatingSystem where Primary=true")
for each OpSys in OpSysSet
OpSys.Shutdown()
Next

Код:

@echo off
if "%1"=="" (goto HELP)
dsquery group -name %1 | dsget group -members | sort
goto END
:HELP
cls
@echo *********************************************************************
@echo * %0 выводит список членов группы,
@echo * заданой в качестве параметра запуска
@echo *
@echo      Пример:
@echo            %0 group_name
:END

Код:

@echo off >null
  if not "%OS%"=="Windows_NT" goto :exit
  if "%1"=="" (set INFO=echo && set THEEND=1) else (set INFO=rem && set THEEND=0)
%INFO% ***********************************************************************
%INFO% *
%INFO% * "Оптовое" изменение пути к профилю пользователей для заданного OU
%INFO% *  (ппрописываем путь на  сервер f05)
%INFO% *
%INFO% ***********************************************************************
%INFO% *
%INFO% * Пример запуска:
%INFO% * %0 ^<имя_OU^>
%INFO% *
%INFO% Результат работы:

  if "%THEEND%"=="1" (echo Ошибка: Вы не задали имя подразделения!)&(goto :exit)

  dsquery user "OU=%1,OU=mega,DC=main,DC=local"| dsmod user -profile "\\f05\UserFolders\%1\$username$\Profile"
:exit


Скрипт для определения по известному MAC-адресу IP-адрес машины, присутствующей в локальной IP-сети (где расположена машина, на которой скрипт выполняется

Код:

'On Error Resume Next
Const ForReading = 1
Find_MAC = "00-80-ad-06-c2-f9"
Set oShell = WScript.CreateObject ("WScript.Shell")
For i = 1 To 254 Step 1
Return = oShell.Run ("ping -n 1 -w 10 193.125.1." & i , 0, false)
Next
WScript.Sleep(8000)
Return = oShell.Run ("cmd /C arp -a > .\Rezult.txt" , 0, True)
Set Fso = CreateObject("Scripting.FileSystemObject")
Set My_File = Fso.OpenTextFile( ".\Rezult.txt", ForReading, True)
Do While My_File.AtEndOfStream <> True
ReadLineTextFile = My_File.ReadLine
If InStr(ReadLineTextFile,Find_MAC) <> 0 Then
WScript.Echo ReadLineTextFile
End If
Loop
My_File.Close
WScript.Quit(0)


Код:

'Смена стандандарного названия "Мой компьютер" на нечто более внятное.
'Типа "Мой компьютер %COMPUTERNAME% на %USERNAME%"
'Полезно при удаленных разборках с пользователями, особенно кода пользак не знает как называется его комп.
Const MY_COMPUTER = &H11&
Set objNetwork = CreateObject("Wscript.Network")
objComputerName = objNetwork.ComputerName
objUserName = objNetwork.UserName
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace(MY_COMPUTER)
Set objFolderItem = objFolder.Self
objFolderItem.Name = "Мой копьютер" & vbNewLine &(objUserName) & vbNewLine & "на " & (objComputerName)


sheewa 26.11.2007 16:07

Книга по сабжу: Скрипты для администратора Windows.
Автор: Джесси Торрес

Книга содержит базовые сведения, описания и примеры скриптов, используемых для администрирования Windows. Рассматриваются основные команды и ключевые слова, используемые в интерпретаторе .bat файлов, интерпретаторе KiXtart и Windows Script Host. В книге приведены рабочие примеры скриптов, выполняющих самые разнообразные задачи по автоматизации работы в среде Windows.

Качаем тут:
http://rapidshare.com/files/17408045/Skripty_dlya_administratora_Windows.rar


Время: 21:42