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

Запуск скрипта в скрипте в среде PowerShell

Необходимо организовать запуск скриптов Powershell. Для примера запустим скрипт ps1, в котором получаем результат работы другого скрипта ps1 и работаем с этим значением.

Напишем первый скрипт, который будет что то возвращать, например json значение какого либо ключа

GetSomeValue.ps1
$answer = $ResponseAnswer.Content | Out-String | ConvertFrom-Json
return $answer.someJsonKey

Теперь напишем скрипт, который запустить первый скрипт получит значение и выведет его на экран

CheckValue.ps1
$GetValue = & "$PSScriptRoot\GetSomeValue.ps1"
If ($GetValue -eq "Ice") {
 write-Host "Success Value is "  $GetValue 
 }Else
{
  write-Host "Failed Value is "  $GetValue  
}

Автоматизация переноса пользователей в Active Directory (AD)

Задача

Необходимо автоматизировать нахождение и перенос пользователей в отведенную группу Active Directory.

Решение

Написать следующий скрипт  (PowerShell script)

$otd = $args[0]
$TargetPath = "OU=" + $otd + ",OU=Moscow,OU=Branches,OU=People,OU=firmas,DC=Firmas,DC=local"
foreach ($name in Get-Content “D:\users.txt”)
{
$a = "*" + $name + "*"
# Get-ADUser -Filter {Surname -like $name} | FT DistinguishedName
echo "--------------" "Целевой отдел:" "" $otd "--------------"
Get-ADObject -Filter {Name -like $a} -Searchbase "OU=firmas,DC=Firmas,DC=local" | Move-ADObject 
-TargetPath $TargetPath -Confirm
}

где  — D:\users.txt — тут находится список пользователей

скрипт необходимо запускать с параметром (параметр — название группы в которую необходимо перенести пользователей из файла)