Failed to get the encrypted PXE password SMS_DISTRIBUTION_MANAGER 28/11/2013 12:08:25 PM 1912 (0x0778)
For this, you are going to need to re-enter the password on each Distribution Point.
Now, I'm sure you know how long this takes to do through the console.
Here's a script that can help!
(this is a modified version of http://myitforum.com/myitforumwp/2013/11/21/change-pxe-password-on-all-dps/ as this one assumes that all the DP's are PXE Enabled - which for us, is not the case - Thanks for the heads up Raphael!)
Import-Module ($Env:SMS_ADMIN_UI_PATH.Substring(0,$Env:SMS_ADMIN_UI_PATH.Length-5) + '\ConfigurationManager.psd1')
$PSD = Get-PSDrive -PSProvider CMSite
CD "$($PSD):"
$strSiteData = CMSite
$sdkserver = $strSiteData.ServerName
$SiteCode = $strSiteData.SiteCode
$NewPXEPassword = "superpassword!"
$property = "PXEPassword"
## Make a password object ##
$passwordclass = [wmiclass]“”
$passwordclass.psbase.Path = “\\” + $sdkserver + “\ROOT\SMS\site_” + $SiteCode + “:SMS_Site”
$inParams = $passwordclass.GetMethodParameters(“EncryptDataEx”)
$inParams["Data"] = $NewPXEPassword
$inParams["SiteCode"] = $SiteCode
$outParams = $passwordclass.InvokeMethod(“EncryptDataEx”, $inParams, $null)
$PXEpassword = $outParams.EncryptedData.ToString()
#Write-Output “PXE Password is set to the following encrypted value: ” $PXEpassword
## Gather DP's to Action
$query = "SELECT * FROM SMS_DistributionPointInfo WHERE IsPXE = 1"
$AllPXEDPs = Get-WmiObject -ComputerName $sdkserver -Namespace "ROOT\SMS\Site_$($SiteCode)" -Query $query | select Name
foreach ($dpObj in $AllPXEDPs)
{
Write-Host "Updating PXEPassword on $($dpObj.Name)"
$query = "SELECT * from SMS_SCI_SysResUse WHERE NetworkOSPath LIKE '%$($dpObj.Name)%' AND RoleName = 'SMS Distribution Point'"
$dp = Get-WmiObject -ComputerName $sdkserver -Namespace "root\sms\site_$SiteCode" -Query $query
##Call Get on the object to return ALL the properties.
##KNOWN ISSUE: if you have too much info in the PFXData property of the Props array, it wont return anything! Props=Null
$dp.Get()
#Copy Props to a new varible so we can mod it
$props = $dp.Props
$prop = $props | where {$_.PropertyName -eq $property}
$prop.Value = 0
$prop.Value1 = $PXEpassword
$prop.Value2 = $null
#Write Props back/over existing props
$dp.Props = $props
#Out to Null so we dont get screen garbage
$dp.Put() | Out-Null
Write-Host "Finished Updating PXEPassword on $($dpObj.Name)"
}
Once you run this, the distmgr log will begin processing the changes.
NOTE: if it is already processing stuff, it's going to finish that first.....
ConfigureDP SMS_DISTRIBUTION_MANAGER 28/11/2013 3:28:03 PM 1508 (0x05E4)
IISPortsList in the SCF is "80". SMS_DISTRIBUTION_MANAGER 28/11/2013 3:28:03 PM 1508 (0x05E4)
IISSSLPortsList in the SCF is "443". SMS_DISTRIBUTION_MANAGER 28/11/2013 3:28:03 PM 1508 (0x05E4)
IISWebSiteName in the SCF is "". SMS_DISTRIBUTION_MANAGER 28/11/2013 3:28:03 PM 1508 (0x05E4)
IISSSLState in the SCF is 224. SMS_DISTRIBUTION_MANAGER 28/11/2013 3:28:03 PM 1508 (0x05E4)
DP registry settings have been successfully updated on SERVERNAME.Domain SMS_DISTRIBUTION_MANAGER 28/11/2013 3:28:03 PM 1508 (0x05E4)
STATMSG: ID=9500 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_DISTRIBUTION_MANAGER" SYS=SERVERNAME.Domain SITE=TS1 PID=2548 TID=1508 GMTDATE=Thu Nov 28 04:28:03.885 2013 ISTR0="["Display=\\SERVERNAME.Domain\"]MSWNET:["SMS_SITE=TS1"]\\SERVERNAME.Domain\" ISTR1="" ISTR2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=1 AID0=404 AVAL0="["Display=\\SERVERNAME.Domain\"]MSWNET:["SMS_SITE=TS1"]\\SERVERNAME.Domain\" SMS_DISTRIBUTION_MANAGER 28/11/2013 3:28:03 PM 1508 (0x05E4)
STATMSG: ID=9503 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_DISTRIBUTION_MANAGER" SYS=SERVERNAME.Domain SITE=TS1 PID=2548 TID=1508 GMTDATE=Thu Nov 28 04:28:03.886 2013 ISTR0="["Display=\\SERVERNAME.Domain\"]MSWNET:["SMS_SITE=TS1"]\\SERVERNAME.Domain\" ISTR1="" ISTR2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=1 AID0=404 AVAL0="["Display=\\SERVERNAME.Domain\"]MSWNET:["SMS_SITE=TS1"]\\SERVERNAME.Domain\" SMS_DISTRIBUTION_MANAGER 28/11/2013 3:28:03 PM 1508 (0x05E4)
ConfigurePXE SMS_DISTRIBUTION_MANAGER 28/11/2013 3:28:03 PM 1508 (0x05E4)
No need to initialize monitoring task on SERVERNAME.Domain SMS_DISTRIBUTION_MANAGER 28/11/2013 3:28:04 PM 1508 (0x05E4)
DP settings have been updated to SERVERNAME.Domain. SMS_DISTRIBUTION_MANAGER 28/11/2013 3:28:04 PM 1508 (0x05E4)
Initialize usage gathering task on SERVERNAME.Domain SMS_DISTRIBUTION_MANAGER 28/11/2013 3:28:04 PM 1508 (0x05E4)
DP settings have been updated to SERVERNAME.Domain. SMS_DISTRIBUTION_MANAGER 28/11/2013 3:28:05 PM 1508 (0x05E4)
OS information for the server - 6.2.9200 SMS_DISTRIBUTION_MANAGER 28/11/2013 3:28:05 PM 1508 (0x05E4)