Ru-Board.club
← Вернуться в раздел «В помощь системному администратору»

» Windows Server Update Services (WSUS & SUS)

Автор: levkadub
Дата сообщения: 03.02.2006 02:08

Цитата:
WSUS \Options\Synchronization Options\ Schedule
что там настроено? Manual ?

да manual.
Автор: gretis
Дата сообщения: 03.02.2006 06:01
Листал по теме, но просмотрел далеко не все. Полезностей много, но в моих вопросах поиск не помог. Непонятки с WSUS обновлением.
1. Висит одно обновление как "неодобренное", а когда пытаешься в обновлениях его найти, список пуст. После поднятия дочернего WSUS и синхронизации по родителю снова одно остается скрытым и неодобренным.
2. Между двумя серваками связь в 10MBit - подозреваю, проблема в этом. Не хочет ни autoupdate работать, ни дочерний WSUS стягивать обновления - уже третьи сутки стоит "Загружено 0,00 из ... МБ". Поднять 100MBit почему-то не получается. Дочерний сервак - резервная копия по сути, поднят на VMWare, доменных отношений нет. Задумывался как мобильная, легко перемещаемая версия сервака с обновлениями и резервная копия WSUS'а. Почему в виртуалке связь 10ка понять не могу. Пробовал переставлять как VMWare до последней версии, так и операционку (W2k3 SP1)
3. На сервере поднят Citrix MF. Его служба Citrix XML Service стартует на 80м порту, WSUS для работы autoupdate тоже просит 80й порт. Цитрикс с IIS никак не связан. Пришлось опустить временно сервис Citrix. Кто-нибудь работал в такой связке? Удавалось кому-нибудь подружить autoupdate с другим (8530?) портом?

P.S.: Поскольку виртуальный сервак задумывался только для обновлений, может быть, как-то можно поднять порог BITS?
Автор: G14
Дата сообщения: 03.02.2006 06:56
levkadub

Цитата:
да manual.

Подтверди эти апдейты и либо скачай сам (кнопкой Synchronize Now), либо настрой автосинхронизацию по расписанию (в Synchronization Options\ Schedule).
Почитай Operations Guide выложеный в шапке.

Автор: n1ckT
Дата сообщения: 03.02.2006 08:44
gretis
2. Обновления физически качаются на сервер только если они одобрены и тренбуются клиентам. Без этих условий выкачиваются только описания обновлений.

3. Поднять на 8530 можно, но при этом на веб сервере, который держит 80-й, должен быть каталог selfupdate. А вообще, с цитриксом много проблем. Точно знаю, что не стОит обновлять сервера, потому что цитрикс слетает..
Автор: FreemanRU
Дата сообщения: 03.02.2006 09:16
BULLDOG

Цитата:
2.) Установить как обычно, а потом в параметрах синхронизации в меню "Источники обновления" указать "Синхронизовать с вышестоящим сервером Windows Server Update Services" и работать как с обычным сервером WSUS.

А ты так пробовал? У меня при попытке синхронизации со второго получает 403 (отказано в доступе).Оба сервера в одном домене.

Вопрос снимается. Добрые дяди линуксоиды обрезали доступ на прокси.
Автор: BULLDOG
Дата сообщения: 03.02.2006 09:23
gretis

На сколько я понял, ты одобрил/отклонил все обновления, а одно так и висит в неодобренных, но его там не видно. Просмотри внимательно все категории обновлений. В колонке "Одобрение" у одного должно быть что-то вроде "пакетный", точно уже не помню. У меня было 2 раза.

Добавлено:
n1ckT

Цитата:
Обновления физически качаются на сервер только если они одобрены и тренбуются клиентам.


Не согласен, достаточно их только одобрить. Я загружал обновления для программ, которых нет у меня в сети, т.е. не требуются клиентам.

Добавлено:
Весили они до нескольких сот мегабайт, описания столько не весят.
Автор: n1ckT
Дата сообщения: 03.02.2006 09:49
BULLDOG
странно.. проверю.
Автор: gretis
Дата сообщения: 03.02.2006 10:17

