Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   поиск свободного места на удаленном пк (http://forum.oszone.net/showthread.php?t=338526)

carefule 02-01-2019 22:55 2849538

поиск свободного места на удаленном пк
 
Здравствуйте УВ. Форумчане!
Нужна помощь в скриптах я не особо селен(
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 2849542

Цитата:

Цитата carefule
селен( »

Сера, кислород «…силён».


Цитата:

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

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

Цитата:

Цитата carefule
хотябы на одном из первых дисках »

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

Цитата:

Цитата carefule
то выполнить проверку версии операционной системы, »

Как? И для чего это нужно?

Цитата:

Цитата carefule
после чего скопировать файлы. »

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

carefule 03-01-2019 00:01 2849544

Цитата:

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

про /node я знал
Цитата:

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

на любом диске удаленной машины на котором есть свободное место, только не на сетевой диск.
Цитата:

Цитата Iska
Как? И для чего это нужно? »

Для выполнения обновлений операционной системы win xp и семерка пакет от simplix, win 8 установка cab , и windows 10 необходимо сетапу передать значение для данного ключа /TempDrive <drive_letter> .

Цитата:

Цитата Iska
Какие файлы? Скопировать куда? И откуда? »

с компа на котором выполняется 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 2849550

carefule, примерное число машин озвучьте. У Вас есть домен?

carefule 03-01-2019 01:00 2849552

Цитата:

Цитата Iska
примерное число машин озвучьте. У Вас есть домен? »

домен есть около 200

Iska 03-01-2019 02:12 2849554

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

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

carefule 03-01-2019 11:06 2849567

Я планировал сделать следующее:
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 2850035

carefule, может, просто WSUS поднять?

carefule 08-01-2019 19:03 2850591

Wsus,не вариант, ладно буду пытаться сам создать такое "чудо "


Время: 16:02.

Время: 16:02.
© OSzone.net 2001-