Задать вопрос
@Desert-Eagle
Новичок во всем

Как можно активировать модуль ActiveDirectory через GPO или скриптом?

Есть скрипт, который вешается на логон пользователя, скрипт отрабатывается частично. В логах вижу ошибку на строчке Import-module ActiveDirectory, о том что модуль ActiveDirectory не найден.
Если на ПК где выполняется скрипт под правами админа запустить PS и выполнить:
Add-WindowsCapability –online –Name “Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0”

После чего снова запустить скрипт, то все выполнится корректно.

Пробовал сделать как тут описано, но не работает. Т.е. я скопировал файлы из папки Modules в папку, которую разместил в netlogon, чтобы папка была по умолчанию в доступе у всех и не копировать всю папку на каждый комп в домене каждый раз. Добавил туда же два файла, которые и импортируются в итоге, в скрипте в самом начале добавил две строки:
Import-Module "\\domain.local\NETLOGON\ActiveDirectory\Microsoft.ActiveDirectory.Management.dll"
Import-Module "\\domain.local\NETLOGON\ActiveDirectory\Microsoft.ActiveDirectory.Management.resources.dll"

Ошибка та же самая, что и без установленного модуля.

Может можно Add-WindowsCapability как-то выпонить через GPO на всех тачках, потому что их много?

Сам скрипт PS

Import-Module "\\domain.local\NETLOGON\ActiveDirectory\Microsoft.ActiveDirectory.Management.dll"
Import-Module "\\domain.local\NETLOGON\ActiveDirectory\Microsoft.ActiveDirectory.Management.resources.dll"

$User = $env:UserName
$FileName = "Sign"
$FileExtension = "htm","rtf","txt"
$PathOriginal = "\\domain.local\NETLOGON"
$Path = "C:\Users\Public\Downloads"
$PathSignature = "$PathOriginal\OutlookSignature"
$PathSignatureTemplates = "$PathOriginal\OutlookSignature\Templates"

$PathSignatureUser = "$Path\OutlookSignature\$User"
$AppSignatures =$env:APPDATA + "\Microsoft\Signatures"

Import-module ActiveDirectory
$AD_user = Get-ADUser $User -Properties Title,Company,homePhone,telephoneNumber,sn,givenName

New-Item -Path "$Path\OutlookSignature\$User" -ItemType Container –Force
foreach ($Ext in $FileExtension)
{
Copy-Item -Force "$PathSignatureTemplates\$FileName.$Ext" "$PathSignatureUser\$FileName.$Ext"
}

foreach ($Ext in $FileExtension)
{
(Get-Content "$PathSignatureUser\$FileName.$Ext") | Foreach-Object {
$_ -replace "@sn", $AD_user.sn `
-replace "@givenName", $AD_user.givenName `
-replace "@Title", $AD_user.Title `
-replace "@Company", $AD_user.Company `
-replace "@homePhone", $AD_user.homePhone `
-replace "@ipPhone", $AD_user.telephoneNumber
} | Set-Content "$PathSignatureUser\$FileName.$Ext"
}

foreach ($Ext in $FileExtension)
{
Copy-Item -Force "$PathSignatureUser\$FileName.$Ext" "$AppSignatures\$User.$Ext"
write-host "$PathSignatureUser\$FileName.$Ext"
write-host "$AppSignatures\$User.$Ext"
}

#Office 2016 and Over
If (Test-Path HKCU:'\Software\Microsoft\Office\16.0') {
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Office\16.0\Outlook\Setup -Name First-Run -Force -ErrorAction SilentlyContinue -Verbose
New-ItemProperty HKCU:'\Software\Microsoft\Office\16.0\Common\MailSettings' -Name 'ReplySignature' -Value $User -PropertyType 'String' -Force
New-ItemProperty HKCU:'\Software\Microsoft\Office\16.0\Common\MailSettings' -Name 'NewSignature' -Value $User -PropertyType 'String' -Force
}

  • Вопрос задан
  • 38 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
SignFinder
@SignFinder
Wintel\Unix Engineer\DevOps
Модуль ActiveDirectory для Powershell - это модуль управления AD с помощью Powershell.
Если все-таки странным образом он используется в скриптах GPO, хотя это и выглядит очень и очень странно - нужно обеспечить его установку и возможность запуска на всех машинах, к которым применяется GPO.
Ответ написан
Комментировать
@NortheR73
системный инженер
как-то так без загрузки модулей:
$AD_user = Invoke-Command -ComputerName $DC -ScriptBlock {Get-ADUser $Using:User -Properties * | Select-Object DisplayName,Title,Company,StreetAddress,PostalCode,L,Mobile,Mail,wwwHomePage} -ErrorAction Stop
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы