【问题标题】:What do the values of 'A' and 'R' for msiScriptName represent?msiScriptName 的“A”和“R”值代表什么?
【发布时间】:2017-01-09 15:50:34
【问题描述】:

第一次stackoverflower。

我需要从我的软件部署 GPO 的 PackageRegistrations 中删除“幽灵”条目。

我的意思是,ADSI 对象中的条目比与 GPO 关联的 MSI/MST 文件的数量多。即这个博主似乎也在经历http://justanotheritblog.co.uk/2016/11/15/list-msi-paths-from-software-installation-policies/(我在调查我的问题时才发现这个)。

在探索 ADSI 中的属性时,我偶然发现了“msiScriptName”,它的值似乎是“A”或“R”。

我似乎找不到关于这些值可能代表什么的任何信息。

关于“A”和“R”的含义和/或如何正确识别和/或删除“幽灵”条目的任何想法广受好评。

原因是我有一大堆需要文件路径更新的软件部署 GPO,而不是手动编辑每个我想使用 PowerShell 批量更新它们 - 我们正在从固定文件迁移到 DFS服务器,所以我需要更新 msiFileList 属性。我可以这样做,但不想将处理开销浪费在不相关的对象上。

以下是粗略的代码,建议我如何做到这一点

$MSIFiles = @()

# Get all the SoftwareDeployment GPOs, indicated by a displayname continaing 'Install' and create an object for each MSI/MST associated to it.
$Packages = Get-GPO -All | Where-Object { $_.DisplayName -like "*Install*" } | Get-ADObjectGPOPackages -Domain 'skyriver.internal'
foreach ($p in $Packages)
{
    $msiCount = ($p.msiFileList | Measure-Object).Count
    $msiFileListNew = @()
    for ($i = 0; $i -lt $msiCount; $i ++)
    {
        $msiFile = $p.msiFileList[$i] -replace 'hoth(01|01.skyriver.internal|02.skyriver.internal)','skyriver.internal\data'
        $msiFileListNew += $msiFile
    }
    $Properties = [ordered]@{
        'gpoDisplayName' = $p.gpoDisplayName
        'PackageNumber' = $p.PackageNumber
        'DisplayName' = $p.DisplayName
        'CN' = $p.CN
        'DistinguishedName' = $p.DistinguishedName
        'Identity' = $p.Identity
        'msiFileList' = $msiFileListNew
    }
    $obj = New-Object -TypeName psobject -Property $Properties
    $MSIFiles += $obj
}

# Now make the replacements.
foreach ($m in $MSIFiles)
{
    Set-ADObject -Identity $m.Identity -Server dagobah.skyriver.internal -Replace @{msiFileList = $m.msiFileList}
}

【问题讨论】:

    标签: active-directory windows-installer group-policy


    【解决方案1】:

    据我所知,A 是 Advertised(即可安装),R 是 Remove。 Ghost 软件包可能有一个 R,因为它们不再有效,因此将被卸载(我不确定这是否仅适用于在删除之前启用“超出范围时卸载”选项?)。

    【讨论】:

    • 谢谢蒂姆,真的很有帮助。当我有时间的时候,我可能会做更多的测试。
    猜你喜欢
    • 2017-03-04
    • 2017-01-18
    • 1970-01-01
    • 2014-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多