Цитата:
2. Обновления физически качаются на сервер только если они одобрены и тренбуются
клиентам. Без этих условий выкачиваются только описания обновлений.

Достаточно одобрить обновление на установку, чтобы оно начало качаться.


Цитата:
3. Поднять на 8530 можно, но при этом на веб сервере, который держит 80-й, должен быть каталог selfupdate.

Угу, только с цитриксом не берет мир меня и где эти ХМЛ лежат у него - понятия не имею. поискать разве, попробовать туда подложить...


Цитата:
А вообще, с цитриксом много проблем. Точно знаю, что не стОит обновлять сервера, потому что цитрикс слетает..

Тьфу-тьфу-тьфу, живой пока... правда, не так много обновлений накатывал на него таким образом

Кто-нибудь имел опыт поднятия полосы BITS или работы WSUS на 10мбитах?
Автор: PRiM
Дата сообщения: 03.02.2006 12:48
Народ такая беда. Сегодня перестал запускаться WSUS на серваке, ни ошибок, ничего... просто перестал ни с того ни сего открывать консоль администратора. Поставил новый WSUS на сервак с ISA2004. Можно каким-нибудь образом перенести файлы с апдэйтами (около 3Гб) и подключить к новому WSUSу. Естественно синхронизацию со старым никак ни настроить.
Автор: gretis
Дата сообщения: 03.02.2006 12:58

Цитата:
перенести файлы с апдэйтами и подключить к новому WSUSу

Остановить MSSQL$WSUS и Update, забэкапить папки с базой и обновлениями, подложить новому, запустить сервисы на новом.
Автор: PRiM
Дата сообщения: 03.02.2006 13:07
gretis
А если имена различаются?


Добавлено:
Проблема решилась.
Оказалось, что на старом серваки сбились часы и он выпадал из домена.
Автор: biakus
Дата сообщения: 03.02.2006 14:30
Покопался тут немного в этом WSUSе вот результат:


Цитата:
#!/usr/bin/perl -w
#
# Name: WSUSExtractor.pl
#
# Purpose: Extract latest or all updates from WSUS.
#
# Syntax: WSUSExtractor.pl
#
# Version: 1.0
#
# Requirements: Windows 2000+
# ActivePerl 5.8.7 buld 815 or higher from www.ActiveState.com
# osql.exe Utility (included in MSDE)
# WSUS on MSDE
#
# Author: biakus
#


use strict;
use locale;
use IO::File;
use File::Path;
use Win32::Registry;

$|=1;

my $ppid;
my $fpid=open_pid_file("WSUSExtractor.pid");
print $fpid $$;
close($fpid);
# warn("Starting script (pid=$$)\n");

###########################################################################################
# Tunable params
###########################################################################################

my $root = "C:\\WSUS\\FtpRoot"; # your dir for files (volume must be the same at WSUS content folder for NTFS hardlinks)
my $is_latest = 1; # Is all updates extract or latest only
my $update_langs = " 0,1033,1049 "; # comma separated languageIDs of extracting updates (0-all,1033-en,1049-ru,..%lang)
my $descr_lang = "ru"; # short language of titles and descriptions of updates (en,ar ..)

my $db_name = "SUSDB";
my $content_dir = ""; # WSUS content folder
my $server_name = ""; # WSUS SqlServerName
my $tmpfile = "query.sql";

###########################################################################################

my @rec = ();
my $col;
my $query;
my $cmd;

###########################################################################################
# Huge SQL query temporary save to file
###########################################################################################
my $latest_str = "";
if ($is_latest) { $latest_str = " AND tbRevision.IsLatestRevision = 1 ";
         print "\nStart extracting latest updates\n"; }
else {         print "\nStart extracting all updates\n"; }

