информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Где водятся OGRыЗа кого нас держат?
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Очередное исследование 19 миллиардов... 
 Оптимизация ввода-вывода как инструмент... 
 Зловреды выбирают Lisp и Delphi 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / sysadmin
Имя Пароль
если вы видите этот текст, отключите в настройках форума использование JavaScript
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
По что Эксель мучил? 01.09.02 19:39  Число просмотров: 1261
Автор: :-) <:-)> Статус: Elderman
<"чистая" ссылка>
Не легче ли из списка:
Q265365 FRS Creates Unneeded Folders in DFS Root Alternates
Q265509 Ntldr Cannot Load Fragmented System Hive
Q266247 Special Function Keys May Not Work on Dell Laptop Computers

вырезать первый столбец в Ворде (держать Alt при выделении мышкой), потом заменить в нем символ перевода строки на пробел. Получится строка:
Q265365 Q265509 Q266247...

Дальше:
for %x in (Q265365 Q265509 Q266247...) do UnHotFix.bat %x

UnHotFix.bat - батник из 2-х строк (cd и вызов hotfix.exe)
<sysadmin>
Комплексное удаление хотфиксов перед установкой SP Updated 30.08.02 20:40  
Автор: babay <Andrey Babkin> Статус: Elderman
Отредактировано 30.08.02 21:31  Количество правок: 2
<"чистая" ссылка>
У кого нет возможности отката хотфиксов это не грозит, можете не читать.

Кого достало удалять их через appwiz.cpl и каждый раз перегружаться, и, кстати, их может быть установлено 40 - 50 :-)), могу предложить такой вариант:
1. Берем список энтих самых хотфиксов c MS:
Я делал так: брал лист хотфиксов с M$, в экселе редактировал, выгружал в текстовый файл (конечно в кмдэшник можно добавить все руками, но это на любителя ), получалось примерно следующее:
Q265003 Windows 2000 Overwrites or Damages an OS/2 Boot Manager Partition			
			
Q265365 FRS Creates Unneeded Folders in DFS Root Alternates			
			
Q265509 Ntldr Cannot Load Fragmented System Hive			
			
Q266247 Special Function Keys May Not Work on Dell Laptop Computers			
			
Q266251 Memory Dump Stops When the PAE Option Is Enabled			
			
Q266647 Drive Letters Automatically Assigned to Unrecognizable Partitions

....................................

---
Открывал этот текстовик ещё раз в эксэле ( с разделителями фиксированной ширины, чтоб убрать описание хотфикса и оставить только его номер, после номера проставлял "D", как признак) и сохранял в текстовике почищенный файл
получалось вот что:
Q264824	D
"			"	D
Q265003	D
"			"	D
Q265365	D
"			"	D
Q265509	D
"			"	D
Q266247	D
"			"	D
Q266251	D
"			"	D
Q266647	D
"			"	D
Q266704	D
"			"	D
Q266710	D
"			"	D

---
после в текстовом редакторе заменял
все
Q

--- на :
cd C:\WINNT%\$NtUninstall

---
все
	D

---
на
$

---
и оставшиеся
"			"$

---
на
hotfix.exe -y -m -z %1

---
Получался батник такого содержания:
@echo off         
echo "UnInstalling Complex Microsoft Post SP2 HotFix (x86) at 30.09.2001 by babay for Windows 2000 (EN)"
echo --------------------------------------------------------------------------------
echo press any key to continue or Ctrl+C for abort uninstallation...
pause > NUL
         
         
cd Q276471$        
hotfix.exe -y -m -z %1         
         
cd C:\WINNT%\$NtUninstallQ281767$        
hotfix.exe -y -m -z %1         
         
cd C:\WINNT%\$NtUninstallQ282784$        
hotfix.exe -y -m -z %1         
         
cd C:\WINNT%\$NtUninstallQ285156$        
hotfix.exe -y -m -z %1         
         
cd C:\WINNT%\$NtUninstallQ285851$        
hotfix.exe -y -m -z %1         
         
cd C:\WINNT%\$NtUninstallQ285985$        
hotfix.exe -y -m -z %1         
         
