在多个域上设置 SCCM

在多个域上设置 SCCM

在实验室环境中,我尝试配置 SCCM 服务器 (2007) 作为跨三个不同域的补丁解决方案。

DOMAIN A (domA.sample):
The trusted domain. SCCM01 (Server) is on this network.

DOMAIN B (domB.sample):
One way trust between the two domains. DOMAIN B trusts DOMAIN A, but not the other way around.

DOMAIN C (domC.sample):
No trust between this domain and any other domain.

SCCM 已在域 A 上设置并运行。该域上的任何服务器都将收到补丁。我目前正在域 B(单向信任)上工作。我无法在我的 SCCM 服务器中添加查找系统。我能够在 ServerA.domB.sample 上手动安装客户端,即使我重新发现站点代码,站点代码也会恢复正确,但不知何故 ServerA 未与 SCCM01 通信。

我尝试过的:

http://social.technet.microsoft.com/Forums/en-US/configmgrgeneral/thread/6f06bbf1-6ff4-4a41-9d42-894c1a6e13ea
http://scexblog.blogspot.com/2010/06/sccm-discover-another-trusted-domain.html

有人有使用 SCCM 的经验吗?

答案1

我想说的是,我认为信任并不是那么重要。我已经有一段时间没有经历过这件事了,所以我不想给你任何胡说八道的答案。但从我依稀记得的情况来看,我认为这与设置 SCCM 网络访问帐户有关。

以下是一些供您阅读的内容:

答案2

如果最终目标只是在不同的域中安装补丁解决方案,那么 SCCM 可能弊大于利。您可以设置 WSUS,然后在每个域中使用组策略指向它。客户端定位还可以让您将系统组分开。

如果由于其他原因确实需要 SCCM,我将依靠其他答案来提供帮助。

答案3

另一种“解决方法”类型的答案:

cls

$myScriptPurpose = "Welcome!"

$mytrash = "c:\temp\trashFile.txt"


function getCred {

    $mycredential = $host.ui.promptforcredential("patch systens", "Please enter your user name and password.", "", "NetBiosUserName") 

    if(!$mycredential) {
        $myErr = "Please enter a value!"
        $myErr
        exit
    }

    $mypass = $mycredential.getNetworkCredential().password
    $myuser = $mycredential.getNetworkCredential().username
    $mydomain = $mycredential.getNetworkCredential().domain



    $isDomain1 = [string]::Compare($mydomain, "domain1", $True)
    $isDomain2 = [string]::Compare($mydomain, "domain2", $True)




    if ($isDomain1 -eq 0) {
        $myservers = get-content input\domain1ListOfServers.txt
        $myoutputfile = "output-domain1.txt"
    }
    elseif ($isDomain2 -eq 0) {
        $myservers = get-content input\domain2ListOfServers.txt
        $myoutputfile = "output-domain2.txt"
    }
    else {
        $myErr = "Unknown domain!"
        $myErr
        exit

    }


    $emptyStr | out-file $Myoutputfile

}



function patch {

    foreach ($server in $myservers) {
                Write-host "Copying folder."
        xcopy  c:\pathToPatches \\$server\c$\temp\patchJob /Y > $myTrash
        write-host "Installing patches on $server."
        psexec \\$server -u $mydomain\$myuser -p $mypass -i c:\temp\patchjob\install.vbs 2> $myTrash

        write-host "Cleaning up."
                psexec \\$server -u $mydomain\$myuser -p $mypass -i del "c:\temp\patchjob\install.vbs" 2> $myTrash
        Write-host " Done."

    }
}


function cleanUp {

    del c:\temp\trashFile.txt

    Remove-Variable my*
    Remove-Variable is*
}





getCred
patch
cleanup

相关内容