Перейти к содержимому

windows

Как сделать синхронизацию NPS Network Policy Server

Задача сделать резервный nps radius. Стандартного решения нету. Сделал через powershell:

# Get date
$date = get-date -Format yyyy_MM_dd
# Export NPS config
Export-NpsConfiguration -Path C:\ProgramData\npssync\NPSConfig_$date.xml
Export-NpsConfiguration -Path C:\ProgramData\npssync\NPSConfig.xml
# Destination Server
$NPSDestServer = "nps02"
# Copy config to destination server
Copy-Item -path C:\ProgramData\npssync\NPSConfig.xml -destination \\$NPSDestServer\npssync$\NPSConfig.xml
# Export current config
Invoke-Command -ComputerName $NPSDestServer -ScriptBlock {Export-NPSConfiguration -Path  C:\ProgramData\npssync\BackupNPSConfig.xml}
# Import new confi
Invoke-Command -ComputerName $NPSDestServer -ScriptBlock {Import-NPSConfiguration -Path  C:\ProgramData\npssync\NPSConfig.xml}

Сделал задачу в task на nps01. Все изменения делаются на nps01. На второй все изменения экспортируются.

Как перенести пулы и сайты с iis с одного сервера на другой.

Задача объединить два сервера в один. На одном сервер IIS находятся одни сайты на другом другие.

Выполним команду на сервере с которого будем переносить пулы и сайты

%windir%\system32\inetsrv\appcmd list site /config /xml > c:\sites.xml
%windir%\system32\inetsrv\appcmd list apppool /config /xml > c:\apppools.xml

Копируем файлы на другой сервер. Дальше надо поправить id в xml sites.xml что бы id не совпадали. Я префикс увеличил на 20 через notepad

Как перенести пулы и сайты с iis с одного сервера на другой.

Id поменяются у всех в данном xml

После этого можно сделать импорт

%windir%\system32\inetsrv\appcmd add apppool /in < c:\apppools.xml
%windir%\system32\inetsrv\appcmd add site /in < c:\sites.xml

 

ПотоКак перенести пулы и сайты с iis с одного сервера на другой.

Потом скопировал каталог с настройками в туже папку как … Читать далее

Как экспортировать и импортировать все запланированные задания (task sheduler) из Windows 2008 r2

Задача есть сервер windows 2008 r2 на котором есть запланированные задачи около 500 шт. нужно перенести на windows 2016 .

1. Создайте файл schtasks_tool.bat и скопируйте его на корневой локальный диск на сервере, с которого вы хотите экспортировать запланированные задачи.

2. Измените runas на свою учетную запись администратора и пароль.

3. В командной строке запустите c:\schtasks_tool.bat export.

а. Это создаст папку  c:\tasks и a c:\tnlist.txt

4. Скопируйте c:\schtasks_tool.bat, c:\tasks и c:\tnlist.txt в корневой том на сервере, на который вы хотите добавить задачи.

5. Войдите на новый сервер, перейдите в командную строку и запустите c:\schtasks_tool.bat import.

6. Отключите задачи на новом … Читать далее

Как массово создать учётные записи в АД из csv файла

Import-Module ActiveDirectory
Import-Csv -Path C:\user\1.csv -Encoding Default -Delimiter ";" |
foreach-object{
  Write-Host "Username" $_.CN "not exists " $_.SamAccountName.Length
   if ($_.SamAccountName.Length  -gt 20 ) {  $_.SamAccountName=$_.SamAccountName.Substring(0,20)
 Write-Host $_.SamAccountName}
 $Firstname=''
 $FirstName=$_.FirstName
 $filter="SamAccountName -eq '"+$_.SamAccountName+"'"
 $usrexist=get-aduser -filter $filter


  if ($usrexist -eq $null)
  {

  new-aduser -Name $_.CN.trim() -DisplayName $_.DisplayName.trim() -City $_.City -Department $_.Department -Surname $_.Surname -GivenName $_.Givename  -SamAccountName $_.SamAccountName   -Title $_.title -POBox $_.postOfficeBox -AccountPassword (ConvertTo-SecureString '123456Q!' -AsPlainText -force) -Path "OU=Temp,DC=adminbd,DC=ru" -UserPrincipalName $_.emailaddress -Enabled $true -ChangePasswordAtLogon $true
  }
  else
  {
  
  Write-Host "Username" $_.CN "exists" -ForegroundColor Red
  
  }}

Формат csv

Как массово создать учётные записи в АД из csv файла

Как создать учётные записи с помощью powershell в AD из csv

