Задача провести аудит и убедиться что локальный администратор выключен на серверах.
# Получить список всех серверов в AD $computers = Get-ADComputer -Filter {OperatingSystem -like "Windows Server*"} -Properties Name # Определить имя пользователя, который будет использоваться для выполнения удаленных команд $credential = Get-Credential # Создать массив для хранения результатов $results = @() # Пройти по списку серверов и выполнить команду на каждом из них foreach ($computer in $computers) { $computerName = $computer.Name # Проверить доступность сервера if (Test-Connection -ComputerName $computerName -Count 1 -Quiet) { $session = New-PSSession -ComputerName $computerName -Credential $credential # Искать учетную запись локального администратора $localAdmin = Invoke-Command -Session $session -ScriptBlock { $admins = Get-WmiObject -Class Win32_Group -Filter "LocalAccount=True AND SID='S-1-5-32-544'" $admins | ForEach-Object { $_.GetRelated('Win32_UserAccount') } | Select-Object -ExpandProperty Name } Remove-PSSession -Session $session if ($localAdmin) { $results += [PSCustomObject]@{ ComputerName = $computerName LocalAdministrator = $localAdmin } } } else { $results += [PSCustomObject]@{ ComputerName = $computerName Status = "Unreachable" } } } # Вывести результаты $results | Format-Table -AutoSize
Similar Posts:
- Как cменить пароль локального администратора в домене на серверах через Powershell.
- Как вывести список почтовых ящиков с информацией отключены пользователи и есть ли редиректор exchange
- Как найти где в AD на серверах включен smbv1 и smbv2
- Как подключиться к почте Exchange через Powershell на другом сервере и создать почтовый ящик пользователю.
- Как создать переадресацию с одного ящика на другой в exchange. Переезд в другой домен.