Microsoft — различия между версиями

Материал из Корпоративная wiki Администрации города Волгодонски
Перейти к: навигация, поиск
(Вариант 1)
(Базовая настройка SRP в Windows 7)
 
(не показано 16 промежуточных версий этого же участника)
Строка 14: Строка 14:
 
# dism /unmount-wim /mountdir:c:\tmp\mount /commit
 
# dism /unmount-wim /mountdir:c:\tmp\mount /commit
  
== Запускаем установку с флешки по быстрому ==
+
== Запускаем установку с USB диска (флешки) по быстрому ==
 
# cmd|PoSh от имени Администратора
 
# cmd|PoSh от имени Администратора
 
# diskpart
 
# diskpart
Строка 25: Строка 25:
 
# Active
 
# Active
 
# Assign
 
# Assign
 +
# List Volume <ref>Определим какую букву назначило диску.</ref>
 
# Exit
 
# Exit
 +
# CHDIR X:\boot <ref>Где X — буква компакт-диска с Windows 7 или же буква смонтированного образа установочного диска Windows 7.</ref>
 +
# bootsect /nt60 Y: <ref>Y — это буква, соответствующая Вашей загрузочной флешке.</ref>
 +
# Скопировать все файлы с установочного диска Windows 7 на флешку.
  
 
== Перенос ОС на другую системную плату ==
 
== Перенос ОС на другую системную плату ==
Строка 40: Строка 44:
 
# Подключить к другой системной плате и загрузиться.
 
# Подключить к другой системной плате и загрузиться.
  
== Переключение ACHI - IDE в установленной Windows 7 ==
+
== Базовая настройка SRP в Windows 7 ==
Открываем редактор реестра, идём в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\ и дальше изменяем режим запуска для нужных драйверов:
+
для 32bit систем:
 +
%HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SystemRoot%
 +
%HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ProgramFilesDir%
 +
%HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\AppData%Rostelecom
 +
%HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Local AppData%webex
  
Смена режима работы контроллера с "IDE" на "AHCI" (показана, если есть современный винт с поддержкой NCQ)
+
для 64bit систем:
Нужно изменить значение параметра "Start" (Тип: REG_DWORD) на "0" (см. рисунок ниже) для драйверов "msahci", "Iastor" или "IastorV"
+
%HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SystemRoot%
  HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Msahci
+
%HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ProgramFilesDir%
  HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Iastor
+
%HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ProgramFilesDir (x86)%
  HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\IastorV
+
  %HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ProgramW6432Dir%
 +
  %HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\AppData%Rostelecom
 +
  %HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Local AppData%webex
  
 
== Кто на каком компьютере вошел в систему ==
 
== Кто на каком компьютере вошел в систему ==
  
 
=== Вариант 1 ===
 