Import-Csv -Path C:\1.csv -Encoding Default -Delimiter ";" | sort CN |
foreach-object{
#New-ADUser -Name $_.Full_Name -AccountPassword (ConvertTo-SecureString 'password!' -AsPlainText -force) -CannotChangePassword $True -Description $_.Desc -DisplayName $_.Full_Name -EmailAddress $_.Email -Enabled $False -GivenName $_.First_Name -HomeDirectory $_.Homedir -HomeDrive $Homedri -PasswordNeverExpires $True -Path $_.Path -SamAccountName $_.Email -ScriptPath LogonS.cmd -Surname $_.Last_Name -UserPrincipalName $_.Email -passthru
#Write-Host $_.SamAccountName
$filter="SamAccountName -eq '"+$_.SamAccountName+"'"
$usrexist=get-aduser -filter $filter
#Write-Host $_.SamAccountName
#Write-Host $_.SamAccountName
if ($usrexist -eq $null)
{
Write-Host "Username" $_.CN "not exists " $_.SamAccountName.Length
if ($_.SamAccountName.Length -gt 20 ) { $_.SamAccountName=$_.SamAccountName.Substring(0,20)
Write-Host $_.SamAccountName}
if (!$_.emailaddress){ $_.emailaddress=$_.SamAccountName+'@domen.ru'}
# write-host -Name $_.CN -DisplayName $_.DisplayName -City $_.City -Department $_.Department -Surname $_.Surname -GivenName $_.Givenname -SamAccountName 
Читать далее

Как делегировать права управления терминальных сессий не давая полные права на сервер в windows 2012/16

Задача дать поддержки права для сбрасывание . подключения к сессиям пользователя на ферме rdp . ферма развернута на базе windows 2016.

Создаём группу в АД Terminal Servers Administrators . Помещаем пользователей поддержки в эту группу.

Создаём группу MSK-HW-RDCB1 Users и добавляем в неё Terminal Servers Administrators.

После этого группу MSK-HW-RDCB1 добавляем на Remote Desktop Users (Пользователи удаленного рабочего стола ) на каждом сервере фермы и в колекцию

Как делегировать права управления терминальных сессий не давая полные права на сервер в windows 2012/16

Теперь выполним скрипт на каждом сервере в cmd от администратора

wmic /namespace:\\root\CIMV2\TerminalServices PATH Win32_TSPermissionsSetting WHERE (TerminalName ='RDP-Tcp')CALL AddAccount 'domen\Terminal Servers Administrators',2

или

$Group = "RDP_Operators"
$Servers = @(
    "RDSHost01",
    "RDSHost02",
    "RDSHost03"
)
ForEach 
Читать далее

Поиск по базе данных Backup Exec

Нужно вывести название заданий и какие сервера в этих заданиях используются

SELECT 
	j.[JobName]
		,'s0042' servername
	,'BE2010R3' softname
	,d.devicename	
	,bse.[DeviceSelectionName]+'>>>'+bse.[PathName] +'>>>'+ bse.[FileName] 'что бэкапим'
	,bji.[EncryptionOptions] 'шифрование'
      ,bse.[Network]
	,s.scriptname -- набор резервного копирования
	--,j.[LastChangeDate] -- 
	--,bji.targetid	
	--,j.[JobID]
	--,j.[BEJobID]
 --     ,j.[GDMID]
 --     ,j.[TaskDefinitionID]
 --     ,j.[JobDefinitionID]
 --     ,j.[ScheduleID]
 --     ,j.[ScriptID]
 --     ,j.[TaskTypeID]      
 --     ,j.[UserName]
 --     ,j.[MachineID]
 --     ,j.[JobRetryCount]
 --     ,j.[CurrentStatus]
 --     ,j.[SubStatus]
 --     ,j.[NewJob]
 --     ,j.[OriginalDueDate]
 --     ,j.[NextDueDate]
 --     ,j.[LastNewJob]
 --     ,j.[LastOriginalDueDate]
 --     ,j.[LastNextDueDate]
 --     ,j.[JobRunFlags]
 --     ,j.[LinkedJobID]
 --     ,j.[JobFamilyID]
 --     ,j.[HistoryID]
 --     ,j.[ActiveDeviceID]
 --     ,j.[DjmType]
 --     ,j.[ExecutionID]      
 --     ,j.[CPSStatus]
 --     ,j.[CPSJobID]
 --     ,j.[CPSIncrementalNextDueDate]
 --     ,j.[TimeStamp]
 --     ,j.[jKey]
  FROM [BEDB].[dbo].[Jobs] j
  join [BEDB].[dbo].[Scripts] s 
Читать далее

обойти ограничение в 4 процессора на hyper-v 2008 r2

Что бы увеличить количесто процессов в гостевой виртуальной машине нужно:

  1. Остановить машину
  2. Пойти по пути где лежит виртуальная машина например (E:\VMS\s0101\s0101\Virtual Machines) в этой папке лежит xml файл с примерным именем (AB1450B1-5F4A-4D80-847B-24C09F36035D)
  3. Нажимаем правой кнопкой на файле и нажимаем изменить
  4. Правим строчку
<processors>
<count type="integer">2</count>

Заместо двойки ставим количество процессоров которое нам нужно.

Тест до

обойти ограничение в 4 процессора на hyper-v 2008 r2

После

обойти ограничение в 4 процессора на hyper-v 2008 r2

Как видим производительность выросла.

Скрипты(bat) для копирования и удаления.

Удаление файлов старше 30 дней.

net use u: \\192.168.250.253\Public\s0079\log /user:домен\логин пароль
forfiles.exe /p U:\WMPRD\ /s /d -30 /m *.* /c "cmd /c del /q @file"
forfiles.exe /p U:\WMPRDD1\ /s /d -30 /m *.* /c "cmd /c del /q @file"
forfiles.exe /p U:\WMPRDM1\ /s /d -30 /m *.* /c "cmd /c del /q @file"
net use u: /delete

Копирование.

robocopy D:\LS\TRN \\192.168.250.253\Public\s0079\log /E /Z /DCOPY:T /R:2 /W:5 /tee /mt:20