Ошибка при обновлении BIOS сервера Dell в Windows Server 2012

Если при запуске DUP пакета на сервере Dell PowerEdge 1950 (а возможно и на других моделях) получаете ошибку:

“An error has occurred the Dell Instrumentation Driver (HAPI) could not be loaded.”

то, значит, у вас стоит в Disabled сервис Application Experience. Запустите этот сервис (из-под cmd администратора)

sc config AeLookupSvc start=auto

net start AeLookupSvc

И обновление через DUP должно заработать.

http://geckich.blogspot.com/

Как просмотреть свой Product Key для Windows 2003, 7

Бывает, нужно было посмотреть ключи на лицензионных Windows. Стандартные средства покажут в лучше случае 5 последних символов (slmgr /dli), а в случае с Win2003 slmgr вообще нет 🙂

Можно использовать сторонние местами платные утилиты… Но лично я им не доверяю и ставить их на сервера не есть хорошая практика. Нашел на просторах Сети скрипт на Visual Basic, который вытягивает ключик из ресстра. Проверено на 2003 и 7.

Создаем текстовый файл в корне какого-то диска для простоты и копируем туда текст:

' Find Product Activation Key on Remote Machine
' Got this from a posting by 'Alatar1' at www.theeldergeek.com
'
' I just added the inputbox - Rob

If Wscript.Arguments.Count = 0 Then
    strComputer = inputbox("Enter a computer name to query the Windows product key from","Enter computer name")
    if strComputer = "" then wscript.quit
Else
    strCOmputer = Wscript.Arguments.Item(0)
End If
Dim Digits (24)
Digits (0) = "B" : Digits (1) = "C": Digits (2) = "D": Digits (3) = "F":
Digits (4) = "G": Digits (5) = "H": Digits (6) = "J": Digits (7) = "K":
Digits (8) = "M": Digits (9) = "P": Digits (10) = "Q": Digits (11) = "R":
Digits (12) = "T": Digits (13) = "V": Digits (14) = "W": Digits (15) = "X":
Digits (16) = "Y": Digits (17) = "2": Digits (18) = "3": Digits (19) = "4":
Digits (20) = "6" : Digits (21) = "7" : Digits (22) = "8": Digits (23) = "9"
Dim HexBuf (100), HexDigitalPID (15)
Set objReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\" & strComputer & "rootdefault:StdRegProv")
objReg.GetBinaryValue &H80000002, "SOFTWAREMicrosoftWindows NTCurrentVersion", "DigitalProductId", HexBuf
' Extract Relevant Section of Digital Product ID

StartOffset = 52 : EndOffset =67
For i = StartOffset to EndOffset
  HexDigitalPID (i-StartOffset) = HexBuf(i)
next

' Convert Encoded Product ID to Activation Key

dLen = 29 : sLen = 15
KEYSTRING =""
for i=dLen-1 to 0 step -1
  if ((i + 1) mod 6) = 0 then
    KEYSTRING = KEYSTRING & "-"
  else
    HN = 0
    For N = (sLen -1) to 0 step -1
      Value = ( (HN *2^8 ) Or HexDigitalPID (N))
      HexDigitalPID (N) = Value 24
      HN = (Value mod 24)
    next
    KEYSTRING = KEYSTRING & Digits(HN)
  end if
next
KEYSTRING2 = StrReverse (KEYSTRING)
WScript.Echo KEYSTRING2

Затем сохраняем это, например, как pk.vbs. и запускаем. В  Windows 2003 можно кликом vsirb, а в 7 – из-под консоли с администраторскими правами. Скрипт попросит имя компьютера, которое берем в свойствах системы (правый клик мышкой по Мой компьютер или [Win + Break]). Вводим имя и через несколько секунд получаем наш ключ полностью.

http://geckich.blogspot.com/

How to conver Windows Server 2012 Evaluation editions to full retail versions

