1 (изменено: just_beka94, 2014-12-26 18:41:05)

Тема: CMD/BAT: Освобождение адреса, арендованного через DHCP и возобновление

Освобождение адреса, арендованного через DHCP и возобновление DHCP-аренды.
Проверка наличия в составе локального профиля пользователя в папке Application Data\Microsoft\Address Book файла адресной книги пользователя с расширением WAB. При его отсутствии файл адресной книги копируется в соответствующую папку локального профиля из личной сетевой папки.
Вывод на экран списка компьютеров домена.
Просмотр списка имен внутренних устройств, назначенных томам данного компьютера.

2

Re: CMD/BAT: Освобождение адреса, арендованного через DHCP и возобновление

Освобождение адреса, арендованного через DHCP и возобновление DHCP-аренды.

ipconfig.exe /renew

Проверка наличия    в составе локального профиля пользователя в папке Application Data\Microsoft\Address Book файла адресной книги пользователя с расширением WAB. При его отсутствии файл адресной книги копируется в соответствующую папку локального профиля из личной сетевой папки.

Поясните про «личную сетевую папку».

Вывод на экран списка компьютеров домена.

net.exe view /domain

Просмотр списка имен внутренних устройств, назначенных томам данного компьютера.

Полагаю, речь про:

mountvol.exe

3

Re: CMD/BAT: Освобождение адреса, арендованного через DHCP и возобновление

alexii пишет:

ipconfig.exe /renew

Кто знает, может имелось в виду не просто обновить, но что-то вроде цепочки:

ipconfig /release&ipconfig /flushdns&piconfig /renew&ipconfig /registerdns

Без каких-либо уточнений со стороны спрашивающего нам остается лишь телепатировать что к чему, тем паче что и я никак в толк не возьму что там за "сетевая папка".

alexii пишет:

Полагаю, речь про:
mountvol.exe

mountvol далеко не всегда показывает все как должно быть. Вообще, данные о точках монтирования хранятся в реестре (HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices), при этом из комстроки извлечь данные оттуда вполне возможно, но выстроить таблицу буква-точка проще на PowerShell:

(gp HKLM:\SYSTEM\MountedDevices).PSObject.Properties | ? {
  $_.Name -notlike 'PS*'
} | % {$pnt = @{}}{
  try {
    $pnt.Add(($n = [BitConverter]::ToInt64($_.Value, 0)), ($v = $_.Name))
  }
  catch [Management.Automation.MethodInvocationException] {
    if (!$v.EndsWith('}')) {
      '{0} {1}' -f ($v -split '\\')[-1], ($pnt[$n] -replace '^\\.', '\\')
    }
  }
}

4

Re: CMD/BAT: Освобождение адреса, арендованного через DHCP и возобновление

Кто знает, может имелось в виду не просто обновить, но что-то вроде цепочки:

Запросто .

mountvol далеко не всегда показывает все как должно быть. Вообще, данные о точках монтирования хранятся в реестре (HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices), при этом из комстроки извлечь данные оттуда вполне возможно, но выстроить таблицу буква-точка проще на PowerShell:

Навряд ли такие тонкости будут требовать от студентов.

5

Re: CMD/BAT: Освобождение адреса, арендованного через DHCP и возобновление

alexii пишет:

Навряд ли такие тонкости будут требовать от студентов.

И все же... может пожалеем? ^_^

@echo off
  setlocal enabledelayedexpansion
    set "key=HKLM\SYSTEM\MountedDevices"
    for /f "tokens=1,3" %%i in (
      'reg query %key% ^| findstr /irc:"dos" ^| sort'
    ) do (
      for /f "tokens=1,3" %%k in (
        'reg query %key% ^| find "%%j" ^| find /v /i "dos"'
      ) do (
        set "dsk=%%i"
        if "%%j" equ "%%l" echo !dsk:~-2! -^> %%k
      )
    )
  endlocal
exit /b