open (SQL, ">$tmpfile");
print SQL qq {
SELECT C2.CategoryID, C3.CategoryID, RC4.CategoryID, tbRevisionLanguage.LanguageID,
tbFile.FileName, tbFile.FileDigest
FROM tbCategory AS C1
INNER JOIN tbCategory AS C2 ON C1.CategoryID = C2.ParentCategoryID
INNER JOIN tbCategory AS C3 ON C2.CategoryID = C3.ParentCategoryID
INNER JOIN tbCategory AS C4 ON (C4.ParentCategoryID IS NULL AND C4.CategoryID != 7 )
INNER JOIN tbRevisionInCategory AS RC3 ON ( C3.CategoryID = RC3.CategoryID )
INNER JOIN tbRevisionInCategory AS RC4 ON ( RC4.RevisionID = RC3.RevisionID AND RC4.CategoryID = C4.CategoryID )
INNER JOIN tbBundleDependency ON RC4.RevisionID = tbBundleDependency.BundledRevisionID
INNER JOIN tbPreComputedLocalizedProperty ON ( tbPreComputedLocalizedProperty.RevisionID = tbBundleDependency.RevisionID )
INNER JOIN tbRevision ON ( tbRevision.RevisionID = RC4.RevisionID $latest_str )
INNER JOIN tbFileForRevision ON ( tbFileForRevision.RevisionID = RC4.RevisionID )
INNER JOIN tbRevisionLanguage ON ( tbRevisionLanguage.RevisionID = tbFileForRevision.RevisionID )
INNER JOIN tbFile ON ( tbFile.FileDigest = tbFileForRevision.FileDigest )
WHERE ( tbRevisionLanguage.Expanded = 0 AND tbRevisionLanguage.LanguageID IN ( $update_langs )
AND tbPreComputedLocalizedProperty.ShortLanguage like '$descr_lang' )
ORDER BY tbFile.Modified };

close(SQL);

###########################################################################################
# Find WSUS content folder and SQL server address
###########################################################################################

my $reg;
$::HKEY_LOCAL_MACHINE->Open("SOFTWARE\\Microsoft\\Update Services\\Server\\Setup", $reg)
or die "Can't open registry: $^E";
$reg->QueryValueEx("ContentDir", $col, $content_dir) or die "Cannot find WSUS content folder in registry: $^E";
$content_dir = $content_dir."\\WsusContent";
# print "Here's a dir: $content_dir\n";

$reg->QueryValueEx("SqlServerName", $col, $server_name) or die "Cannot find WSUS content folder in registry: $^E";
$server_name =~ s/%computername%/$ENV{computername}/;
# print "Here's a server name: $server_name\n";

###########################################################################################
# Put to hash Microsoft WSUS languages
###########################################################################################
my %lang = ();
$query= "SELECT LanguageID, ShortLanguage FROM tbLanguage";
$cmd = "osql.exe -w 500 -h-1 -s# -n -E -d $db_name -S $server_name -Q \"$query\" 2>nul |";

