Điều này có thể được thực hiện hơi chung chung do có các lệnh khác có thể được chạy. Ví dụ: removeLingeringObject thường được sử dụng.
Nguồn: https://github.com/edemilliere/ADSI/blob/master/Invoke-ADSDPropagation.ps1
Gọi hàm-ADSDPropagation{
<#
.TÓM TẮT
Gọi một tác vụ SDProp trên PDCe.
.SỰ MIÊU TẢ
Thực hiện cuộc gọi LDAP để kích hoạt SDProp.
.VÍ DỤ
Gọi-ADSDPropagation
Theo mặc định, RunProtectAdminGroupsTask được sử dụng.
.VÍ DỤ
Gọi-ADSDPropagation-TaskName FixUpInheritance
Sử dụng tên tác vụ FixUpInheritance kế thừa cho Windows Server 2003 trở về trước.
.PARAMETER Tên tác vụ
Tên của nhiệm vụ để sử dụng.
- FixUpInheritance cho hệ điều hành cũ
- RunProtectAdminGroupsTask cho hệ điều hành gần đây
.INPUTS
.OUTPUTS
.GHI CHÚ
Bạn có thể theo dõi tiến trình với:
Get-Counter -Counter '\directoryservices(ntds)\ds hàng đợi thời gian chạy bộ truyền mô tả bảo mật' | Select-Object -ExpandProperty CounterSamples | Select-Object -ExpandProperty CookedValue
.LINK
http://ItForDummies.net
#>
[CmdletBinding()]
Thông số(
[Tham số(Bắt buộc=$false,
HelpMessage='Tên miền buộc SDProp chạy',
Vị trí=0)]
[ValidateScript({Kiểm tra kết nối -Tên máy tính $_ -Đếm 2 -Quiet})]
[String]$DomainName = [System.DirectoryServices.ActiveDirectory.Domain]::GetCienDomain().Name,
[ValidateSet('RunProtectAdminGroupsTask','FixUpInheritance')]
[String]$TaskName = 'RunProtectAdminGroupsTask'
)
cố gắng{
$DomainContext = Đối tượng mới System.DirectoryServices.ActiveDirectory.DirectoryContext('domain',$DomainName)
$DomainObject = [System.DirectoryServices.ActiveDirectory.Domain]::GetDomain($DomainContext)
Viết-Verbose -Thông báo "PDCe được phát hiện là $($DomainObject.PdcRoleOwner.Name)."
$RootDSE = Đối tượng mới System.DirectoryServices.DirectoryEntry("LDAP://$($DomainObject.PdcRoleOwner.Name)/RootDSE")
$RootDSE.UsePropertyCache = $false
$RootDSE.Put($TaskName, "1") # RunProtectAdminGroupsTask & fixupinheritance
$RootDSE.SetInfo()
}
nắm lấy{
ném "Không thể gọi SDProp trên $($DomainObject.PdcRoleOwner.Name) !"
}
}