Как протолкнуть сценарий PowerShell на компьютеры домена? - PullRequest
0 голосов
/ 29 октября 2018

Я пытаюсь запустить команду, которая добавит локального администратора на компьютеры. Однако я изо всех сил пытаюсь объединить его со сценарием, чтобы распространить его на все доменные компьютеры с определенной OU в Active Directory.

Ниже первый бит скрипта - команда, которую я использую для создания пользователя.

У меня также есть скрипт для перетаскивания всех необходимых компьютеров OU в CSV, но мне нужно затем передать приведенный ниже скрипт на ПК в этом CSV. Это возможно? Я хочу, чтобы он запускался только один раз, а не как сценарий запуска, так как я не хочу, чтобы он создавал несколько пользователей.

$Username = "user"
$Password = "Password"
$group = "Administrators"
$adsi = [ADSI]"WinNT://$env:COMPUTERNAME"
$existing = $adsi.Children | where {
    $_.SchemaClassName -eq 'user' -and $_.Name -eq $Username
}

if ($existing -eq $null) {
    Write-Host "Creating new local user $Username."
    & NET USER $Username $Password /add /y /expires:never

    Write-Host "Adding local user $Username to $group."
    & NET LOCALGROUP $group $Username /add
}

Write-Host "Ensuring password for $Username never expires."
& WMIC USERACCOUNT WHERE "Name='$Username'" SET PasswordExpires=FALSE

1 Ответ

0 голосов
/ 06 ноября 2018

Если вы действительно хотите запустить свой сценарий только один раз на каждом компьютере, все компьютеры включены и удаленное взаимодействие PowerShell активировано, вы можете сделать это следующим образом:

Get-ADComputer -Filter * -SearchBase "OU=myOU,DC=mydomain,DC=tld" | foreach {

    Invoke-Command -ComputerName $_.DNSHostname -ScriptBlock {

        # Your script goes here...
    }
}

В приведенном выше примере все объекты компьютера считываются из предопределенного подразделения из Active Directory, подключаются к каждому и выполняют ваш сценарий (или что-либо в -Scriptblock {}) на компьютере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...