open (DAT, $cmd);
    while(<DAT>) {
        chomp;
#        print $_."\n";
    if ( @rec = split(/#/) )
            { foreach $col (@rec) { if( $col =~ /^\s*(.+?)\s*$/ ) {$col = $1;} } }
        else { last; }
        $lang{$rec[0]} = $rec[1];
#        print $rec[0]."\t".$rec[1]."\n";
    }
close(DAT);

###########################################################################################
# Put to hash Microsoft WSUS categories
###########################################################################################
my %ctg = ();
$query= "SELECT CategoryID, Title FROM tbPrecomputedCategoryLocalizedProperty WHERE ( ShortLanguage like 'en') ";
$cmd = "osql.exe -w 500 -h-1 -s# -n -E -d $db_name -S $server_name -Q \"$query\" 2>nul |";

open (DAT, $cmd);
    while(<DAT>) {
        chomp;
    if ( @rec = split(/#/) )
            { foreach $col (@rec) { if( $col =~ /^\s*(.+?)\s*$/ ) {$col = $1;} } }
        else { last; }
$rec[1] =~ s/\s+|\//_/g;
        $rec[1] =~ s/\W//g;
        $ctg{$rec[0]} = $rec[1];
    }
close(DAT);

###########################################################################################
# Processing Microsoft WSUS database and save files
###########################################################################################

my $srcfile;
my $dstfile;
my $path;
my $counter = 0;

$cmd = "osql.exe -w 5000 -h-1 -s# -n -E -d $db_name -S $server_name -i $tmpfile 2>nul |";
print "\nProcessing..\n";
open (DAT, $cmd);
    while(<DAT>) {
        chomp;
#        print $_."\n";
    if ( @rec = split(/#/) )
            { foreach $col (@rec) { if( $col =~ /^\s*(.+?)\s*$/ ) {$col = $1;} } }
        else { last; }

        if ($rec[4] =~ m/.(\w+)$/ ) { $srcfile = $1; }
        if ($rec[5] =~ m/^0x(\w{38})(\w{2})$/){ $srcfile = "$content_dir\\$2\\$1$2.$srcfile"; }
        $path = $root."\\".$ctg{$rec[0]}."\\".$ctg{$rec[1]}."\\".$ctg{$rec[2]}."\\".$lang{$rec[3]};
        if (! -e $path) { mkpath($path, 0, 0777) or die "Can't create dir: $^E\n";}
        $dstfile = $path."\\".$rec[4];
        if (hardlink($srcfile, $dstfile, 1)) { $counter += 1; }
    }
close(DAT);

print "\nTotal matching updates in database: $counter\n";

unlink($tmpfile) or die "Cannot unlink tmpfile: $^E";

warn "\nSuccess\n";

###########################################################################

###########################################################################################
# POSIX NTFS hard link to file
###########################################################################################
sub hardlink {
my $exist_file=shift;
my $new_file=shift;
my $is_rewrite = shift;

if(-e $new_file && $is_rewrite)
    { unlink ($new_file) or return 0; }

link ( $exist_file, $new_file ) or return 0;

return 1;
}

###########################################################################################
# pid processing
###########################################################################################

sub open_pid_file {
my $file=shift;

if(-e $file) {
my $fh=IO::File->new($file) or die "Can't open PID file $file: $^E";
$ppid=<$fh>;
die "Invalid PID file" unless $ppid=~ /^(\d+)$/;
die "Process already running with PID $ppid" if(kill 0 => $ppid);
warn "Removing PID file for defunct process ($ppid).\n";
die "Can't unlink PID file $file" unless -w $file && unlink $file;
}
$ppid=$$;
return IO::File->new($file,O_WRONLY|O_CREAT|O_EXCL,0644)
or die "Can't create $file: $^E\n";
}
###########################################################################################

END {
unlink "WSUSExtractor.pid" or die "Can't unlink PID file: $^E";
# warn("Stoping script (pid=$$)\n");
}


__END__


Автор: JonPank
Дата сообщения: 03.02.2006 16:01
Привет.
Проблемка поставил WSUS,хотел выбрать чтоб скачивал обновления для Windows (2000, XP, 2003),Internet Explorer (5.x, 6.x) ,Office (XP, 2003),Exchange Server (2000, 2003),SQL Server (2000).А у меня в списках только Windows (2000, XP, 2003),где косяк.На другом сервере ставил всё нормально было.


Добавлено:
Вопрос снимается,разобрался.
Автор: dr00pyskull
Дата сообщения: 03.02.2006 23:42
всем привет.
проблемка такая...
установил wsus, синхронизировал. стал мигрировать контент командой wsusutil.exe migratesus /content c:\content /log migr.log

но ничего не происходит
в логе пишет следующее:

2006-02-03T21:36:12Z    Started migration of content from c:\content
2006-02-03T21:36:12Z    Error: Отказано в доступе по пути "C:\WINDOWS\TEMP\tmp1C4.tmp".
2006-02-03T21:36:12Z    Content migration complete. 0 files migrated

что может быть не так?
спасибо.
Автор: Ykidia
Дата сообщения: 04.02.2006 11:02
Может, кому пригодится. Моя проблема, описанная здесь вроде решена после раскопок в групповых политиках. Там я указывал состояние запуска некоторых служб для всех компов в домене, в том числе и для указанных служб (автоматическое обновление, интеллектуальная служба фоновой передачи данных BITS, теневое копирование тома). Указывая режим запуска "автоматически", я любопытствовал и нажимал кнопочку изменения безопасности. Там я ничего не трогал, но при выходе автоматом устанавливались какие-то права доступа по умолчанию, которые, видимо, для данных служб были критичны (несовместимы).
Для исправления сего вызываются свойства нужной службы в групповых политиках (Конфигурация компьютера -> Конфигурация Windows -> Параметры безопасности -> Системные службы), галочка "Определить следующий параметр политики" снимается и снова ставится, заново выбирается тип запуска. И без надобности, просто чтобы "посмотреть", выбирать "Изменить безопасность" не рекомендуется.
Без надобности вообще не рекомендуется что-либо делать
Автор: dr00pyskull
Дата сообщения: 04.02.2006 12:49
проблему решил.
мигрировал.
синхронизировал. быстро надо сказать, буквально за 5 сек.
а теперь что? где этот контент? в обновлениях если одобрить, то он качает с инета...
если так и должно быть, то какой толк от мигрирования?

спасибо.
Автор: ViktorVal
Дата сообщения: 04.02.2006 13:50
2 dr00pyskull

После одобрения он должен использовать существующие.

Пишет для "нужно ннн файлрв объемом ммм Мб", Но берет локальные.
Качать с нета не должен.
Автор: gretis
Дата сообщения: 05.02.2006 13:45

Цитата:
1. Висит одно обновление как "неодобренное", а когда пытаешься в обновлениях его найти, список пуст. После поднятия дочернего WSUS и синхронизации по родителю снова одно остается скрытым и неодобренным.

Действительно оно было со статусом "в пакете". Обновление называлось Update Rollup For Exchange 2000 Server (KB870540). Спасибо за помощь
Автор: BULLDOG
Дата сообщения: 06.02.2006 08:23
gretis


"В пакете" может быть любое обновление. У тебя браузер во время изменений одобрения не подвисал?
Автор: gretis
Дата сообщения: 06.02.2006 08:36
BULLDOG

Цитата:
браузер во время изменений одобрения не подвисал?

Тьфу-тьфу-тьфу...

Есть ли у кого из Новосибирска обновления для Office/Project? В обмен на актуальные обновления ОС
Автор: BULLDOG
Дата сообщения: 06.02.2006 08:43
Странно, у меня 2 раза подвис. Я долго ждал, потом закрывал его. Когда открывал, такая вот фигня получалась. По другой причине таких проблем не возникало.

Добавлено:
dr00pyskull

Скопируй папку WSUS с другого сервера.
Автор: levkadub
Дата сообщения: 06.02.2006 11:55
G14


Цитата:
Подтверди эти апдейты и либо скачай сам (кнопкой Synchronize Now), либо настрой автосинхронизацию по расписанию (в Synchronization Options\ Schedule).
Почитай Operations Guide выложеный в шапке.


подтверждал, запускал синхронизацию.........
результат тот-же
Автор: BULLDOG
Дата сообщения: 06.02.2006 16:41
levkadub

Попробуй сервер перезагрузить. Может поможет?
Автор: levkadub
Дата сообщения: 07.02.2006 03:19

Цитата:
Попробуй сервер перезагрузить. Может поможет?


не помогает.............

после последней синхронизации таких (незагружаемых) файлов добавилось.

и все они - сервиспаки для project office xp office 2003 и.т.д.
Автор: BULLDOG
Дата сообщения: 07.02.2006 11:07
levkadub

Попробуй "wsusutil.exe reset".
Сбросится статус "загружено" для всех обновлений и начнется загрузка всех обновлений заново. Если уже было загружено, то пометит как загружено, если нет или повреждено - будет грузить с инета или с головного сервера.

Может поможет, не знаю
Автор: levkadub
Дата сообщения: 08.02.2006 02:37

Цитата:
Попробуй "wsusutil.exe reset".
Сбросится статус "загружено" для всех обновлений и начнется загрузка всех обновлений заново. Если уже было загружено, то пометит как загружено, если нет или повреждено - будет грузить с инета или с головного сервера.


загрузка всех обновлений начнется заново? какие обновления ты имеешь ввиду?
те которые не загружаются? или ввобще все?

те которые не загружаются я пробовал повторно загрузить результат тот же.

Добавлено:
Тип события:    Ошибка
Источник события:    Windows Server Update Services
Категория события:    Синхронизация
Код события:    364
Дата:        08.02.2006
Время:        8:11:33
Пользователь:        Н/Д
Компьютер:    WSUS
Описание:
Ошибка при загрузке файла содержимого. Причина: Сервер не поддерживает необходимый HTTP-протокол. Фоновая интеллектуальная служба передачи (BITS) требует от сервера поддержки заголовка диапазона.
Исходный файл: /msdownload/update/v3-19990518/cabpool/mainsp1ff_d32783a408113e35009257177da04d7798d1f7c4.cab Конечный файл: d:\WSUS\WsusContent\C4\D32783A408113E35009257177DA04D7798D1F7C4.Cab

Добавлено:
В чем проблемма?
Автор: BULLDOG
Дата сообщения: 08.02.2006 09:02
levkadub

1) WSUS начнет проверять все обновления загружены они или нет. Если нет, то будет грузить, если да, то не будет. Загруженные обновления никуда не пропадут.

2) Какие-то глюки у тебя, может переставить сервер без удаления папки с обновлениями, если RESET не поможет?
Автор: mavrr
Дата сообщения: 08.02.2006 13:51
Интересная и пока неразрешимая ситуация:
- WSUS пашет отлично, притензий нет
- падает пользовательский комп, тащат к нам, переставляем
- по правилам назначаем имя в домене - И ОНО СОВПАДАЕТ со старым!
- политика клиентом подсасывается, он лезет на WSUS - а тот сравнивает имеющиеся у него логи - И СЧИТАЕТ ЧТО у данного клиента ВСЕ ОБНОВЛЕНИЯ УЖЕ!!! установлены... все... приплыли..
Чего делать?
Выкинули клиента из WSUS ... и тишина... обратно он не лезет..
Кто нит сталкивался? подскажите, где еще поковырять?
Автор: ViktorVal
Дата сообщения: 08.02.2006 14:06
У меня при смене ОС (и регистрации в домене под тем же именем) комп на WSUS регится под тем же именем. Создается 2 записи для компа и обновление идет с использованием новой.
Старую я потом удаляю.

Цитата:
Выкинули клиента из WSUS ... и тишина... обратно он не лезет..

По умолчанию обновляется с интервалом 22 часа.
Используй
wuauclt.exe /resetauthorization /detectnow
для начала нового обновления.
Автор: mavrr
Дата сообщения: 08.02.2006 14:33

Цитата:
По умолчанию обновляется с интервалом 22 часа.

Клиент ломится на WSUS ?

Цитата:
Используй
wuauclt.exe /resetauthorization /detectnow
для начала нового обновления.

Команда на сервере WSUS? или на клиенте?

Добавлено:

Цитата:
У меня при смене ОС (и регистрации в домене под тем же именем) комп на WSUS регится под тем же именем. Создается 2 записи для компа и обновление идет с использованием новой.
Старую я потом удаляю.

Так вот тоже бывало... но в этот раз непонятки как описал выше...

Добавлено:
Похоже решение нашлось:
_http://www.networkdoc.ru/forum/index.php?s=ccbce0c8726b9658dd58b8efa849f4bd&showtopic=4046

батничком

@echo off
Echo Save the batch file "AU_Clean_SID.cmd". This batch file will do the following:
Echo 1. Stop the wuauserv service
Echo 2. Delete the AccountDomainSid registry key (if it exists)
Echo 3. Delete the PingID registry key (if it exists)
Echo 4. Delete the SusClientId registry key (if it exists)
Echo 5. Restart the wuauserv service
Echo 6. Resets the Authorization Cookie
Pause
@echo on
net stop wuauserv
REG DELETE "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate" /v AccountDomainSid /f
REG DELETE "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate" /v PingID /f
REG DELETE "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate" /v SusClientId /f
net start wuauserv
wuauclt /resetauthorization /detectnow
Pause

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Настройка WinRoute 4.x


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.