If you installed an evaluation edition of Windows Server 2012 which is free for 180 days and than buy a full version, you must convert Windows edition’s type.

If the server is a domain controller, you cannot convert it to a retail version. In this case, install an additional domain controller on a server that runs a retail version and remove AD DS from the domain controller that runs on the evaluation version. For more information, see http://technet.microsoft.com/en-us/library/hh994618.aspx.

To convert edition do next steps:

1. First, check version. From an elevated command prompt, run

slmgr.vbs /dlv

evaluation versions will include “EVAL” in the output.

2. To see editions available for us to convert, type

DISM /Online /Get-TargetEditions

You will get a list of edition IDs which we will use later.

3. Convertation itself. Run from elevated cmd:

DISM /online /Set-Edition:<edition ID> /ProductKey:XXXXX-XXXXX-XXXXX-XXXXX-XXXXX /AcceptEula

providing the edition ID one from the list we got above and a your retail product key. The server will offer to restart (twice) and all will be done.

Good luck!

http://geckich.blogspot.com/

How to measure network throughoutput and another parameters of Windows machine using NT Testing TCP Tool (ntttcp)

Update.

Для того, чтобы протестировать сеть между двумя Windows-машинами, необбходимо скачать бесплатный инструмент NT TCP Testing tool от Microsoft отсюда.

Скачиваем, распаковываем, например, на диск С: в корень.

Далее на первой машине открываем cmd и заходим в папку соответствующую архитектуре Windows:

cd C:NTttcp-v5.28×64

запускаем в режиме приемника:

NTttcp.exe -r -m 4,0,10.1.2.3 -a 6

где -r – режим приемника,
-m – количество_сессий,Номер_ЦП,IP_этой_машины

На втором ПК/сервере делаем то же самое, только вместо ключа -r указываем ключ -s и IP первой машины.

После того, как тест пройдет, наслаждаемся результатами выведенными в консоль.


Old Article.

Steps to do:

1. Download on both Windows machines NTttcp from MS site: http://msdn.microsoft.com/en-us/library/windows/hardware/gg463264.aspx

2. On both Win machines install NTttcp – installation is straightforward.

3. On both Win machines open CMD and cd to installed program’s dir (for x64 machines add (x86) and path must be in quotes):

cd “C:Program Files (x86)Microsoft CorporationNT Testing TCP Tool”

4. In that dir will be .docx document with instructions. According to it:

To use NTttcp as a receiver, change the name to NTttcpr.exe.

To use NTttcp as a sender, change the name to NTttcps.exe.

So, rename NTttcp_x64.exe (for x64 machine) as described above.

5. Launch receiver side by executing command:
NTttcpr -m 1,0,10.1.2.3 -a 6 -fr
arguments are:
“-m 1,0,10.1.2.3” specifies a single thread bound to CPU 0 that is bound on the receiving computer to IP address 10.1.2.3.
“-a 6” specifies asynchronous data transfer that posts six receive overlapped buffers.
“-fr” directs NTttcp to always post full-length (64 K) receive buffers.
This example uses the following default settings:
A buffer size of 64 KB.
The expected number of buffers to be received of 20,000.
A receiver that starts listening on port 5001.
6. Then execute the sender command and wait for results:
NTttcps -m 1,0,10.1.2.3 -a 2
runs NTttcps with the following explicit settings:
“-m 1,0,10.1.2.3” specifies a single thread bound to CPU 0 that connects to the computer with IP address 10.1.2.3.
“-a 2” specifies asynchronous data transfer that posts two send overlapped buffers.
Results will be like on on pics below:

http://geckich.blogspot.com/

Отключения службы фаерволла в Windows Server 2008 и 2012 без потери доступа по RDP

Если просто остановить службу, то у нас отвалится RDP  и порт 3389 будет блокирован на сервере.
Чтобы этого не допустить, то надо не сразу останавливать службу, а вначале выполнить команды в консоли с правами администратора:
netsh firewall set portopening protocol=TCP port=3389 mode=ENABLE
netsh advfirewall set allprofiles state off

