Архив метки: PowerShell

Как использовать команду DISM в Windows 11

DISM (обслуживание образов развертывания и управление ими) — это командный инструмент, разработанный для администраторов и экспертов для сканирования и восстановления образов Windows, включая среду восстановления Windows, программу установки Windows и среду предустановки Windows (WinPE). Это встроенный в Windows 11 инструмент, который может проверять и восстанавливать защищенные системные файлы и хранилище компонентов образов Windows. Читать

Включение шифрования трафика в SMB 3.0

windows smb3.0

В версии протокола Server Message Block (SMB) 3.0, представленном в Windows Server 2012 / Windows 8, появилась возможность шифровать данные, передаваемые по сети между файловым сервером SMB и клиентом. Шифрование SMB трафика позволяет защитить от перехвата и модификации данные, передаваемые по доверенной или незащищенной сети. Читать

Как сбросить настройки Microsoft Edge

Все мы знаем о Microsoft Edge. Он поставляется с предустановленной Windows 11, и Microsoft рекомендует пользователям Windows использовать его в качестве интернет-браузера по умолчанию. Несмотря на усилия Microsoft, браузер никогда не был там, где Microsoft ни по популярности, ни по количеству пользователей.

Читать

Windows Скрипт добавления в рабочую группу новых пользователей

Что будем делать:

в Powershell из csv файла с такой структурой Name,Password,Dolzhnost,Department

будем параметрами передавать содержимое, чтобы циклом вызывать cmd-файл с указанными выше аргументами. Все лежит в одном каталоге.

Читать

Несколько доменов в Sharepoint. Лес, трасты и тд.

Когда пользователи SharePoint находятся в нескольких доменах добавить пользователей из домена с трастовыми отношениями не проблема.
В данной ситуации выручит команда
stsadm -o setproperty -pn peoplepicker-searchadforests
Детальное описание тут
Достаточно выполнить 3 простых шага.
1. Зайти на любой сервер фермы SharePoint, открыть командную консоль SharePoint
2. Получить URL  нужного веб приложения командой
Get-SPWebApplication
3. Запустить эту команду для вашего приложения с полученным URL выше

Для полного траста 

stsadm -o setproperty -pn peoplepicker-searchadforests -pv «forest:MY-DOMAIN.local;forest:TRUSTED-DOMAIN.local;domain:MY-DOMAIN.local;domain:TRUSTED-DOMAIN.local» -url http://my-sp2013-site.com.au/

Для одного домена 

STSADM.exe -o setproperty -propertyname peoplepicker-searchadforests -propertyvalue «domain:test.com;forest:uganda.com,ugandauser,123456» -url  http://sharepoint.com
Также можно проверить свойство командой
STSADM.exe -o getproperty -propertyname peoplepicker-searchadforests -url http://sharepoint.com
Теперь у вас есть возможность добавлять в разрешения сайта , библиотек  пользователей из другого домена.

PS:
Если лес или домен, где установлен SharePoint 2013, имеет одностороннее отношение доверия с другим лесом или доменом,
необходимо задать данные учетной записи, которая проходит проверку подлинности в лесу или на домене для получения запроса, прежде чем вы сможете использовать свойство Stsadm peoplepicker-searchadforests.
STSADM -o setapppassword –password
Ниже полный пример,
Перегружать ничего не надо все должно заработать автоматически, для контроля ищем пользователя, находим и радуемся.

Автор: Roman D
Дата публикации: 2017-04-20T08:09:00.001-07:00

Парсинг XML c помощью powershell

Допустим поступила такая задача, есть много файлов XML
В каждом файле есть нужный атрибут
Необходимо подготовить запрос для выборки из базы
$folderPath= «C:SharedBR_Playlist1»
$HouseIds= @()
foreach ($item in dir $folderPath)
{
$xmlFilePath = $folderPath + $item.Name
[xml] $xmlContent = [xml] (Get-Content -Path $xmlFilePath)
#Write-Host $item.Name
foreach( $event in $xmlContent.playlist.program.event )
{
    #Write-Host $event.housenumber
    $HouseIds+=$event.housenumber
}
}
#{$_} 
$HouseIds | sort-object | Get-Unique | Select-Object   @{Name=»Comnd»;Expression={«Select '»+$_+»' as evnt UNION ALL»  }}

PS
В качестве бонуса, небольшой скрипт по проверке даты изменения файла и отправке сообщений на почту.

$fullPath = «\serverc$importExcel.xls»
$lastWrite = (get-item $fullPath).LastWriteTime
$timespan = new-timespan -days 2 

if (((get-date) — $lastWrite) -gt $timespan) {
    send-mailmessage -to «user1@domain.ru» -from «user2@domain.ru» -subject «Employee List Update fail» -Body «Please check » +$fullPath  -SmtpServer «smtp.domain.ru»

Добавляем в планировщик задачу и при необходимости добавляем логирование в параметрах
powershell.exe C:WindowsTasksImportBVUsers.ps1 >> C:WindowsTasksBVImportLog.txt

Автор: Roman D
Дата публикации: 2017-02-01T06:15:00.001-08:00