1. В планировщике задания создаем правило со следующими параметрами
Архив рубрики: PowerShell
Блокировка устаревших записей ПК AD
Powershell
PS C:\Users\lexit> Import-Module ActiveDirectory PS C:\Users\lexit> get-command -module ActiveDirectory PS C:\Users\lexit> $OldDate = (Get-Date).AddDays(-45).ToFileTime() PS C:\Users\lexit> $r=Get-ADComputer -Property Name,lastLogonDate -Filter {lastLogonDate -lt $OldDate} | Set-ADComputer -Enabled $false
Экспорт пользователей домена в CSV powershell
Экспорт пользователей домена в CSV powershell
$objSearcher = New-Object System.DirectoryServices.DirectorySearcher $objSearcher.SearchRoot = "LDAP://dc=domain,dc=local" $objSearcher.Filter = "(&(objectCategory=person)(!userAccountControl:1.2.840.113556.1.4.803:=2))" $users = $objSearcher.FindAll() # Количество учетных записей $users.Count $users | ForEach-Object { $user = $_.Properties New-Object PsObject -Property @{ Должность = [string]$user.description Отдел = [string]$user.department Логин = [string]$user.userprincipalname Телефон = [string]$user.telephonenumber MТелефон = [string]$user.mobile Комната = [string]$user.physicaldeliveryofficename ФИО = [string]$user.cn ФАМ = [string]$user.sn ИМЯ = [string]$user.givenname ГОРОД = [string]$user.l МЫЛО = [string]$user.mail } } | Export-Csv -NoClobber -Encoding Unicode -Path c:\list_users_act.csv
Массовая смена паролей в AD средствами Powershell
Для начала нам понадобится скачать и установить ActiveRoles Management Shell for Active Directory http://www.quest.com/powershell/activeroles-server.aspx
После установки подключаем…
PS C:> Add-PSSnapin Quest.ActiveRoles.ADManagement
$OU = "domain.local/OU_UNIT/" Get-QADUser -SizeLimit 0 -SearchRoot $OU | ForEach-Object { $DN = $_.DN $Password = "" $rand = New-Object System.Random 1..6 | ForEach { $Password = $Password + [char]$rand.next(97,122) } $login = $_.LogonName $file=c:report.txt Add-Content -Path $file -Value "Пользователь:$(ConvertFrom-DN($DN))`t Имя для входа – $($login)`t Новый пароль – $($Password)" $account = [ADSI]$ldapURL $account.InvokeSet("SetPassword", $Password) $account.setinfo() }
Обновляем старые скрипты на их PowerShell аналоги
Для перезагрузки удаленного сервера (Server1) с 10-ти секундной задержкой, в прежнем скрипте использовалась данная конструкция:
shutdown /r /m SERVER1 /f /t 10
В PowerShell это будет выглядеть так:
Start-Sleep 10
Restart-Computer -Force -ComputerName SERVER1
Перезапуск службы
Для перезапуска службы DNS cache в Windows Server используется следующая команда:
sc stop dnscache
sc start dnscache
В PowerShell это будет выглядеть так:
Restart-Service dnscache
Подключение диска
В окне DOS или исполняемом файле используется следующая команда для подключения диска с сетевого компютера:
Net use L: server1c$
В PowerShell это будет выглядеть так:
New-PSDrive -name L -psprovider FileSystem -root server1c$
Хотя я показал примеры замены самых простейших скриптов, и для более сложных можно, а точнее я думаю уже нужно создавать Powershell-аналоги, которые будут часто и короче и быстрее.
Автор: Rick Vanover.
Найдено на http://system-administrators.info/?p=3558
QADuser или первые шаги…
Задача — добавить пользователя в AD через PowerShell windows 2008 server
Для того чтобы добавить пользователя используем команду new-QADUser
Так как оснастка у меня не была установлена то сначала я получил ошибку
Имя «New-QADuser» не распознано как имя командлета, функцииБ файла скрипта или выполняемой программы
Поправим.
set-Location c:
add-PSSnapin quest.activeroles.admanagement
get-PSSnapin | ft name
проверим
Get-command | where {$_.name -match «QAD»}
Продолжение следует…
Powershell: Удобства и ничего кроме удобств!
Осваиваю Powershell! Впечатления — супер! Ждем постов!