Иначе прийдется бежать за монитором 🙂
http://geckich.blogspot.com/

Восстановление загрузки Windows 7 / Vista

По тем или иным причинам в винде может похериться загрузчик. Такая последоваельность действий поможет его восстановить – и всё будет окей, если сама винда не повреждена.

Имеется в вид, что восстановление из точки не помогает.

1. Настройте параметры BIOS таким образом, чтобы первым устройством загрузки был DVD-привод (во многих биосах при загрузке можно нажать [F11] и единоразово выбрать устройство для загрузки)
2. Вставьте установочный компакт-диск с Windows 7 и загрузитесь с него до этого окна:


3. Щелкните “Восстановление системы” (“Repair your computer”).
4. Выберите операционную систему, которую необходимо восстановить, и нажмите “Далее” (“Next”).

5. В окне “Параметры восстановления системы” (“System Recovery Options”) выберите пункт “Командная строка” (“Command Prompt”).

А вот теперь надо начинать шаманить)

6. Для начала, пробуем команду:
bootsect /NT60 SYS

Вместо SYS можно вставить букве раздела, где лежит ваша винда, если она не определилась автоматически (или по команде bootrec  /ScanOS), например:

bootsect /NT60 d:
7. Перезагружаемся и пробуем загрузиться с hdd. Если получилось – высылаем мне пиво) а если нет, пробуем дальше.

8. Вот неплохая последовательность команд с сайта MS (http://support.microsoft.com/kb/927392):

bcdedit /export C:BCD_Backup
c:
cd boot
attrib bcd -s -h -r
ren c:bootbcd bcd.old
bootrec /RebuildBcd
Далее юзаем:
bootrec  /FixMbr
bootrec  /FixBoot

Перезагружаемся, и если не помогло – значит, не всё так просто. Грузимся с какого-нибудь LiveCD, копируем важные данные с системного раздела и, если нет бекапного образа,  переустанавливаем винду
http://geckich.blogspot.com/

Удаление скрытых драйверов в Windows 2003

Недавно задолбал меня на сервере драйвер, из-за которого периодически сыпались ошибки в ивентлог… Нашел способ его (и не только его) удалить.

Для того, чтобы найти и удалить ненужные драйвера:

1. Нажмите [Windows]+[Break],чтобы вызвать диалоговое окно System Properties (Свойства системы).

2. Перейдите на вкладку Advanced (Дополнительно) и нажмите на кнопку Environment Variables (Переменные среды).

3. Нажмите на кнопку New (Создать) на панели System Variables (Системные переменные).
В диалоговом окне New System Variable (Новая системная переменная) в поле Variable Name (Имя переменной) введите devmgr_show_nonpresent_devices, а в поле Variable Value (Значение переменной) введите 1.

4. Нажмите OK, чтобы вернуться в диалоговое окно System Properties (Свойства системы) и затем ещё раз нажмите OK.

5. Перейдите на вкладку Hardware (Оборудование) и нажмите на кнопку Device Manager (Диспетчер устройств).

6. В меню Диспетчера устройств выберите View | Show Hidden Devices (Вид | Показать скрытые устройства).

7. Раскройте все списки дерева устройств и ищите затемнённые иконки, обозначающие неиспользуемые драйвера.

8. Чтобы удалить неиспользуемый драйвер, щелкните правой кнопкой на соответствующем ярлыке и выберите команду Uninstall (Удалить).

Тема работает на Windows XP и Windows Server 2003 R2. На остальных версиях не проверял, но мне кажется, что скорее всего тоже работать будет.

http://geckich.blogspot.com/

Установка Windows 7 на нетбук

Для этого нам понадобиться 2 вещи – образ самой Windows и программа для записи образа на флеш.

Образ доставайте сами какой вам понравится, а вот программу можно скачать тут: http://www.microsoftstore.com/store/msstore/html/pbPage.Help_Win7_usbdvd_dwnTool

Устанавливаем и запускаем ее, предварительно скопировав всё важное с флешки:

Выбираем ISO образ с виндой.

Выбираем, что мы хотим – USB, конечно.
Выбираем конкретно на какую флеш.

Если попросить отформатировать – нажимаем Yes.

Теперь ждем завершения процесса, затем вставляем флешку в нетбук, выбираем в настройках BIOS загрузку с флешки и устанавливаем Windows как обычно.

http://geckich.blogspot.com/

Как посмотреть Service Tag / Server Tag сервера.

Иногда нужно узнать серийный номер сервера из консоли ОС.
Для Windows:

открываем CMD и нам на помощь прийдут 3 WMI команды:

wmic bios get serialnumber
wmic csproduct get vendor,name,identifyingnumber

Результат будет примерно таким:

IdentifyingNumber    Name                Vendor
ABCDEF1              PowerEdge 2950      Dell Inc.

wmic /user:administrator /node:remote-host bios get serialnumber

а эта комана выводит серийный номер удаленного сервера:

SerialNumber
ABCDEF1

Для корректной работы этих команд должна быть хотя бы в режиме Manual служба Windows Management Instrumentation.

Для Linux:

используем команду

dmidecode -s system-serial-number

Удаление и архивирование файлов в Windows 2003 с помощью PowerShell

Модифицировал предыдущий скрипт.

Теперь он считывает из текстового файла маски файлов, которые надо заархивировать и удалить, затем делает своё черное дело 🙂

Единственный косяк, который пока не понял как устранить – архив уже должен существовать и быть архивом… Т. е. защиты от дурака не получилось у меня. Функция New-Item или как-то так создает файл, но текстовый – и это не подходит.

Вначале идет часть объявления, где в переменные заносятся все пути (чтобы легче было менять “под себя”), затем идет архивирование (если оно вообще нужно), а затем удаление.

####### define parameters
#----- get current date ----#
$Now = Get-Date
#----- define amount of days ----#
$Days = "10"
#----- define folder where files are located ----#
$TargetFolder = "C:gbQuoteServer"
#----- define LastWriteTime parameter based on $Days ---#
$LastWrite = $Now.AddDays(-$Days)
#----- define delete list file path
$Del_List = "c:scriptsfiles.txt"
#----- define files fore archiving list file path ---#
$Arch_List = "c:scriptsarchive.txt"
#----- define archive file path - this file MUST exist! ---#
$Arch_Path = "c:scriptstest.zip"
####### archiving part
foreach ($_ in Get-Content $Arch_List)
{
$Files = Get-Childitem $TargetFolder -Include $_ -Recurse | Where {$_.LastWriteTime -le "$LastWrite"}
foreach ($File in $Files)
{
if ($File -ne $NULL)
{
write-host "Archiving File $File" -ForegroundColor "Green"
$ZipFile = (new-object -com shell.application).NameSpace($Arch_Path)
$ZipFile.CopyHere($_.fullname)
}
else
{
Write-Host "No more files to archive!" -foregroundcolor "Green"
}
}
}

####### deleting part
foreach ($_ in Get-Content $Del_List)
{
$Files = Get-Childitem $TargetFolder -Include $_ -Recurse | Where {$_.LastWriteTime -le "$LastWrite"}
foreach ($File in $Files)
{
if ($File -ne $NULL)
{
write-host "Deleting File $File" -ForegroundColor "DarkRed"
Remove-Item $File.FullName | out-null
}
else
{
Write-Host "No more files to delete!" -foregroundcolor "Green"
}
}
}
Содержимое файлов со списками примерно такого формата:

B*.txt
*.dll
Del*f.doc

и т. п.

http://geckich.blogspot.com/