使用PowerShell脚本安装SCCM分发点
这篇文章向您介绍了一个脚本,它可以帮助您使用PowerShell脚本安装SCCM分发点。这几天我一直在写这个剧本。最后我把它修好了,很高兴能和大家分享。
创建一个分配点在SCCM中并不是一项艰巨的任务,您可以使用向导来完成。然而,使用PowerShell脚本,这可以更容易和安静地完成。此外,这个脚本允许您启用PXE,指定密码,并在分布点上启用多播。
我将解释这个脚本的功能,该脚本可下载在这里.除此之外,我还粘贴了下面的脚本,您也可以复制并保存它。确保您运行的是SCCM 2012 R2 SP1及以上版本,该脚本才能正常工作。我已经在配置管理器当前分支版本上测试了这个脚本1511,1606,1610.
运行旧脚本时,当前分支的最新版本显示了以下警告。我已经更新了脚本,你不应该看到下面的警告消息。
警告:使用Set-CMDistributionPoint cmdlet来创建或修改多播服务点角色已弃用,并可能在未来的版本中删除。Set-CMM应该使用ulticastServicePoint cmdlet。
使用PowerShell脚本安装SCCM分发点
下面的脚本允许您使用PowerShell cmdlets安装SCCM分发点。还要确保您保留了配置管理器cmdlet库更新.虽然这不是一个复杂的脚本,但让我强调一下重要的命令。
最值得注意的是,在你使用这个脚本之前,你需要指定以下值:-
- SiteCode美元—提供站点代码(3个字母数字字符)。
- DistributionPoint美元—指定安装DP角色的服务器FQDN。
- PXEpass美元—PXE密码。
. synopsis使用PowerShell脚本安装分发点角色。description该脚本允许您在服务器上安装分发点角色,启用PXE, PXE密码和组播选项。parameter DistributionPoint这是您将安装分发点角色的服务器名称。parameter SiteCode这是3个字母的站点代码。parameter PXEpass这是PXE密码。notes版本:2.0发布日期:08-12-2016更新日期:18-08-08-2019作者:hth华体会体育全站Prajwal Desai网站://www.photo-critics.com Post链接://www.photo-critics.com/install-sccm-distribution-point-using-powershell-script/ #> #加载配置管理器模块import-module ($Env:SMS_ADMIN_UI_PATH.Substring(0,$Env:SMS_ADMIN_UI_PATH.Length-5) + '\ConfigurationManager.psd1') $Drive = Get-PSDrive -PSProvider CMSite CD "$($Drive):" #站点代码和分发点服务器信息$SiteCode = 'IND' $DistributionPoint = ' corpscmm . Prajwal . CMSite . '安装SCCM IIS基础组件#dism.exe /online /norestart /enable-feature /ignorecheck /featurename:"IIS- webserverrole " /featurename:"IIS- webserver " /featurename:"IIS- commonhttpfeatures " /featurename:"IIS- staticcontent " /featurename:"IIS- directorybrowsing " /featurename:"IIS- httperrors " /featurename:"IIS- httpredirect "/featurename:"IIS-WebServerManagementTools" /featurename:"IIS-IIS6ManagementCompatibility" /featurename:"IIS-Metabase" /featurename:"IIS-WindowsAuthentication" /featurename:"IIS-WMICompatibility" /featurename:"IIS-ISAPIExtensions" /featurename:"IIS-ManagementScriptingTools" /featurename:"MSRDC-Infrastructure" /featurename:"IIS-ManagementService" #安装分发点角色write-host "分发点角色正在安装在$DistributionPoint-CertificateExpirationTimeUtc "October 10, 2025 10:10:00 PM" -SiteCode $SiteCode -SiteSystemServerName $DistributionPoint -MinimumFreeSpaceMB 1024 -ClientConnectionType 'Intranet' -PrimaryContentLibraryLocation Automatic -PrimaryPackageShareLocation Automatic -SecondaryContentLibraryLocation Automatic -SecondaryPackageShareLocation Automatic #定义PXE密码$PXEpass = converto -securestring -string " Password " -asplaintext -force #启用PXE, Unknown Computer Support,客户端通信方式设置- cmdistributionpoint -SiteSystemServerName $DistributionPoint -SiteCode $SiteCode -EnablePxe $True -PXEpassword $PXEpass -PxeServerResponseDelaySeconds 0 -AllowPxeResponse $True -EnableUnknownComputerSupport $True -UserDeviceAffinity "AllowWithAutomaticApproval" -EnableContentValidation $True -ClientCommunicationType HTTP #启用组播功能Add-CMMulticastServicePoint -SiteSystemServerName $DistributionPoint -SiteCode $SiteCode
脚本解释
首先,我们导入Configuration Manager模块。要导入Configuration Manager模块,必须指定Configuration Manager模块的路径。这是用import-module命令。
在第二步,我们安装网站系统服务器。在安装分发点角色之前,必须执行此步骤。添加新的站点系统服务器我们使用New-CMSiteSystemServer命令。
下一步是可选的。该命令使用dism方式安装DP所需的IIS基础组件。因为这是可选的,所以您可以选择跳过它,因为它是由SCCM完成的。这里有一篇文章展示了为SCCM安装IIS组件.
在下一步中,我们使用Add-CMDistributionPointcmdlet。这个cmdlet在站点系统服务器上创建一个分发点。然而,这个cmdlet有足够的参数我们可以提供。所以我们用这个cmdlet指定的参数是:-
- CertificateExpirationTimeUtc—证书过期日期和时间。
- ClientConnectionType- Internet / InternetandIntranet / Intranet。
- PrimaryContentLibraryLocation, PrimaryPackageShareLocation -设置为自动。
- SecondaryContentLibraryLocation, SecondaryPackageShareLocation—设置为“自动”。
- MinimumFreeSpaceMB-在SCCM选择不同的驱动器并继续复制到该驱动器之前,驱动器上的空闲大小(以MB为单位)。
在下一步中,我们指定PXE密码。我们使用convertto-secure字符串将纯文本转换为安全字符串,而不是保留纯字符串。此外,我们启用PXE,未知计算机支持,客户端通信方法使用Set-CMDistributionPointcmdlet。
在最后一步中使用Add-CMMulticastServicePointcmdlet,我们在分布点上启用组播功能。
最后要运行这个脚本,启动Windows PowerShell ISE。点击文件>打开>浏览并找到脚本。还要指定站点代码,DP, PXE pass,然后就可以安装DP了。
嗨,在新部署的服务器操作系统映像使用任务序列期间做这件事怎么样,我如何在任务序列步骤中使用此步骤在最后添加角色,我有一个任务序列,使用MDT集成的一些角色和功能步骤构建服务器并安装和配置IIS,我只是将DP角色添加到新构建的系统。这似乎是一个很好的开始
您好,是否可以更新脚本以使用最新的SCCM 1902?谢谢你提供的信息。
我还没有在SCCM 1902上测试脚本。但我很快就会测试的。
就像Sven在下面所写的那样,如果不进行更改,这段代码将无法正常工作。“New-CMSiteSystemServer命令现在使用参数-SiteSystemServerName而不是-ServerName,我使用查找和替换来修复这个问题,然后添加我的站点代码和服务器的FQDN后,它在SCCM 1906中工作得很好,从PowerShell ISE控制台运行,从SCCM管理控制台启动。我仍然试图让它从运行脚本功能工作。我不确定。
脚本已更新。请重试。
如果不进行更改,此代码将无法工作。New-CMSiteSystemServer命令现在使用参数-SiteSystemServerName而不是-ServerName
用1702测试…
脚本已更新。请重试。
这可以用来安装一个拉配电点吗?
没有TimH,它只是安装分发点角色。
嗨Prajwal,
如果我有2个不同域的位置,并且我在1个位置有SCCM。所以我可以使用我的SCCM部署补丁到其他位置。如果是,怎么做?
普拉杰瓦尔,语义点:你可以用Add-WindowsFeature cmdlet来整理你的可选dism命令。(可能或不需要Import-Module ServerManager)(在我的例子中,我有所有角色的所有先决条件,但你只需要挑出一个DP角色所必需的)(也Add-WindowsFeature支持-Computer参数,所以你可以从管理工作站运行你的整个脚本)(额外的好处,你不必为依赖项指定包,它们是自动安装的,这个列表是专门为1511个要求,但应该适用于所有)
Add-WindowsFeature - nameNET-Framework-Features NET-Framework-Core,比特,BITS-IIS-Ext BITS-Compact-Server,服务器,Web-WebServer, Web-Common-Http, Web-Default-Doc, Web-Dir-Browsing, Web-Http-Errors, Web-Static-Content, Web-Http-Redirect, Web-App-Dev, Web-Net-Ext, Web-Net-Ext45, Web-ASP, Web-Asp-Net, Web-Asp-Net45, web cgi, Web-ISAPI-Ext, Web-ISAPI-Filter, web health, Web-Http-Logging, Web-Custom-Logging, Web-Log-Libraries, Web-Request-Monitor, Web-Http-Tracing,网络性能,Web-Stat-Compression,网络安全,网络过滤,Web-Basic-Auth, Web-IP-Security、Web-Url-Auth Web-Windows-Auth, Web-Mgmt-Tools、Web-Mgmt-Console Web-Mgmt-Compat, Web-Metabase, Web-Lgcy-Mgmt-Console, Web-Lgcy-Scripting, Web-WMI, Web-Scripting-Tools, Web-Mgmt-Service RDC
可选的-Verbose和/或-IncludeManagementTools
酷. .谢谢你。
非常好,非常感谢你的工作。
但是,我对你的剧本有个问题,在第27行。
我找不到C: ?
脚本中没有使用C:。你指的是CD“$($Drive):”??