В данном разделе находится общая информация.
В данном разделе находятся примеры различных Linux shell скриптов.
В данном разделе находятся примеры различных скриптов на WSH.
В данном разделе находятся материалы по разным темам.

Правильный CSS!

Для корректного отображения страницы, рекомендуется использовать браузер поддерживающий JavaScript.

Для навигации пользуйтесь боковым меню и кнопками "Описание" и "Подробно".

Простой WSH (VBS) скрипт для установки MTU на компьютере под управлением Windows XP в домене.

Основные возможности:

  • Установка MTU на целевом компьютере с любого компьютера в домене, пользователем с правами локального администратора на целевом компьютере;
  • Проверка прохождения пинга до целевого компьютера;
  • Возможность запуска из консоли с указанием аргументов.

Пример запуска WSH (VBS) скрипта для установки MTU на компьютере под управлением Windows XP в домене.

Запустив скрипт SetMTU.vbs, указываем имя компьютера и MTU.
И получаем подтверждение об установке MTU, либо о невозможности установить MTU.

Скриншот:





Пример запуска WSH (VBS) скрипта из консоли или в командном файле.

Синтаксис:
SetMTU.vbs [ИмяКомпьютера [MTU]]
Необязательные ключи:
  • ИмяКомпьютера - имя или IP адрес (если не указано, будет предложено ввести)
  • MTU - значение MTU от 1000 до 9999 (если не указано, будет предложено ввести)
!!!Все ключи указывать в строгой посдедовательности!!!

Пример для установки MTU=1372 на компьютере testComp:
SetMTU.vbs testComp 1372

Особенности работы скрипта:

  • Запуск скрипта должен осуществляться пользователем, имеющим правама локального администратора на целевом компьютере.
    Удобно при работе в домене.
  • После установки MTU целевой компьютер должен быть перезагружен.
  • Cкрипт устанавливает MTU только для DNSRegisteredAdapters адаптеров.
    см. ветку: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DNSRegisteredAdapters

Пример vbs файла:

(Скачать файл можно будет здесь. ЗЫ Не тыкать! Жать правой кнопкой: сохранить ссылку как...)

Текст на WSH (VBS):

'Для установки MTU
Set objArgs = WScript.Arguments

On Error Resume Next
strComputer = objArgs(0)
If Err.Number <> 0 Then
	strComputer = InputBox("Введите IP адрес компьютера на котором нужно установить MTU!", "Адресс", "10.1.1.x")
	Err.Clear
End If
On Error GoTo 0

If strComputer = "" Then
	Wscript.Echo "Действие отменено."
	WScript.Quit(0)
End If

If TestPing(strComputer) = 0 Then
	WScript.Echo "Адресс:" & strComputer & " не пингуется или не доступен!"
	WScript.Quit(0)
End If

On Error Resume Next
strMTU = objArgs(1)
If Err.Number <> 0 Then
	strMTU = InputBox("Введите MTU!", "MTU", "1500")
	Err.Clear
End If
On Error GoTo 0

If (RegExpTest("^\d{4}$", strMTU)=0) OR (RegExpTest("^0\d{3}", strMTU)<>0) Then
	WScript.Echo "Ошибка ввода MTU: " & strMTU & VBNewLine & "Значение не должно начинаться с 0, и должно быть 4-х значным." & VBNewLine & "Например 1500"
	WScript.Quit()
End If

Const HKEY_LOCAL_MACHINE = &H80000002

Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _ 
	strComputer & "\root\default:StdRegProv")

strKeyPath = "SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DNSRegisteredAdapters"
oReg.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubKeys

For Each subkey In arrSubKeys
	strKeyPath = "SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\" & subkey
	strValueName = "MTU"
	dwValue = strMTU
	If dwValue = 1500 Then
		oReg.DeleteValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName
	Else
		oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,dwValue
	End If
	'Wscript.Echo subkey & " OK"
	oReg.GetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,dwValue
	If IsNull(dwValue) Then dwValue = "default" End If
	Wscript.Echo "Ok, MTU for IntfID=" & subkey & " from " & strComputer & " : " & dwValue
Next

Function TestPing(address)
	Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
	Set colPings = objWMIService.ExecQuery _
		("Select * From Win32_PingStatus where Address = '" & address & "'")
	For Each objStatus in colPings
		If IsNull(objStatus.StatusCode) or objStatus.StatusCode<>0 Then 
			TestPing = 0 
		Else
			TestPing = 1
		End If
	Next
End Function

Function RegExpTest(patrn, strng)
  Dim regEx, retVal            ' Create variable.
  Set regEx = New RegExp         ' Create regular expression.
  regEx.Pattern = patrn         ' Set pattern.
  regEx.IgnoreCase = False      ' Set case sensitivity.
  RegVal = regEx.Test(strng)      ' Execute the search test.
  RegExpTest = RegVal
End Function

            

Yandex.Metrika

Page modification: Птн Сен 10 16:48:35 MSD 2010
Используется Quanta+ 3.5.10 Under the GPL v2 license.