cd C:\WINNT%\$NtUninstallQ286818$        
hotfix.exe -y -m -z %1         
         
cd C:\WINNT%\$NtUninstallQ287397$        
hotfix.exe -y -m -z %1         
         
cd C:\WINNT%\$NtUninstallQ293826$        
hotfix.exe -y -m -z %1         

---
Перегружаем тачку и можно ставить сервиспак.
Вот вроде и всё :-))
З.Ы. Если есть нормально отформатированный список фиксов всё намного проще, а если их установлено 6 - 7 штук и подавно, но это был не мой случай, так что может кому вся эта моя писанина и пригодится.

Подробности по использованию hotfix.exe
По что Эксель мучил? 01.09.02 19:39  
Автор: :-) <:-)> Статус: Elderman
<"чистая" ссылка>
Не легче ли из списка:
Q265365 FRS Creates Unneeded Folders in DFS Root Alternates
Q265509 Ntldr Cannot Load Fragmented System Hive
Q266247 Special Function Keys May Not Work on Dell Laptop Computers

вырезать первый столбец в Ворде (держать Alt при выделении мышкой), потом заменить в нем символ перевода строки на пробел. Получится строка:
Q265365 Q265509 Q266247...

Дальше:
for %x in (Q265365 Q265509 Q266247...) do UnHotFix.bat %x

UnHotFix.bat - батник из 2-х строк (cd и вызов hotfix.exe)
Не корысти для, а токма чтоб отформатировать html доки с M$ ;-))), а на счет батника - это кому как 01.09.02 22:09  
Автор: babay <Andrey Babkin> Статус: Elderman
<"чистая" ссылка>
а на счет батника - это кому как удобнее, я просто привык так, вот и всё.
Но сейчас нормальный скрипт напишу, всё равно сижу - скучаю, без этих жреновых подгрузок номеров хомфиксов с M$
Ну вот собственно скрипт (внутри) 03.09.02 00:51  
Автор: babay <Andrey Babkin> Статус: Elderman
Отредактировано 03.09.02 07:13  Количество правок: 3
<"чистая" ссылка>
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!-- 
    File:    delhfs.wsf
    Author:  Andrey Babkin
-->
<job id="Remove hotfixes">
	<?job error="false" debug="true" ?>
	<script language="JScript">
<![CDATA[
    
]]>
	</script>
	<script language="VBScript">
