Архив

Архив раздела ‘Саморазвитие’

Ищем папки куда у нас нету доступа

4 Февраль 2010

Продолжаю выполнение чужих просьб :) В этот раз попросили сделать следующее. Есть файловый сервер и на нем бордак с правами и наследование отсутствует. Нужно найти все папки где в пермишенах нету определенной группы/пользователя. Во время написания скрипта обнаружилось две проблемы. Первая заключалась в том, что нашлись папки куда у администратора вообще доступа не было. Так же нашлись папки с путем больше 256 символов. По этому был добавлен обработчик ошибок который проблемные папки выводит в два файлика для дальнейшего разбирательства. Вот собственно и сама функция:

Function Get-NotPermissions ($path,$group,$error_rights,$error_long) {
#--- очищаем лог ошибок
    $error.Clear |out-null
#--- рекурсивно перебираем все папки
    foreach ($item in Get-ChildItem -LiteralPath $path -Recurse -Force -ErrorAction  SilentlyContinue -ErrorVariable error_mass | Where-Object {$_.PSIsContainer}) {
#--- создаем массив с разрешениями
        $groups = ($item.PSPath |get-acl).Access | select -expandproperty IdentityReference
#--- проверяем есть ли в массиве интересующая нас группа
        if ($groups -notcontains $group) { '"'+$item.fullname+'"'}
    }
   
#--- проверяем существует ли файл и если чего удаляем его
    if (Test-Path $error_rights) {Remove-Item -Path $error_rights -Force -Confirm}
    if (Test-Path $error_long) {Remove-Item -Path $error_long -Force -Confirm}
   
#--- обрабатываем полученные ошибки
    foreach ($item in $error_mass ) {
#--- нету доступа
        if ($item.CategoryInfo.Reason -eq 'UnauthorizedAccessException') {
            '"' + $item.TargetObject + '"'  |Out-File -Encoding 'Unicode' -FilePath $error_rights -Append
        }
#--- длинный путь, больше 256 символов
        elseif ($item.CategoryInfo.Reason -eq 'PathTooLongException') {
            '"' + $item.TargetObject + '"'  |Out-File -Encoding 'Unicode' -FilePath $error_long -Append
        }
    }
}

Ну и конечно пример запуска:

Get-NotPermissions -path '\\titan\C$\Bin\tmp' -group 'isea\abigor' -error_rights 'D:\error_NTFS.txt' -error_long 'D:\error_long_NTFS.txt'

Функция поиска старых файлов

14 Январь 2010

Попросили у меня совета как можно найти в папке созданные 10 дней назад файлы и удалить их. Подумав у меня родилась вот такая простенькая функция:

Function Search-OldFiles  {
    param ($day,$path,[switch]$search)

    $help = @"
`n
`t Надо использовать следующий синтаксис функции:
`t -day - задаем кол-во дней
`t -path - указываем путь
`t -search - указываем, что необходимо только найти файлы (по умолчанию они удаляются)
`t------------------------------------------------------------------------------------
`t Пример:
`t Search-OldFiles -day 2 -path 'D:\Games' -search
"
@
#--- проверяем существование параметров функции
    if (!($day) -or !($path) ) {write-warning $help; return}
#--- рукурсивно просматриваем папки и выбираем файлы 
    foreach ($item in Get-ChildItem -LiteralPath $path -Recurse -Force | Where-Object {!$_.PSIsContainer}) {
#--- сравниваем дату создания файла
        if ((Get-Date).adddays(-$day) -ge $item.CreationTime)  {
#--- в зависимости от ключа search просто ищем или удаляем      
            if ($search) { '"' + $item.fullname + '"' }
            else { $item.fullname | Remove-Item -Force -WhatIf }
        }
    }
}

Десятая встреча MCP клуба

25 Декабрь 2009

На десятой (2009.12.24) юбилейной для нас встрече я был докладчиком на тему «System Center Configuration Manager и инвентаризация на предприятии». Все прошло отлично. Для себя я понял, что второй мой доклад прошел уже на много лучше, не смотря на то что я готовился к нему в последние дни, тут я уже рассказывал более спокойнее, увереннее и меньше запинался. Волнения почти не было. Единственный минус какой был, я не все смог реализовать на стенде и по этому не все показал, но максимально постарался про это рассказать. Жаль конечно, но в этом я виноват опять же сам, так как готовился по свой привычке в последний день :)
Так же выкладываю свою презентацию. Хотя она конечно не на столь крутая как первая, но думаю может кому пригодится.

Author: abigor Categories: Новости, Саморазвитие Tags:

Microsoft Certified Professional

14 Ноябрь 2009

Всем привет, вчера 13.11.09 в 13.00 по иркутскому времени я стал Microsoft Certified Professional он же MCP в простонародье. Добиться этого я смог сдав экзамен 70-290. Сегодня я получил два письма из которых я узнал свой MCP ID под номером 7215719 :) и код активации.
Зарегистрировавшись на https://mcp.microsoft.com/mcp я узнал страшную для себя новость :( Она заключается в том, что бумажные сертификаты теперь не высылаются, пластиковые карты отменили. Бумажный сертификат правда все еще можно заказать, что я и сделал.
Теперь готовлюсь к следующему экзамену. Надеюсь так же сдать его с положительным результатом.

Author: abigor Categories: Саморазвитие Tags:

Перенос WSUS сервера на другой сервер.

9 Ноябрь 2009

Попросил меня тут товарищ развернуть сервер WSUS у него на халтуре по средством копирования скаченного контента на моей работе, так как у него трафик платный, а за раз утянуть 17-20 гигов у него нету возможности. По этому он обратился ко мне за помощью. Первой же мыслю как это не странно было зайти на technet. Там как раз оказалась дока на тему: «как провести синхронизацию между двумя WSUS серверами без сетевого подключения». В этом случаи все оказалось достаточно просто. Для этого нужно воспользоваться имеющийся в комплекте утилитой. По этому опишу ход действий:

1. cd "C:\Program Files\Update Services\Tools"
2. wsusutil.exe export export.cab export.log (Экспортирует метаданные обновления (но не файлы содержимого, одобрения
или параметры сервера) в файл экспортного пакета.)
этого пакета на другой WSUS-сервер позволяет выполнить синхронизацию
3. Создаем бекап папки где лежит сам скаченный контент
4. На новом сервере устанавливаем новый WSUS сервер, пропускаю запрос мастера на настройку.
5. Разворачиваем бекам в папку с контентом нового WSUS, не забываем поправить права если просто копировали.
6. wsusutil.exe import export.cab export.log (Импортирует метаданные обновления (но не файлы содержимого, одобрения
или параметры сервера) на этот сервер.)
7. Дальше запускаем оснастку WSUS и настраиваем что вам необходимо

Вот в общем и все. В итоге мы получили сервер скажем в филиале, где не надо скачивать по новой все 17-20 гигов обновлений.
В общем все хорошо, но тут у меня появилась мысль, а не перенести ли наш корпоративный сервер в виртуальную машину на Hyper-V раз такая пьянка пошла. Только вот не хочется опять ждать присоединения всех машин в сети и по новой тыкать одобрения. Начал по этому искать выход. Он оказался достаточно простой:

1. На новом сервере устанавливаем WSUS и так же отказываемся от мастера.
2. С помощью SQL Server Management Studio делаем бекап базы и логов на основном сервере.
3. Остановив службу Update services на исходном сервере, копируем скаченный контент на целевой сервер
и кладем куда следует. Так же не забываем про права и про то, что на целевом сервере служба Update services
так же должна быть выключена.
4. Импортируем новую базу SUSM
5. Запускаем службу Update services на целевом сервере
6. Если папка с обновления на целевом сервере совпадает с местом на исходном, то ни чего делать не надо,
если нет, то командуем wsusutil movecontent "D:\WSUS Updates" -skipcopy (Вот тут странно как-то получилось. Когда я
пробовал так сказать на кошках. У меня не заработала без этого. А когда уже все переносил все подхватилось само.)
7. wsusutil reset

После этого можно запустить оснастку управления WSUS сервером и у вас должна получиться копия исходного сервера.

Так же последний, и думаю самый правильный способ. Это сделать следующее. Открыть оснастку WSUS открыть «Параметры -> Источник обновлений и прокси-сервер». Установить переключатель в «Синхронизировать с другим сервером Windows Server Update Services», указать старый исходный сервер, и установить флажок «Данный сервер является репликой вышестоящего сервер» После репликации возвращаем флаг на «Синхронизировать с центром обновления Microsoft»

Вот такими путями можно переносить wsus сервер. Если я где-то не прав или допустил не точности, прошу поправить в комментариях.

Author: abigor Categories: Работа, Саморазвитие Tags:

Установка FreeBSD с диска LiveFS

9 Сентябрь 2009

Предыстория. У меня есть сервер с 4 гигабайтами памяти. В дальнейшем предполагается нарастить ее до 8 гигабайт. По этому будем ставить amd64. Так же как не смешно, у меня нету установочного диска с этой версией FreeBSD. Но есть LiveFS диск «7.2-RELEASE-amd64-livefs.iso». Так же в сети есть свой cvsup сервер на котором так сказать есть все исходники. По этому в планах:
1. загрузиться с диска
2. разметить винчестер и смонтировать его
3. создать в памяти раздел
4. скачать src мира и собрать его в памяти
5. установить собранный мир на винчестер
Это предварительный план чего хочется сделать. Так же зачем это все делается? Конечно можно просто с ftp скачать установочный диск и забыть о таких проблемах. Можно создать загрузочную флешку и установить все с нее. Можно по сети подмапить src и собрать на ней же. Но хочется получить experience и заработать levalup так сказать :) Читать далее…

Мой первый доклад

В четверг (25.06.2009) я прочитал свой первый доклад на четвертой встрече MCP клуба. Встреча проводится каждый последний четверг месяца. Вход свободный, надо только зарегистрировать свое желание посетить MCP клуб. Сделать это можно на сайте «Эксперт-Консалт». Доклад я читал на тему «Виртуализация — миф или реальность?» Речь в нем шла о новой системе виртуализации на основе Windows Server 2008. Данная система называется Hyper-V. Она доступна в двух вариантах. Первый это роль на сервере на Windows Server 2008 x64, а второй это бесплатная версия Microsoft Hyper-V Server 2008. Это по сути обычный Windows Server 2008 Core с единственной предустановленной ролью Hyper-V. При этом добавить еще какую-то роль не возможно. Так же на эту реализацию накладывается достаточно много ограничений по возможностям. Я имею введу про поддерживание большого количества памяти, процессоров и одновременно запущенных экземпляров виртуальных машин. Второй вариант это использовать просто Windows Server 2008 x64 в любом режиме установки. Добавить роль Hyper-V, при этом если на сервере установлена только одна роль Hyper-V, то есть некие так сказать бонусы в лицензировании.
Ну и про сам доклад, к сожалению записи нету. Начиная со следующей встречи, производить запись доклада будет обязательной :) У меня же есть только презентация. Загрузить ее можно от сюда:

В ней я рассказал о том какие выгоды приносит для компании внедрение виртуализации. Привел какие типы виртуализации предлагает нам Microsoft. Остановился на виртуализации по средствам Hyper-V, Объяснил его структуру, как проходит взаимодействие «корневого раздела» с «дочерними разделами». и так далее. Кратко рассказал о самых интересных возможностях, которые добавятся с выходом Windows Server 2008 R2. В общем доклад получился кратким обзором возможности Hyper-V. Дальше было очень много заданных вопросов которые увы не записаны. Можно сказать, что народу очень интересна тема виртуализации, но не все ее могут попробовать. Я же старался как можно четче дать ответ и по возможности привести пример.
Я для себя сделал вывод следующий, что мне все же надо репетировать речь доклада, Так как я слишком часто запинался и сбивался.. Мне самому не понравилось в итоге как я прочитал доклад, но это ощущение сгладили вопросы :) По этому у меня только положительные ощущения от данного мероприятия и я с удовольствием возьмись за следующий доклад, надо только определиться с темой.

Author: abigor Categories: Саморазвитие Tags:

MCP клуб.

30 Апрель 2009

Сегодня я стал участком MCP клуба Microsoft в городе Иркутск. MCP это аббревиатура от Microsoft Certified Professional (рус. Сертифицированный профессионал Microsoft). Я правда пока не являюсь таковым, но стремлюсь к этому. Грубо говоря это клуб по интересам, где делаются доклады по продуктам компании Microsoft. При чем докладчики не всегда являются сотрудниками MSFT. Здесь на оборот поощряется если докладчиком выступает член клуба. После доклада можно задавать вопросы докладчику, развивать дискуссии на интересующие темы среди коллег ножа и топора, тем самым повышая свой профессиональный уровень и уровень коллег. Для меня это было первым посещением этого клуба, а для клуба, это уже второй сбор. За это отдельное спасибо товарищу Дмитрию Воцке за создание данного клуба на технической базе компании ООО «Топ эксперт». Пока у меня только положительные эмоции от данного мероприятия. Жду последнего четверга месяца мая для посещения следующего MCP клуба.
Основатель данного движения Алексей Майоров подарил участникам клуба вот такой баннер чтобы была возможность показать свое причастие к движению.

Author: abigor Categories: Саморазвитие Tags:

Мой первый сертификат

30 Апрель 2009

Сегодня я получил свой первый сертификат в жизни удостоверяющий мои знания в сфере IT технологий. Получил я его проходя онлайн сертификацию на сайте RetraTech. Правда сразу хочу покается, сдал я его не с первого раза. Тест содержал некоторые вопросы с задачами, реализацию которых мне делать не приходилось. Будь то: «Как подмонтировать первую сессию на cd диске» и т.д. Так же балл сдачи то же не высок, конечно хотелось большего. А вообще опыт только положительный. Есть к чему стремиться так сказать.
Вот он мой первый сертификат:
«Системное администрирование FreeBSD»


Так же ради интереса сдал на «Пользователь ПК».


Тут я получил достаточно хорошую оценку, хотя конечно хотелось на оборот. Я думал, что больше знаю о работе FreeBSD. Так что буду углублять свои знания! :)
Если у кого есть желание поздравить, то принимаю поздравления в комментарии!

Author: abigor Categories: Саморазвитие Tags: