PDA

Показать полную графическую версию : поиск свободного места на удаленном пк


carefule
02-01-2019, 22:55
Здравствуйте УВ. Форумчане!
Нужна помощь в скриптах я не особо селен(
1. необходимо чтобы wmic проверяла на удаленном компе свободное место на локальных дисках и если хотябы на одном из первых дисках найдено достаточно свободного места 15 гб,то выполнить проверку версии операционной системы, после чего скопировать файлы.

По форуму я поблуждал попытался слепить что-то работающее, но безуспешно

1. Здесь есть подсказка по поиску только локальных дисков

@Echo Off
SetLocal EnableExtensions

For /F "Tokens=1,2 Delims==" %%i In ('WMIC LogicalDisk Get Name^,VolumeSerialNumber^,DriveType /Value^|Find "="') Do (
call :ShowDrive "%%i" %%j
set /a Count +=1
)
echo Count of Drives: %count%
pause >nul
exit /B

:ShowDrive
if "%~1"=="DriveType" (
if "%2"=="0" set DT=Unknown
if "%2"=="1" set DT=No Root Directory
if "%2"=="2" set DT=Removable Disk
if "%2"=="3" set DT=Local Disk
if "%2"=="4" set DT=Network Drive
if "%2"=="5" set DT=Compact Disc
if "%2"=="6" set DT=RAM Disk
)
if "%~1"=="Name" echo Disk %2 - %DT%
exit /b

2.Здесь я нашел проверку самого свободного места
@echo off
for /f "delims=" %%d in ('wmic logicaldisk get name^|find ":"') do call :d %%d
pause& exit

:d
for /f "tokens=3" %%a in ('2^>nul dir %1') do 2>nul set /a sz=%%a
if exist %1 echo Свободное место на %1 %sz%Гб
exit /b

Помогите, очень нужна помощь.

Iska
02-01-2019, 23:34
селен( »
Сера, кислород «…силён».

1. Здесь есть подсказка по поиску только локальных дисков »
Для обращения к удалённой машине используйте параметр «/node:<RemoteMachineName>».

хотябы на одном из первых дисках »
Расшифруйте, что означает в переводе на русский выражение «хотя бы на одном из первых дисков». Какие разделы считать первыми, а какие — нет?

то выполнить проверку версии операционной системы, »
Как? И для чего это нужно?

после чего скопировать файлы. »
Какие файлы? Скопировать куда? И откуда?

carefule
03-01-2019, 00:01
Для обращения к удалённой машине используйте параметр «/node:<RemoteMachineName>». »
про /node я знал
Расшифруйте, что означает в переводе на русский выражение «хотя бы на одном из первых дисков». Какие разделы считать первыми, а какие — нет? »
на любом диске удаленной машины на котором есть свободное место, только не на сетевой диск.Как? И для чего это нужно? »
Для выполнения обновлений операционной системы win xp и семерка пакет от simplix, win 8 установка cab , и windows 10 необходимо сетапу передать значение для данного ключа /TempDrive <drive_letter> .

Какие файлы? Скопировать куда? И откуда? »
с компа на котором выполняется wmic на удаленный пк

Все это делается с уже известных списком компов, по возможности хотелось бы проверить доступен ли пк или нет.
for /f "delims=" %%i in (F:\script\pc\pc.txt) do call :procedure %%i >>F:\script\log\pc.log
pause& exit


Задача сложная, не знаю можно ли ее реализовать. wsus не выход кривые компы достались у которых ssid одинаковые.

Iska
03-01-2019, 00:44
carefule, примерное число машин озвучьте. У Вас есть домен?

carefule
03-01-2019, 01:00
примерное число машин озвучьте. У Вас есть домен? »
домен есть около 200

Iska
03-01-2019, 02:12
Я даже не знаю, что Вам тут посоветовать. Групповой политикой, startup или shutdown скрипт? Так в процессе установки будет несколько перезагрузок. Предпочтения групповой политики, однократное исполнение, при котором файл только копируется с удалённого ресурса на локальную машину и создаётся задание в Планировщике на его однократный запуск? Не знаю…

И как Вы будете определять — установлена ли уже текущая (ладно, пусть будет только одна, текущая) версия UpdatePack'а, дабы не запускать процесс повторно?

carefule
03-01-2019, 11:06
Я планировал сделать следующее:
1. Проверить свободное место и на первый доступный диск скопировать файлы, чтобы понять что копировать проверить через wmic,какая версия ОС , если не ошибаюсь wmic get os version, после чего создать задание в планировщике от имени системы запустить паки simplix, при следующем включении ПК , проверить установлена ли данная kb или нет, если нет запустить установку повторно,когда установка завершена, то отключить это задание в планировщике, с win 8, аналогично , использую dism, после чего проверка установки kb, с win 10 , проще там постоянно меняется версия винды и использую тихие ключи установки, только для пака симпликса, для установки kb,и для установки винды, я хочу передать из bat-ника переменную на котором есть свободное место на диске .
Хочу ещё реализовать , отправку на почту в будущем при не удачной установки, тем же путем проверкой установленного kb, либо проверкой версии десятки ., Хотелось бы мне просто понять как сделать несколько циклов, чтобы а именно как проверить свободное место на удаленной машине и с последующим копирование , на первый свободный, не сетевой диск, дальше я думаю сам попытаюсь сделать bat .Ну а если нет прийдётся долго курить форумы и как всегда методом проб и ошибок.

DJ Mogarych
05-01-2019, 20:20
carefule, может, просто WSUS поднять?

carefule
08-01-2019, 19:03
Wsus,не вариант, ладно буду пытаться сам создать такое "чудо "




© OSzone.net 2001-2012