Скрипт для параллельного копирования файлов с помощью BITS

Представим себе, что нам необходимо параллельно запустить несколько копирований через BITS. Это можно сделать в помощью Powershell Workflow. Параллельно создаются BITS Job, для каждой из которых каждые 15 секунд выводится статус копирования. Требуется Powershell версии 5.1 или выше.
Читать полностью »

Популярность: 1%

Использование BITS для передачи больших файлов

Представляю вам скрипт, который в удобной форме создает BITS job на Powershell и каждые 10 секунд показывает текущий статус передачи. По окончании или при ошибке в лог записывается информация о том, сколько % скопировалось, и каков финальный статус пересылки.

Читать полностью »

Популярность: 1%

Скрипт для массовго prestage пакетов на серверах SCCM

Часто требуется выполнить prestage пакетов, которые нормальным образом не хотят распространяться на SCCM Distribution Point сервера. Для этого можно использовать связку утилиты PSEXEC и утилиты ExtractContent.exe, которая входит в состав установки SCCM DP сервера и выполняет prestage. Утилиту PSEXEC вы должны скачать и положить в папку Windows\System32 заранее.
Читать полностью »

Популярность: 1%

Скрипт для включения аккаунтов Active Directory с заданными параметрами

Представим, что выключенные (disabled) аккаунты у вас хранятся в отдельном OU, в них прописаны определеныне аттрибуты, чтобы не ходила почта, а отбойник отправлялся получателям.

Вот пример такого скрипта, который включает аккаунт, перемещает в правильный OU, включает почту через 13 Exchange attribute, делает unhide почтового ящика в Global Address Book (GAL).
Читать полностью »

Популярность: 1%

Скрипт Powershell: отключение Out-of-Office сообщения в почтовом ящике

Этот скрипт отключает auto-reply message (сообщение автоответа) в почтовом ящике MS Exchange. Как обычно, пере запуском команд Exchange, не забудьте запустить скрипт в Exchange Console Shell или импортировать снап-ин Exchange.

#disable OOO
$username = get-mailbox -identity (Read-Host -Prompt "Enter username" -ErrorAction Stop)
Set-MailboxAutoReplyConfiguration -Identity $username -AutoReplyState Disabled
#check
Write-Host "Current state:" -ForegroundColor green
(Get-MailboxAutoReplyConfiguration -Identity $username).AutoReplyState

Популярность: 1%

Скрипт Powershell: получение списка ACL прав всех папок и подпапок

Этот скрипт для примера получает права папок и подпапок C:\Scripts и выводит результаты в CSV файл.

$OutFile = "C:\temp\Permissions.csv"
$Header = "Folder Path,IdentityReference,AccessControlType,IsInherited,InheritanceFlags,PropagationFlags"
Del $OutFile
Add-Content -Value $Header -Path $OutFile 

Читать полностью »

Популярность: 1%

Скрипты Powershell для работы с AD аккаунтами

Получить список группы по маске:

Import-Module ActiveDirectory
Get-ADGroup -Filter {name -like "*Workstation Admins"} | select name

Получить список членов AD группы, которые удовлетворяют критерию (содержат в своем названии search_matching_rule):

Читать полностью »

Популярность: 1%

Скрипт Powershell: управление правами на папки в почтовом ящике

Отличие этих скриптов в том, что они получают список папок я почтовом ящике и продавливают на них права.

Скрипт для добавления прав на папки  в ящике:

[CmdletBinding()]
param (
	[Parameter( Mandatory=$true)]
	[string]$Mailbox,

	[Parameter( Mandatory=$true)]
	[string]$User,
  	[Parameter( Mandatory=$true)]
	[string]$Access
)

Читать полностью »

Популярность: 1%

Скрипт Powershell: размер папок почтовых ящиков

Этот скрипт выводит размер в МБ папки Inbox для всех почтовых ящиков:

#Get size of Inbox folders in all mailboxes
$mailboxes = @(Get-Mailbox -ResultSize Unlimited)
$report = @()

Читать полностью »

Популярность: 1%

Скрипт Powershell для выгрузки DN, SMTP адреса, почтового сервера для списка пользователей

Не забудьте перед запуском подгрузить снапин Exchange, если вы запускаете не из Exchange Powershell консоли. Список пользователей предоставляется в виде списка их логинов (accounts names) в столбик.

#Add-PSSnapin -name "Microsoft.Exchange.Management.PowerShell.E2010"
$date = date | Out-File D:\AD\mbx_list.txt -Append
$users = get-content -Path (Read-Host -Prompt "Path to TXT file with users (usually c:\temp\users.txt)" -ErrorAction Stop)
foreach($user in $users)
{
$list = ((Get-Mailbox $user.trim()) | select alias,name,PrimarySmtpAddress,servername,LegacyExchangeDN)
$line = ($list.alias, $list.name, $list.PrimarySmtpAddress, $list.servername, $list.LegacyExchangeDN -join "`t")
$line | Out-File D:\AD\smtp_address_list.txt -Append
}

Если вам требуется выгрузить только один параметр, например, DN, то код будет проще:

Читать полностью »

Популярность: 1%