<![CDATA[
Option Explicit
	Dim Message, Title
	Dim WshShell, objEnv, fso, oDirs, oFolders, oFolder, oSubFolders, wsh
	Dim result
	Dim ArrCurrDirNumbers
	Dim counter, errCode
	Dim ArrCurrDir
	Const path = "%WINDIR%"
	Const patrn = "\$NtUninstallQ\d{6}\$"
Set WshShell = CreateObject("Wscript.Shell")
Set objEnv = WshShell.Environment("Process")
Set wsh = WScript.CreateObject("WScript.Shell")
Set fso = WScript.CreateObject("Scripting.FileSystemObject")
Set oFolders = fso.GetFolder(wsh.ExpandEnvironmentStrings(path))  
Set oSubFolders = oFolders.SubFolders
Title = "WSH program :" & WScript.ScriptName & " by Andrey Babkin"
For Each oFolder In oSubFolders
	oDirs = oDirs & oFolder.Name 
Next
ArrCurrDir = RegExpTest(patrn, oDirs)

Function RegExpTest(patrn, strng)
    Dim regEx, Match, Matches    ' Create variable.
    Dim retStr                   ' Result  
    Dim i
    Dim aItems()
    ArrCurrDirNumbers = 0
    Set regEx = New RegExp       ' Create a regular expression.
    regEx.Pattern = patrn        ' Set pattern.
    regEx.IgnoreCase = True      ' Set case insensitivity.
    regEx.Global = True          ' Set global applicability.
    Set Matches = regEx.Execute(strng)    ' Execute search.
    i = 1
    For Each Match In Matches    ' Iterate Matches collection.
    	ReDim Preserve aItems(i)
    	aItems(i-1) = Match.Value
		RetStr = RetStr & "Installed Hotfix :'" & Match.Value & "'." & vbCrLf
		i = i + 1
    Next
    counter = counter + 1
    If counter = 1 Then 
        RegExpTest = aItems
    Else
        RegExpTest = retStr          ' Return result.
        i = i - 1
		ArrCurrDirNumbers = i
    End If
End Function
Message = RegExpTest(patrn, oDirs) & vbCrLf & vbCrLf &_
"Automaticaly Uninstall All hotfix ?"& vbCrLf &_
"Note:To manual uninstall hotfix click """"No"""" "
result = MsgBox (Message, vbYesNoCancel + vbQuestion, Title)
Dim Text1, Text2, Text3, Text4, Text5
Text1 = "Click ""Ok"" to delete All hotfix"
Text2 = "Deleting hotfix Done." & vbCrLf &" Reboot System !"
Text3 = "Delete These hotfix : "
Text4 = "Deleting these HF Done !"
Text5 = "Bye !!!"
Dim n
n = 0
On Error Resume Next
Dim oFilePath
If Err.Number <> 0 Then
	MsgBox "Value doesn't exist"
	WScript.Quit
End If
Select Case result
	Case vbYes
	result = MsgBox (Text1, vbOkCancel + vbInformation, Title)
		If result = vbOk Then
		Do While n < ArrCurrDirNumbers
			oFilePath = oFolders & "\" & ArrCurrDir(n) & "\hotfix.exe /y /m /z"
			If (Not fso.FileExists("oFilePath")) Then	
				errCode = WshShell.Run(oFilePath, 1, True)
				WScript.Echo "Error code received: ", errCode
			End if			
			n = n + 1
		Loop
		WScript.Echo Text2
		end If  
	Case vbNo
	Dim counter1
		Do While n < ArrCurrDirNumbers
			oFilePath = oFolders & "\" & ArrCurrDir(n) & "\hotfix.exe /y /m /z"
			result = MsgBox (Text3 & Left(Right(ArrCurrDir(n),7),6) & " ?", vbOkCancel + vbQuestion, Title)
			If result = vbOk Then
				If (Not fso.FileExists("oFilePath")) Then
					errCode = WshShell.Run(oFilePath, 1, True)
					WScript.Echo "Error code received: ", errCode
	 				Counter1=Counter1 + 1
					WScript.Echo Text4
				End If 
			end If 
			n = n + 1
		Loop
		If Counter1 > 0 Then
			WScript.Echo Text2
		
		Else
			WScript.Echo Text5
		End If
	Case 2
	WScript.Echo Text5
End Select
]]>
	</script>
</job>


---
А зачем их удалять? Разве Service Pack не разрулит всё как надо? 01.09.02 10:00  
Автор: HandleX <Александр М.> Статус: The Elderman
<"чистая" ссылка>
Может и не разрулить,... 01.09.02 17:39  
Автор: babay <Andrey Babkin> Статус: Elderman
<"чистая" ссылка>
дело в том что даже в форме заказа фикса микрософт прежупреждает о том, что сервиспак может не встать или работать некорректно поверх хотфикса.
Да и потом - береженого бох бережет, если уж они совсем недавно исправили ошибку создания программой hotfix.exe файлов в папке %systemroot%\system32\dllcache с атрибутами read only, из чего этого следует наверно понятно ?
Да и собственно софтина update.exe отсутствием глюкавости не отличается, в одном только SP3 в неё внесли 6 - 7 исправлений.

Сам столкнулся с ситуевиной когда после установки сервиспака оставались записи о некоторых не дэинсталираванных хотфиксах, мне не понравилась ситуация - решил ставить на вычищенную тачку, вот собственно в чем дело было.
К разговору о hotfix-ах 01.09.02 19:17  
Автор: mc Статус: Незарегистрированный пользователь
<"чистая" ссылка>
MS предлагает программулину Baseline Analizer, которая тестит на предмет наличия/отсутствия обновлений и предлагает свои услуги по их установке. И в том числе позволяет тестить машины домена с сервера. Но вот незадача, при тестировании сети говорит не нашла никого и при этом указывает ип и полное имя. Описание все посвещено кнопкам, ничего конкретного. Кто-нибудь пробовал такую прогу?
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach