在实验室环境中,我尝试配置 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 网络访问帐户有关。
以下是一些供您阅读的内容:
- http://technet.microsoft.com/en-us/library/bb680398.aspx
- http://social.technet.microsoft.com/Forums/eu/configmgrgeneral/thread/1babd3e4-97ad-42c3-b3da-ee4456e5df7c
- http://www.myitforum.com/forums/SCCM-across-domains-m216328.aspx
- http://www.networksteve.com/enterprise/topic.php/SCCM_and_Multiple,_non_trusting_Active_Directory_Forests/?TopicId=13656&Posts=8
答案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