=== Вариант 1 ===
Все входы фиксируются в журнале Security на контроллерах домена - таким образом задача сводится к выборке со всех контроллеров домена событий категории Logon/Logoff и анализа каждого события. Для этого надо написать фильтр на XML:  
+
Все входы фиксируются в журнале Security на контроллерах домена - таким образом задача сводится к выборке со всех контроллеров домена событий категории Logon/Logoff и анализа каждого события. Для этого надо написать [https://blogs.technet.microsoft.com/askds/2011/09/26/advanced-xml-filtering-in-the-windows-event-viewer/ фильтр на XML]:  
  
 
  <QueryList>
 
  <QueryList>
Строка 59: Строка 69:
 
     *[System[(EventID=4624) and TimeCreated[timediff(@SystemTime) &lt;= 43200000]]]
 
     *[System[(EventID=4624) and TimeCreated[timediff(@SystemTime) &lt;= 43200000]]]
 
     and  
 
     and  
     *[EventData[Data]]
+
     *[EventData[Data[@Name='AuthenticationPackageName'] and (Data='NTLM')]]
 
     </Select>
 
     </Select>
 
   </Query>
 
   </Query>
 
  </QueryList>
 
  </QueryList>
 +
 +
Это минимально рабочий фильтр показывающий под какой учётной записью пользователя, на какой машине совершили успешный вход за последние 12 часов (43200000 мс).
  
 
=== Вариант 2 ===
 
=== Вариант 2 ===
Строка 108: Строка 120:
 
Забрать у пользователя права локального админа
 
Забрать у пользователя права локального админа
 
  net user Администраторы %username% /delete
 
  net user Администраторы %username% /delete
, удалить раздел реестра
+
Вывести и завести машину в домен.
reg delete HKLM\Software\Microsoft\Windows\Current Version\Group Policy\AppMgmt
 
<!--
 
Удалить все ключи в разделах, которые сочтете целесообразным:
 
HKLM\Software\Policies
 
HKLM\Software\Microsoft\Windows\CurrentVersion\Policies
 
Под учетной записью пользователя:
 
Удалить все ключи в разделах, которые сочтете целесообразным:
 
HKCU\Software\Policies
 
HKCU\Software\Microsoft\Windows\CurrentVersion\Policies
 
-->
 
, файлы групповой политики для компьютера
 
del /f /s /q %windir%\System32\GroupPolicy
 
и для пользователя
 
del /f /s /q %windir%\System32\GroupPolicyUsers
 
 
Применить все параметры групповой политики, включая требующие перезагрузки АРМ
 
Применить все параметры групповой политики, включая требующие перезагрузки АРМ
 
  echo y | gpupdate /force
 
  echo y | gpupdate /force
 
=== Windows 7: переключение SATA из IDE-режима в AHCI ===
 
reg add HKLM\SYSTEM\CurrentControlSet\services\msahci /v start /t REG_DWORD /d 0 /f
 
# Перезагрузиться в BIOS.
 
# Выставить вместо режима IDE, режим AHCI.
 
# Загрузиться в ОС, дождаться установки драйверов и перезагрузиться снова.
 
  
 
=== Задержка начала проверки ФС ===
 
=== Задержка начала проверки ФС ===
Строка 148: Строка 140:
 
  reg add "HKEY_USERS\.DEFAULT\Keyboard Layout\Preload" /v 2 /t REG_SZ /d 00000419 /f
 
  reg add "HKEY_USERS\.DEFAULT\Keyboard Layout\Preload" /v 2 /t REG_SZ /d 00000419 /f
  
=== Всякое такое... ===
+
== Windows 7: переключение IDE -> AHCI ==
Как создать файл нужного размера?[https://isazonov.wordpress.com/2010/07/09/%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5-%D1%84%D0%B0%D0%B9%D0%BB%D0%B0-%D0%BD%D1%83%D0%B6%D0%BD%D0%BE%D0%B3%D0%BE-%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%80%D0%B0/]
+
reg add HKLM\SYSTEM\CurrentControlSet\services\msahci /v start /t REG_DWORD /d 0 /f
 +
reg add HKLM\System\CurrentControlSet\Services\Iastor /v start /t REG_DWORD /d 0 /f
 +
reg add HKLM\System\CurrentControlSet\Services\IastorV /v start /t REG_DWORD /d 0 /f
 +
# Перезагрузиться в BIOS.
 +
# Выставить вместо режима IDE, режим AHCI.
 +
# Загрузиться в ОС, дождаться установки драйверов и перезагрузиться снова.
  
Используя fsutil:
+
== Всякое такое... ==
fsutil file createnew d:\temp\out.txt 1000000
+
 
Используя Powershell
+
Создать файл нужного размера используя Powershell
 
  $f=new-object System.IO.FileStream out.txt, Create, ReadWrite;
 
  $f=new-object System.IO.FileStream out.txt, Create, ReadWrite;
 
  $f.SetLength(10MB);
 
  $f.SetLength(10MB);
 
  $f.close()
 
  $f.close()
Более компактный вариант:
+
Или более компактный вариант:
 
  set-content -value (new-object byte[] 1mb) -encoding byte out.txt
 
  set-content -value (new-object byte[] 1mb) -encoding byte out.txt
  
Строка 166: Строка 163:
 
  set-content -value $randArray -encoding byte out.txt
 
  set-content -value $randArray -encoding byte out.txt
  
<!--
+
== Работа с архивами ==
// Load the CSR file
 
var csr = new X509Request(BIO.File("C:/temp/test.csr", "r"));
 
OR
 
var csr = new X509Request(@"-----BEGIN CERTIFICATE REQUEST-----...");
 
 
 
// Read CSR file properties
 
Console.WriteLine(csr.PublicKey.GetRSA().PublicKeyAsPEM);
 
Console.WriteLine(csr.Subject.SerialNumber);
 
Console.WriteLine(csr.Subject.Organization);
 
$CRT = New-Object System.Security.Cryptography.X509Certificates.X509Certificate
 
$CRT.Import("D:\mycert.cer")
 
$CRT.GetEffectiveDateString()
 
-->
 
 
 
==== Работа с архивами ====
 
 
Начиная с версии .NET Framework 4.5 появился встроенный класс ZipFile в пространстве имён [https://docs.microsoft.com/ru-ru/dotnet/api/system.io.compression?view=netframework-4.5 System.IO.Compression], благодаря которому архивировать и разархивировать файлы одно удовольствие.
 
Начиная с версии .NET Framework 4.5 появился встроенный класс ZipFile в пространстве имён [https://docs.microsoft.com/ru-ru/dotnet/api/system.io.compression?view=netframework-4.5 System.IO.Compression], благодаря которому архивировать и разархивировать файлы одно удовольствие.
  
Строка 205: Строка 187:
 
  # Извлекаем
 
  # Извлекаем
 
  [IO.Compression.ZipFile]::ExtractToDirectory($ArchiveFileName, $ExtractPath)
 
  [IO.Compression.ZipFile]::ExtractToDirectory($ArchiveFileName, $ExtractPath)
 +
 +
== Принудительный запуск клиента обновления Windows ==
 +
Запустить можно, но не отображается прогресс, только результаты выполнения команды.
 +
 +
Поиск новых обновлений:
 +
wuauclt /detectnow
 +
Установить новые обновления:
 +
wuauclt /updatenow
 +
Поскольку командная строка не показывает какого-либо прогресса, лучшим подходом будет проверка и установка обновлений одновременно. Как здесь:
 +
wuauclt /detectnow /updatenow
 +
 +
Вышеперечисленные команды работают во всех версиях Windows, включая Windows 7/Windows Server 2008 R2.
 +
Начиная с  Windows 10/Windows Server 2016, вы можете использовать команду UsoClient:
 +
 +
Начать поиск новых обновлений:
 +
UsoClient StartScan
 +
Начать загрузку обновлений:
 +
UsoClient StartDownload
 +
Начать установку загруженных обновлений:
 +
UsoClient StartInstall
 +
Перезагрузить АРМ после установки обновлений:
 +
UsoClient RestartDevice
 +
Всё вышеперечисленное, кроме перезагрузки:
 +
UsoClient ScanInstallWait
  
 
== Делегирование прав ==
 
== Делегирование прав ==
Строка 248: Строка 254:
  
 
== Ошибка: Невозможно запустить службу восстановления ==
 
== Ошибка: Невозможно запустить службу восстановления ==
# If you are receiving the "Low Registry Space" error, set the Registry Size Limit to "unlimited":
+
If you are receiving the "Low Registry Space" error, set the Registry Size Limit to "unlimited":
 
<!--
 
<!--
 
  HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control  
 
  HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control  
Строка 321: Строка 327:
  
 
=== Безопасность ===
 
=== Безопасность ===
[https://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=7558 Baseline Security Analyzer]
+
[https://www.microsoft.com/en-us/download/details.aspx?id=19892 Baseline Security Analyzer]
 +
 
 +
[https://www.microsoft.com/en-us/download/details.aspx?id=16475 Baseline Configuration Analyzer]
  
 
[https://www.microsoft.com/ru-ru/download/details.aspx?id=12273 Security Assessment Tool]
 
[https://www.microsoft.com/ru-ru/download/details.aspx?id=12273 Security Assessment Tool]
  
 
[https://blog.it-kb.ru/2012/08/08/antivirus-exclusions-list-for-microsoft-windows-server/ Список исключений антивируса для Windows Server]
 
[https://blog.it-kb.ru/2012/08/08/antivirus-exclusions-list-for-microsoft-windows-server/ Список исключений антивируса для Windows Server]
 
[http://www.microsoft.com/downloads/details.aspx?familyid=DD7A00DF-1A5B-4FB6-A8A6-657A7968BD11 Инструмент для быстрой проверки «здоровья» сети на базе Windows.]
 
  
 
[https://support.microsoft.com/ru-ru/help/4025687/microsoft-security-advisory-4025685-guidance-for-older-platforms 4025685 рекомендации корпорации Майкрософт по безопасности: руководство для более старых платформ: 13 июня 2017 г.]
 
[https://support.microsoft.com/ru-ru/help/4025687/microsoft-security-advisory-4025685-guidance-for-older-platforms 4025685 рекомендации корпорации Майкрософт по безопасности: руководство для более старых платформ: 13 июня 2017 г.]
Строка 334: Строка 340:
  
 
[https://www.atraining.ru/lm-ntlm-ntlmv2-armoring/ Бронируем NTLM в домене Active Directory]
 
[https://www.atraining.ru/lm-ntlm-ntlmv2-armoring/ Бронируем NTLM в домене Active Directory]
 +
 +
[https://habr.com/ru/company/jetinfosystems/blog/478616/ Windows UAC не перестаёт удивлять, или Как обнаружить инсайдера]
 +
 +
[https://www.nomoreransom.org/ru/index.html Дешифровщики]
  
 
=== Печать ===
 
=== Печать ===
[http://blogs.technet.com/b/askperf/archive/2008/02/17/ws2008-terminal-services-printing.aspx Как работает Easy Print]
 
 
[http://blogs.msdn.com/b/rds/archive/2009/09/28/using-remote-desktop-easy-print-in-windows-7-and-windows-server-2008-r2.aspx  Как Easy Print настраивается. Методика поиска ошибок.]
 
  
 
[https://technet.microsoft.com/en-us/library/ee791784(v=ws.10).aspx Описания политик перенаправления принтеров]
 
[https://technet.microsoft.com/en-us/library/ee791784(v=ws.10).aspx Описания политик перенаправления принтеров]
Строка 363: Строка 370:
  
 
[https://habrahabr.ru/company/icl_services/blog/258935/ Инвентаризация и рационализация: управляем программными активами крупных компаний. Опыт использования Microsoft Assessment and Planning Toolkit]
 
[https://habrahabr.ru/company/icl_services/blog/258935/ Инвентаризация и рационализация: управляем программными активами крупных компаний. Опыт использования Microsoft Assessment and Planning Toolkit]
 +
 +
[http://www.denaie.ru/?p=335 Добавляем дополнительные действия в контекстное меню ADUC]
 +
 +
[https://isazonov.wordpress.com/2009/11/06/%D0%B8%D0%BD%D1%82%D0%B5%D0%B3%D1%80%D0%B0%D1%86%D0%B8%D1%8F-powershell-%D0%B2-aduc/ Интеграция PowerShell в ADUC]

Текущая версия на 12:29, 14 января 2021

Собираем свой дистрибутив

  1. Установить ОС на АРМ.
  2. Выполнить установку необходимого ПО.
  3. Выполнить необходимые настройки ОС и ПО.
  4.  %windir%\system32\sysprep\sysprep.exe /generalize /oobe /shutdown /unattend:answerfile.xml
  5. Снять накопитель с целевого АРМ.
  6. Установить накопитель на АРМ с установленным imagex.
  7. imagex /capture d: c:\distrib\win7pro32\install.wim "Win7Pro32_custom" /compress maximum /check /verify
  8. imagex /split c:\distrib\win7pro32\install.wim 4096[1]

Добавляем драйвера в образ

  1. dism /mount-wim /wimfile:c:\tmp\boot.wim /index:2 /mountdir:c:\tmp\mount
  2. dism /image:c:\tmp\mount /add-driver:"c:\tmp\usb3" /recurse
  3. dism /unmount-wim /mountdir:c:\tmp\mount /commit

Запускаем установку с USB диска (флешки) по быстрому

  1. cmd|PoSh от имени Администратора
  2. diskpart
  3. List Disk
  4. Select Disk 3 (в вашем случае здесь может быть другой номер диска)
  5. Clean
  6. Create Partition Primary
  7. Select Partition 1
  8. Format FS=NTFS [2] Quick [3]
  9. Active
  10. Assign
  11. List Volume [4]
  12. Exit
  13. CHDIR X:\boot [5]
  14. bootsect /nt60 Y: [6]
  15. Скопировать все файлы с установочного диска Windows 7 на флешку.

Перенос ОС на другую системную плату

  1. Импортировать DISM'ом драйвера в /Online образ переносимой ОС.
  2. reg delete /f HKLM\SYSTEM\MountedDevices
  3. reg add /f HKLM\SYSTEM\CurrentControlSet\services\amdide /v Start /d 0
  4. reg add /f HKLM\SYSTEM\CurrentControlSet\services\amdsata /v Start /d 0
  5. reg add /f HKLM\SYSTEM\CurrentControlSet\services\amdxata /v Start /d 0
  6. reg add /f HKLM\SYSTEM\CurrentControlSet\services\atapi /v Start /d 0
  7. reg add /f HKLM\SYSTEM\CurrentControlSet\services\intelide /v Start /d 0
  8. reg add /f HKLM\SYSTEM\CurrentControlSet\services\msahci /v Start /d 0
  9. reg add /f HKLM\SYSTEM\CurrentControlSet\services\pciide /v Start /d 0
  10. Подключить к другой системной плате и загрузиться.

Базовая настройка SRP в Windows 7

для 32bit систем:

%HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SystemRoot%
%HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ProgramFilesDir%
%HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\AppData%Rostelecom
%HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Local AppData%webex

для 64bit систем:

%HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SystemRoot%
%HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ProgramFilesDir%
%HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ProgramFilesDir (x86)%
%HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ProgramW6432Dir%
%HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\AppData%Rostelecom
%HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Local AppData%webex

Кто на каком компьютере вошел в систему

Вариант 1

Все входы фиксируются в журнале Security на контроллерах домена - таким образом задача сводится к выборке со всех контроллеров домена событий категории Logon/Logoff и анализа каждого события. Для этого надо написать фильтр на XML:

<QueryList>
 <Query Id="0" Path="Security">
   <Select Path="Security">
    *[System[(EventID=4624) and TimeCreated[timediff(@SystemTime) <= 43200000]]]
    and 
    *[EventData[Data[@Name='AuthenticationPackageName'] and (Data='NTLM')]]
   </Select>
 </Query>
</QueryList>

Это минимально рабочий фильтр показывающий под какой учётной записью пользователя, на какой машине совершили успешный вход за последние 12 часов (43200000 мс).

Вариант 2

Скриптом опрашиваем АРМ о вошедшем пользователе.

#Requires -Modules ActiveDirectory

$CredData = Get-Credential -Credential user@vlgd61.ru

#Создаем фильтр проверки наличия компа в сети
Filter Where-Online
{
   $ping = new-object System.Net.NetworkInformation.Ping
   trap {Write-Verbose "ping error"; Continue}
   if ($ping.send($_).Status -eq "Success" ) { $_ }
}

$CompList=@{}

#Получаем компы из нужной OU в AD
$comp_arr= Get-ADComputer -Credential $CredData -SearchBase "ou=adm, dc=vlgd61,dc=ru" -Filter * | foreach {$_.DNSHostName} | where-online

#загоняем в цикл
foreach ($pc in $comp_arr) {
       #Запрос к WMI удаленного компа
       $CS = Get-WmiObject -Credential $CredData Win32_ComputerSystem -ComputerName $pc
       #"Machine Name: " + $pc
       #"Logged On User: " + $CS.UserName

       #Заливаю данные в хэш таблицу
       $CompList[$pc] = New-Object System.Management.Automation.PSObject
       $CompList[$pc] | Add-Member noteproperty ComputerName $pc
       $CompList[$pc] | Add-Member noteproperty UserName $CS.UserName
}
Clear-Variable CredData
#Выгружаем в CSV
$TimeStamp = Get-Date -Format yyyy-MM-dd_dddd
$CSVFilePath = "$HOME\Documents\"
$CSVFileName = "$TimeStamp"+"_LoginedUsersOnPC.csv"
$CompList | Export-csv -Path "$CSVFilePath$CSVFileName" -Encoding Unicode -NoTypeInformation -Delimiter ";" -Force

Групповая политика

Заставить политику установки|обновления отработать еще раз на этой рабочей станции

Забрать у пользователя права локального админа

net user Администраторы %username% /delete

Вывести и завести машину в домен. Применить все параметры групповой политики, включая требующие перезагрузки АРМ

echo y | gpupdate /force

Задержка начала проверки ФС

В разделе реестра:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager 

создать параметр REG_DWORD

AutoChkTimeOut

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

Настройка языка ввода по умолчанию

для текущего пользователя,
reg add "HKEY_CURRENT_USER\Keyboard Layout\Preload" /v 1 /t REG_SZ /d 00000409 /f
reg add "HKEY_CURRENT_USER\Keyboard Layout\Preload" /v 2 /t REG_SZ /d 00000419 /f
для экрана приветствия
reg add "HKEY_USERS\.DEFAULT\Keyboard Layout\Preload" /v 1 /t REG_SZ /d 00000409 /f
reg add "HKEY_USERS\.DEFAULT\Keyboard Layout\Preload" /v 2 /t REG_SZ /d 00000419 /f

Windows 7: переключение IDE -> AHCI

reg add HKLM\SYSTEM\CurrentControlSet\services\msahci /v start /t REG_DWORD /d 0 /f
reg add HKLM\System\CurrentControlSet\Services\Iastor /v start /t REG_DWORD /d 0 /f
reg add HKLM\System\CurrentControlSet\Services\IastorV /v start /t REG_DWORD /d 0 /f
  1. Перезагрузиться в BIOS.
  2. Выставить вместо режима IDE, режим AHCI.
  3. Загрузиться в ОС, дождаться установки драйверов и перезагрузиться снова.

Всякое такое...

Создать файл нужного размера используя Powershell

$f=new-object System.IO.FileStream out.txt, Create, ReadWrite;
$f.SetLength(10MB);
$f.close()

Или более компактный вариант:

set-content -value (new-object byte[] 1mb) -encoding byte out.txt

Заполнение файла мусором:

$randArray = new-object Byte[] 1mb
$randObj = new-object System.Random
$randObj.NextBytes($randArray)
set-content -value $randArray -encoding byte out.txt

Работа с архивами

Начиная с версии .NET Framework 4.5 появился встроенный класс ZipFile в пространстве имён System.IO.Compression, благодаря которому архивировать и разархивировать файлы одно удовольствие.

Для работы с возможностями этого класса прежде всего необходимо загрузить соответствующую сборку:

Add-Type -AssemblyName "System.IO.Compression.FileSystem"

Для того, чтобы каталог с файлами в архив необходимо вызвать метод CreateFromDirectory, ему передать путь к каталогу, который будет добавлен и путь к будущему архиву:

# Каталог, который будем архивировать
$Source = 'C:\test'
# Путь, куда положить готовый архив
$ArchiveFileName = 'C:\archive.zip'
# Архивируем
[IO.Compression.ZipFile]::CreateFromDirectory($Source, $ArchiveFileName)

Для извлечения каталогов и файлов из архива, следует вызвать метод ExtractToDirectory, в который нужно передать путь до файла архива, и путь к каталогу, в который нужно извлечь файлы:

# Путь к файлу архива
$ArchiveFileName = 'C:\archive.zip'
# Куда извлекаем
$ExtractPath = 'C:\unzip'
# Извлекаем
[IO.Compression.ZipFile]::ExtractToDirectory($ArchiveFileName, $ExtractPath)

Принудительный запуск клиента обновления Windows

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

Поиск новых обновлений:

wuauclt /detectnow 

Установить новые обновления:

wuauclt /updatenow

Поскольку командная строка не показывает какого-либо прогресса, лучшим подходом будет проверка и установка обновлений одновременно. Как здесь:

wuauclt /detectnow /updatenow

Вышеперечисленные команды работают во всех версиях Windows, включая Windows 7/Windows Server 2008 R2. Начиная с Windows 10/Windows Server 2016, вы можете использовать команду UsoClient:

Начать поиск новых обновлений:

UsoClient StartScan

Начать загрузку обновлений:

UsoClient StartDownload

Начать установку загруженных обновлений:

UsoClient StartInstall

Перезагрузить АРМ после установки обновлений:

UsoClient RestartDevice

Всё вышеперечисленное, кроме перезагрузки:

UsoClient ScanInstallWait

Делегирование прав

Для полного раскрытия темы стоит упомянуть AdminSDHolder, который умеет «срывать» делегированные права и «ломать» их наследование. А также про редактирование delegwiz.inf, которое может упростить выполнение типовых операций делегирования.

Поломанное SDPROP'ом наследование дескрипторов безопасности, та ещё ловушка. Плюс есть несколько тонких моментов: В домене contoso.com y вас есть группа personal, которой вы хотите делегировать возможность правки определённого атрибута у ВСЕХ пользователей (например кадровикам дать право заполнять подразделение (department) сотрудника) Вы делегируете полномочия этой группе права на аттрибут department у всех объектов пользователей от корня домена (примеры для dsacls):

dsacls "dc=contoso,dc=com" /A /I:S /G "CONTOSO\personal;RPWP;department;user"

("/I:T" задать не получится, потому как объект «dc=contoso,dc=com» не user, а в правиле доступа явно сказано, что оно для объекта user) Через время вам звонят из персонала и жалуются, что не могут обновить название вашего подразделения.

Вы вспоминаете про AdminADHolder и выполняете:

dsacls "cn=AdminSDHolder,cn=System,dc=contoso,dc=com" /A /I:S /G "CONTOSO\personal;RPWP;department;user"

И опять у персонала не хватает прав на обновление атрибута department на вашей учётной записи. Ведь списке контроля доступа вы задали наследование «на все дочерние объекты». Правило было скопировано на ваш объект пользователя и применяется… к дочерним объектам вашего объекта пользователя

Разгадав эту загадку, вы исправляете ситуацию:

dsacls "cn=AdminSDHolder,cn=System,dc=contoso,dc=com" /A /I:T /G "CONTOSO\personal;RPWP;department;user"

И тут опять звонят из персонала — у них та же проблема, но уже с Василием П., перешедшим недавно из администраторов в программисты (и лишённым недавно прав администратора домена)

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

Данный «квест» обычно занимает у людей с ним никогда не сталкивающихся не один час.

Горячие клавиши клавиатуры удаленного компьютера

  1. Ctrl+Alt+(+) позволяет получить снимок экрана всего клиентского окна удаленного компьютера. Это все равно что нажать Print Screen на вашем локальном компьютере. Если вы нажмете Print Screen, то получите снимок экрана локального компьютера.
  2. Ctrl+Alt+(-) позволяет получить снимок экрана только активного окна во время сессии с удаленным компьютером. Эта комбинация дает тот же результат, что и нажатие Alt+Print Screen на локальном компьютере.
  3. Alt+Home вызывает меню Start на удаленной системе. Аналогично нажатию клавиши Windows на локальном компьютере.
  4. Alt+Delete открывает меню окна Windows приложения, запущенного на удаленной системе. Позволяет перемещать и изменять размер окна приложения.
  5. Ctrl+Alt+Break чтобы переключить сессию работы с удаленным компьютером на полномасштабный режим работы.
  6. Ctrl+Alt+Pause переключает окно сессии с оконного режима работы на полномасштабный. Однако в этом случае окно удаленного компьютера сохраняет стандартный размер и не заполняет весь экран локального компьютера. Вместо этого оно выводится на черном фоне.
  7. Alt+Insert позволяет циклически перемещаться по программам на удаленной системе в том порядке, в каком они были запущены. Аналогично комбинации Alt+Tab на локальном компьютере.
  8. Alt+Page Down позволяет переключать программы во время сессии с удаленной системой, перемещаясь справа налево в переключателе задач Windows. Это то же самое, что нажать комбинацию Alt+Shift+Tab на локальном компьютере.
  9. Alt+Page Up позволяет переключать программы во время сессии, перемещаясь слева направо в переключателе задач Windows. Это все равно что нажать комбинацию Alt+Tab на вашем стандартном компьютере.
  10. Ctrl+Alt+End если вам нужно послать команду Ctrl+Alt+Del на удаленную систему. Нажатие этой клавиши открывает диалоговое окно Microsoft Windows Security, которое позволяет блокировать компьютер, выходить из системы, изменить пароль и запустить Task Manager.

Ошибка: Невозможно запустить службу восстановления

If you are receiving the "Low Registry Space" error, set the Registry Size Limit to "unlimited":

reg add HKLM\System\CurrentControlSet\Control /v RegistrySizeLimit /t REG_DWORD /d 0xffffffff
  1. Reboot
  2. As a Administrator open a Command Prompt and run "SFC /SCANNOW". The command should complete successfully and if any errors were found, they should be corrected.

This was posted on the ESRI forums, from someone who noticed that Visual Studio 2008 was related to the error. Personally I'm not sure if it was VS, or just installing the .net framework. Here's the link for more chatter on the topic... http://forums.esri.com/Thread.asp?c=93&f=1148&t=287391

Изменение пароля sa для MS SQL Server

Запускаем консоль из-под администратора.

Вводим последовательно команды:

osql -S <Название сервера> -E
sp_password NULL, ‘<новый_пароль>’, ’sa’

И затем GO

Поддержка версий протокола SMB

  • CIFS — Windows NT 4.0
  • SMB 1.0 — Windows 2000
  • SMB 2.0 — Windows Server 2008 и Windows Vista SP1
  • SMB 2.1 — Windows Server 2008 R2 и Windows 7
  • SMB 3.0 — Windows Server 2012 и Windows 8
  • SMB 3.02 — Windows Server 2012 R2 и Windows 8.1
  • SMB 3.1.1 — Windows Server 2016, Windows 10

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

Сводная таблица о совместимости версии SMB на стороне клиента и сервера:

Операционная система Windows 10, Windows Server 2016 Windows 8.1, Server 2012 R2 Windows 8, Server 2012 Windows 7, Server 2008 R2 Windows Vista, Server 2008 Windows XP, Server 2003 и ниже SAMBA ≥v4.3
Windows 10, Windows Server 2016 SMB 3.1.1 SMB 3.02 SMB 3.0 SMB 2.1 SMB 2.0 SMB 1.0 SMB 3.1.1
Windows 8.1, Server 2012 R2 SMB 3.02 SMB 3.02 SMB 3.0 SMB 2.1 SMB 2.0 SMB 1.0 SMB 3.02
Windows 8, Server 2012 SMB 3.0 SMB 3.0 SMB 3.0 SMB 2.1 SMB 2.0 SMB 1.0 SMB 3.0
Windows 7, Server 2008 R2 SMB 2.1 SMB 2.1 SMB 2.1 SMB 2.1 SMB 2.0 SMB 1.0 SMB 2.1
Windows Vista, Server 2008 SMB 2.0 SMB 2.0 SMB 2.0 SMB 2.0 SMB 2.0 SMB 1.0 SMB 2.0
Windows XP, Server 2003 и ниже SMB 1.0 SMB 1.0 SMB 1.0 SMB 1.0 SMB 1.0 SMB 1.0 SMB 1.0
SAMBA ≥v4.3 SMB 3.1.1 SMB 3.02 SMB 3.0 SMB 2.1 SMB 2.0 SMB 1.0 -

Так, например, при подключении клиентского компьютера с Windows 7 к файловому серверу с Windows Server 2012 будет использоваться протокол SMB 2.1


Ссылки

Групповая политика

Обновление MS16-072 ломает Group Policy. Что с этим делать?

Передача параметров скрипту задачи планировщика задач запущенной по триггеру

Цикл статей о возможностях групповой политики по установке и удалению ПО

Group policy – настройка несистемных сервисов

Загрузка

Сайт BootICE

VHD Native Boot снаружи и внутри

Безопасность

Baseline Security Analyzer

Baseline Configuration Analyzer

Security Assessment Tool

Список исключений антивируса для Windows Server

4025685 рекомендации корпорации Майкрософт по безопасности: руководство для более старых платформ: 13 июня 2017 г.

Защищаем и оптимизируем RDP

Бронируем NTLM в домене Active Directory

Windows UAC не перестаёт удивлять, или Как обнаружить инсайдера

Дешифровщики

Печать

Описания политик перенаправления принтеров

Остальное

Powershell – автоматизируем построение организационной структуры в Active Directory ч.2

Устранение неполадок в WMI

Патч для получения обновлений на ПК с Windows 7 и 8.1 и чипами Kaby Lake/Ryzen

Набор ресурсов по Office 2007|Поддержка Office 2007 закончится 10 октября 2017 г.

Генерируем ключ расшифровки сами для криптовымогателя Petya

Allows you to browse the Shadow Copies created by the Windows Vista / 7 / 8 / 10 Volume Shadow Copy Service.

Создание носителя с обновлениями для мест без связи

Active Directory: Использование LDAP-фильтров

Как быстро оценить, что есть в инфраструктуре и как оно (на сколько) используется?

Инвентаризация и рационализация: управляем программными активами крупных компаний. Опыт использования Microsoft Assessment and Planning Toolkit

Добавляем дополнительные действия в контекстное меню ADUC

Интеграция PowerShell в ADUC
  1. По необходимости нарезать получившийся образ на части чтобы поместилось на болванки/FAT32 флешки.
  2. Можно указать fat32. Тогда установочный образ придётся резать DISM/ImageX'ом на тома.
  3. Иначе весь процесс растянется на очень долгое время!
  4. Определим какую букву назначило диску.
  5. Где X — буква компакт-диска с Windows 7 или же буква смонтированного образа установочного диска Windows 7.
  6. Y — это буква, соответствующая Вашей загрузочной флешке.