Сохранение настроек конфигурации Active Directory в файл - PullRequest
0 голосов
/ 14 апреля 2019

Я использую свой компьютер для запуска сценария на сервере контроллера домена, используя Enter-PSSession. Все это работает, за исключением того, что я не могу сохранить результаты из скрипта на моей локальной машине.

Я хочу сохранить выходные данные скрипта как объекты на моем локальном компьютере в формате csv (не на сервере контроллера домена).

Я пытаюсь сохранить результаты от запуска таких команд, как Get-ADDomainController и т.д ..

Может кто-нибудь помочь мне с этим?

1 Ответ

0 голосов
/ 14 апреля 2019

Что касается этого ...

Я не могу сохранить выходные данные из скрипта на моей локальной машине.

... конечно, вы можете. Просто создайте файл журнала как часть вашего сеанса и скопируйте этот файл обратно на рабочую станцию ​​для просмотра, или просто используйте командлеты * -Transcript, чтобы автоматически создать файл, который вы можете скопировать. Стенограмма запишет все, что происходит на сессиях.

Get-Command -Name '*transcript*' | ft -a

CommandType Name             Version Source                   
----------- ----             ------- ------                   
Cmdlet      Start-Transcript 3.0.0.0 Microsoft.PowerShell.Host
Cmdlet      Stop-Transcript  3.0.0.0 Microsoft.PowerShell.Host


# get function / cmdlet details
(Get-Command -Name Start-Transcript).Parameters
Get-help -Name Start-Transcript -Full
Get-help -Name Start-Transcript -Online
Get-help -Name Start-Transcript -Examples

Или не используйте интерактивную Enter-PSSession (явную PowerShell Remoting), которая помещает вас прямо в DC. Используйте сеанс неявного PSRemoting, используя New-PSSession и передайте командлеты AD на ваш компьютер для использования.

$SessionAD = New-PSSession -ComputerName ''dc01.contoso.com
Invoke-Command $SessionAD -Command {Import-Module ActiveDirectory}
Import-PSSession $SessionAD -Module ActiveDirectory | Out-Null

$ADUSers = Get-ADuser -Filter *
$var = $ADUSers | Select-Object -Property Name, SamaccountName | Out-GridView -OutputMode Single 

$GroupsMember = Get-ADUser -Filter ('Name -eq "' + $var.Name + '"') -Property MemberOf |
                Select -ExpandProperty MemberOf |
                Get-ADGroup -Property MemberOf |
                Select Name

$GroupsMember
Get-PSSession | Remove-PSSession

Затем вы можете запускать командлеты ADDS, как если бы они действительно были на вашем компьютере, а результаты на вашем компьютере, или если вы работаете в Windows 8 или выше, просто загрузите и установите (Win 7 - 8) / включить инструменты RSAT (Win 10) напрямую и использовать их.

Удаленный неявный путь

PowerShell неявное удаленное взаимодействие: никогда не устанавливайте модуль снова

Также посмотрите и Invoke-Command для запуска команды локально или удаленно.

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