Jump to content




Search the Community

Showing results for tags 'Configuration Manager 2012'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • General Stuff
    • Site News
    • Windows News
    • Suggestion box
    • General Chat
    • Events
    • Jobs
  • Microsoft Deployment Toolkit
    • Deploying Windows 10, Windows 8.1, Windows 7 and more...
  • Cloud
    • Microsoft Intune
    • Azure
    • Office 365
  • SMS, SCCM, SCCM Current Branch, SCCM Technical Preview
    • SMS 2003
    • Configuration Manager 2007
    • Configuration Manager 2012
    • System Center Configuration Manager (Current Branch)
    • How do I ?
    • Packaging
    • scripting
    • Endpoint Protection
  • Windows Server
    • Active Directory
    • KMS
    • Windows Deployment Services
    • NAP
    • Failover Clustering
    • PKI
    • Windows Server 2008
    • Windows Server 2012
    • Windows Server 2016
    • Hyper V
    • Exchange
    • IIS/apache/web server
    • System Center Operations Manager
    • System Center Data Protection Manager
    • System Center Service Manager
    • System Center App Controller
    • System Center Virtual Machine Manager
    • System Center Orchestrator
    • Lync
    • Application Virtualization
    • Sharepoint
    • WSUS
  • Microsoft SQL Server
    • SQL Server
  • Windows General
    • Windows 10
    • Windows 8
    • Windows 7
    • Windows Vista
    • Windows XP
    • how do I do this ?
    • windows screenshots

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Website URL


Location


Interests

Found 13 results

  1. Hi all, So we are in the process of switching to Configuration Manager 2012 and we are now having MANY instances of WMI corruption on user workstations. The OS we are deploying is Win 7 SP1. Symptoms: -Keeping users from logging in (heavily delayed or not at all), spinning at the blue login screen. -Computer hangs at logoff/shutdown. -NIC lags on recognizing internet connection at startup. -Programs running slow and crashing (Includes MS Office and IE). -Windows crashing and getting black screens. Fixes we've tried: -Deleting all expired updates from Configuration Manager. -Consolidating software update groups. When originally installed, someone configured it so every update would create it's own update group. After fixing this, we saw a decrease in affected machines. -Reseting the repositroy. This is pretty much putting a band-aid on the problem. It get's users to be able to get functional again while we continue to troubleshoot the underlying problem. We've tried salavaging the repository, but it hardly if ever completes successfully. -Applying the following hotfixes from Microsoft, after the repository has been reset. This method is only on about 1% of the machines on our network and is still in testing phase. 2705357 The WMI process stops sending events to WMI clients from a Windows 7-based or Windows Server 2008 R2-based server 2692929 "0x80041001" error when the Win32_Environment WMI class is queried by multiple requestors in Windows 7 or in Windows Server 2008 R2 2617858 Unexpectedly slow startup or logon process in Windows Server 2008 R2 or in Windows 7 2465990 "0x80041002 (WBEM_E_NOT_FOUND)" error occurs when you try to open a WMI namespace on a computer that is running Windows 7 or Windows Server 2008 R2 2492536 Msinfo32.exe takes a long time to display or export system information on a computer that has many MSI-X-supported devices and that is running Windows 7 or Windows Server 2008 R2 2578159-When you log on to a computer that is running Windows Server 2008 R2 or Windows 7, the logon process stops responding and a blue swirl is shown on the Welcome screen indefinitely. After some time, the computer stops responding to any network-related commands. You must forcibly restart the computer to recover from this issue. This issue occurs because of a race condition between the Windows Event Log service and the Event Tracing for Windows (ETW) tracing functions. When the race condition occurs, it causes a deadlock situation. This deadlock situation then causes the Winlogon.exe process to become unresponsive. 2639505- Assume that you run a service which queries the Win32_StartupCommand Windows Management Instrumentation (WMI) class on a computer that is running Windows Vista, Windows Server 2008, Windows 7, or Windows Server 2008 R2. In this situation, all loaded user profiles occasionally cannot be unloaded successfully after the WMI query is finished. If the number of unloaded user profiles keeps increasing, the system resources may be exhausted. For example, the virtual address control block (VACB) may be exhausted. 2639077-Handle leak in Svchost.exe when a WMI query is triggered by using the Win32_PowerSettingCapabilities class in Windows 7 or in Windows Server 2008 R2 2547244-The WMI service and the WMI providers stop responding when you use WMI performance classes to monitor performance on a computer that is running Windows 7 or Windows Server 2008 R2 Thanks in advance for any help!
  2. Hello, This is my first post as I just registered with W-N. This question may have been asked before however I wasn't able to find it so I would like to apologise if I'm asking it again. I have a lab setup and I have successfully deployed the OS's to various VM's in my network. What I would like to do is add a security group to a computer object and have SCCM deploy it to the specified computer. 1. I have created an OU called " Subscriber Applications ". And in this OU I have created 2 Security Groups: Security Group 1: Application - Google Chrome Security Group 2: Application- Mozilla Firefox 2. In CM 2012 Console ( -> Software Library -> Overview -> Application Management -> Applications ) Under Applications I have created the 2 Applications using it's MSI installation file, then Distributed Content to DP. (Named it as: Mozilla Firefox and Google Chrome) 3. Under Assets and Compliance-> Overview-> Device Collections I created a new folder called Applications. 4. In that folder I created a Device collection called Google Chrome. 5. Limiting Collection was set to All Systems. 6. In Query Rule properties I named is as Google Chrome again. Then clicked Edit Query Statement. 7. In Criterion Properties, Type was set as Simple Value. Attribute Class: System Resource, Attribute: System Group Name; Value: I chose the security group. Query Statement: select * from SMS_R_System where SMS_R_System.SystemGroupName = Domain\Application - Google Chrome. Once it's created I right click and deploy it. It installs Google Chrome to all computers. instead of only on the computer that has Google chrome membership. Can someone please guide me on this. I know I'm doing this all wrong. Once again...Sorry for the double post. And many many thanks for your assistance.
  3. Hi all Just found in todays post https://support.microsoft.com/en-gb/kb/3054451 Have fun Adrian
  4. Afternoon All, Hopefully there are some experienced SCUP users here on the forums. I seem to have an issue with the "Automatic" publishing feature of SCUP. They publish metadata only, despite client requesting that they need the update. My understanding is that if any Configuration Manager clients are requesting the update a full content will be initiated otherwise only metadata will be published. Am i missing something? Is there a specific log I can look at to see why it's not switching to full content automatically when requested?
  5. I have a client machine that is running Windows 7 Professional Build 7601 Service Pack 1. We are running System Center 2012 R2, version 5.0.7958.1000. I attached an image of software center on the client machine. The problem: None of the software in that picture that says "Status: Installed" is actually installed. I have tried removing the machine from the deployment collection and rerunning all policies under the action tab in configuration manager on the machine. Once it was added back to the deployment grouo (becuase I need to redeploy this software to test silent/automatic deployment) all of the software came back as being installed. I have cleared the SCCM cache on the local machine... I don't really know where else to go.
  6. Hi, I've a query related to tagging inventoried software discovered by Configuration Manager 2012 (with SP1) against custom labels created. Problem is, in my environment, I have close to 19,000 software discovered and over 1800 custom labels. And so tagging the software individually through the console is time consuming. Could somebody point me any work around to complete the custom label mapping either using WMI scripting or SQL updates? Any help appreciated.
  7. I work for a university that has a standard DNS suffix that matches the domain name across most of the University. My department, however, is unique and our workstations are actually assigned a different DNS suffix that does not match the domain name. So a computer may be named CompName.DomainName.edu but it will resolve as CompName.AltDNSSuffix.edu. Central IT has given out department's IT delegated access to our department's device collection in Configuration Manager 2012 and sent us to training. One of the suggestions of our trainer was to utilize Now Micro Right Click Tools. These tools work for every department in the university but mine. Any time I try to use them, I get told that the workstation is offline. I believe the reason for this is my department's unique DNS Suffix. The actual error I get is "CompName.DomainName.edu is not online." The problem is that CompName.DomainName.edu does not resolve, only CompName.AltDNSSuffix.edu will resolve. I do not have control over the DNS or DHCP so I am looking for a solution that does not involve changes to their configuration. Now Micro Right Click tools is really just a cool collection of Powershell scripts so I believe I can correct this if I can get the script which queries and assigns the computer name to a variable to assign only the first part of the computer name, not the FQDN to the variable. Meaning the variable $CompName becomes "CompName" and not "CompName.DomainName.edu". I am not that skilled with Powershell or scripting in general and would appreciate any assistance. I believe the script I will paste at the bottom of this post is the one that needs to be altered. Thanks! Ryan <# Functions that do all the work Author: Ryan Ephgrave Now Micro Right Click Tools #> $ErrorActionPreference = "SilentlyContinue" $Script:JobTimer = @{} $Script:SkippedJobs = @() $Script:TimedOutComps = New-Object System.Collections.Arraylist $Script:UnsuccessfulCount = 0 $Script:NumSuccessful = 0 $Script:SuccessfulArray = New-Object System.Collections.Arraylist $Script:UnsuccessfulArray = New-Object System.Collections.Arraylist Function WOL { Param ( $CompName, $MAC, $IP, $SubnetMask, $Port, $PacketsToSend ) $UDPclient = New-Object System.Net.Sockets.UdpClient filter Convert-IPToDecimal{([iPAddress][string]([iPAddress]$_)).Address} filter Convert-DecimalToIP{([system.Net.IPAddress]$_).IPAddressToString} $PacketSentCount = 0 $SentPacket = $false $IPArray = $IP.Split(",") $MaskArray = $SubnetMask.Split(",") foreach ($instance in $IPArray){ if ($instance.contains(".")){ foreach ($MaskInstance in $MaskArray){ if ($MaskInstance.contains(".")){ $Error.Clear() $strEditedMac = $MAC | Out-String $strEditedMac = $strEditedMac.replace(":","") $strEditedMac = $strEditedMac.Substring(0,12) [uInt32]$ip = $instance | Convert-IPToDecimal [uInt32]$subnet = $MaskInstance | Convert-IPToDecimal [uInt32]$broadcast = $ip -band $subnet $broadcastAddr = $broadcast -bor -bnot $subnet | Convert-DecimalToIP $BroadcastAddress = [Net.IPAddress]::Parse($BroadcastAddr) $MakingPacket=0,2,4,6,8,10 | % {[Convert]::ToByte($strEditedMac.substring($_,2),16)} $Packet = (,[byte]255 * 6) + ($MakingPacket * 16) $UDPclient.Connect($BroadcastAddress,$Port) Do { [void]$UDPclient.Send($Packet, 102) $PacketSentCount++ } while ($PacketSentCount -lt $PacketsToSend) $SentPacket = $true $Results = Select-Object -InputObject "" One, Two, Three, Four, Five $Results.One = "$CompName" $Results.Two = "$MAC" $Results.Three = "$Instance" $Results.Four = "$MaskInstance" $Results.Five = "$Port" $Script:SuccessfulArray += $Results } } } } if ($SentPacket -eq $false) { $Results = Select-Object -InputObject "" One $Results.One = "$CompName" $Script:UnsuccessfulArray += $Results } $SentPacket } $Client_Actions = { $CompName = $args[0] $strAction = $args[1] $Answer = $args[2] If (Test-Connection -computername $CompName -count 1 -quiet){ if ($Answer -eq 6) { $ActionObject = Get-WmiObject -Query "Select * from InventoryActionStatus where InventoryActionID = '$strAction'" -Namespace root\ccm\invagt -ComputerName $CompName $ActionObject | Remove-WmiObject } $Error.Clear() $WMIPath = "\\" + $CompName + "\root\ccm:SMS_Client" $SMSwmi = [wmiclass] $WMIPath [Void]$SMSwmi.TriggerSchedule($strAction) if($Error[0]){$strOutput = "$CompName" + "|Error|" + $Error} else{$strOutput = "$CompName" + "|Successful"} } else {$strOutput = "$CompName" + "|Off"} Write-Output $strOutput } $Ping_Computer = { $CompName = $args[0] $strOutput = "$CompName|Left|" Test-connection -computername $CompName -count 1 | ForEach-Object { $StrOutput = $strOutput + $_.ProtocolAddress $StrOutput = $strOutput + "|" + $_.ResponseTime + "ms" $StrOutput = $strOutput + "|" + $_.ReplySize $StrOutput = $strOutput + "|" + $_.ResponseTimeToLive + "|" } if ($Error[0]) {$strOutput = "$CompName|Right|Off"} Write-Output $strOutput } $GPUpdate_Computer = { $CompName = $args[0] $UserPolicy = $args[1] $ComputerPolicy = $args[2] $Error.Clear() if ($UserPolicy -eq "True" -and $ComputerPolicy -eq "True") {$strCommand = "cmd /c echo N | gpupdate /force"} elseif ($UserPolicy -eq "True") {$strCommand = "cmd /c echo N | gpupdate /Target:User /force"} elseif ($ComputerPolicy -eq "True") {$strCommand = "cmd /c echo N | gpupdate /Target:Computer /force"} else {$strCommand = "cmd /c echo N | gpupdate /force"} if (Test-Connection $CompName -Count 1) { if ($UserPolicy -eq "True") { $LoggedOnUser = $null $strQuery = "Select UserName from Win32_ComputerSystem" Get-WmiObject -Query $strQuery -ComputerName $CompName | ForEach-Object {$LoggedOnUser = $_.UserName} if ($LoggedOnUser.Length -lt 1) { $strQuery = "Select * from Win32_Process where Name like 'explorer.exe'" Get-WmiObject -Query $strQuery -ComputerName $CompName | ForEach-Object {$LoggedOnUser = $_.GetOwner()} $LoggedOnUser = $LoggedOnUser.Domain + "\" + $LoggedOnUser.User } $LoggedOnUser = $LoggedOnUser | Out-String $LoggedOnUser = $LoggedOnUser.replace("`n","") if ($LoggedOnUser.Length -gt 2) { $Today = Get-Date $Tomorrow = $Today.AddDays(1) $Today = "{0:MM/dd/yyyy}" -f [DateTime]$Today $Tomorrow = "{0:MM/dd/yyyy}" -f [DateTime]$Tomorrow & cmd /c schtasks.exe /create /S "$CompName" /RU "$LoggedOnUser" /SC DAILY /SD "$Today" /ST "00:02" /ED "$Tomorrow" /Z /F /TN "Temp_GPUpdate_Task" /TR "`"$strCommand`"" Start-Sleep 10 & cmd /c schtasks.exe /run /S "$CompName" /i /tn "Temp_GPUpdate_Task" & cmd /c schtasks.exe /delete /S "$CompName" /f /tn "Temp_GPUpdate_Task" if ($Error[0]) { $ErrorMsg = $Error[0].Exception.Message $strOutput = "$CompName|Error|$ErrorMsg" } else {$strOutput = "$CompName|Successful|$LoggedOnUser"} } else { [WMIClass]$wmi = "\\$CompName\root\cimv2:Win32_Process" $wmi.Create($strCommand) | Out-Null if ($Error[0]) { $ErrorMsg = $Error[0].Exception.Message $strOutput = "$CompName|Error|$ErrorMsg" } else {$strOutput = "$CompName|Successful"} } } else { [WMIClass]$wmi = "\\$CompName\root\cimv2:Win32_Process" $wmi.Create($strCommand) | Out-Null if ($Error[0]) { $ErrorMsg = $Error[0].Exception.Message $strOutput = "$CompName|Error|$ErrorMsg" } else {$strOutput = "$CompName|Successful"} } } else {$strOutput = "$CompName|Off"} Write-Output $strOutput } $Cancel_Pending_Reboot = { $CompName = $args[0] If (test-connection -computername $CompName -count 1 -quiet){ $Error.Clear() & shutdown.exe /m $CompName /a $ShutdownExitCode = $LastExitCode if ($ShutdownExitCode -eq 1116) {$strOutput = "$CompName" + "|No pending shutdown"} elseif ($ShutdownExitCode -eq 0) {$strOutput = "$CompName" + "|Cancelled pending shutdown"} else {$strOutput = "$CompName" + "|Error|" + $Error} } else {$strOutput = "$CompName|Off"} Write-Output $strOutput } $Change_Cache_Size = { $CompName = $args[0] $NewCacheSize = $args[1] If (test-connection -computername $CompName -count 1 -quiet){ $Error.Clear() $CacheUsed = 0 $strQuery = "select ContentSize from CacheInfoEx" Get-WmiObject -ComputerName $CompName -Query $strQuery -Namespace root\ccm\SoftMgmtAgent | ForEach-Object { if ($_.ContentSize -ne $null) { $TempNum = 0 $TempNum = $_.ContentSize $TempNum = $TempNum / 1024 $CacheUsed = $CacheUsed + $TempNum } } $cachesize = Get-WmiObject -ComputerName $CompName -Class CacheConfig -Namespace root\ccm\softmgmtagent foreach ($instance in $cachesize) {$OldCache = $instance.Size} $Error.Clear() $cachesize.Size = "$NewCacheSize" $cachesize.Put() | Out-Null if($Error[0]){$strOutput = $CompName + "|Error|" + $Error} else{$strOutput = $CompName + "|Successful|" + $NewCacheSize + "|" + $OldCache + "|" + $CacheUsed} } else {$strOutput = "$Compname|Off"} Write-Output $strOutput } $Clear_Cache = { $CompName = $null $CompName = $args[0] If (test-connection -computername $CompName -count 1 -quiet){ $Error.Clear() Get-WmiObject -ComputerName $CompName -Class CacheInfoEx -Namespace root\ccm\softmgmtagent | ForEach-Object { $CachePath = $_.Location $CachePath = $CachePath.replace(":","$") $CachePath = "\\$CompName\$CachePath" Remove-Item $CachePath -Recurse -Force $_ | Remove-WmiObject } if ($Error[0]) {$strOutput = "$CompName" + "|Error| " + $Error} else {$strOutput = "$CompName" + "|Successful"} } else {$strOutput = "$CompName" + "|Off"} Write-Output $strOutput } $Repair_Client = { $CompName = $null $CompName = $args[0] If (test-connection -computername $CompName -count 1 -quiet){ $Error.Clear() $WMIPath = "\\" + $CompName + "\root\ccm:SMS_Client" $SMSwmi = [wmiclass] $WMIPath [Void]$SMSwmi.RepairClient() if ($Error[0]) {$strOutput = "$CompName" + "|Error|" + $Error} else {$strOutput = "$CompName" + "|Successful"} } else {$strOutput = "$CompName" + "|Off"} Write-Output $strOutput } $Restart_SMS_Service = { $CompName = $null $CompName = $args[0] If (test-connection -computername $CompName -count 1 -quiet){ $Error.Clear() $CcmExecService = Get-Service -ComputerName $CompName -Name "CcmExec" Restart-Service -InputObject $CcmExecService if ($Error[0]) {$strOutput = "$CompName" + "|Error| " + $Error} else {$strOutput = "$CompName" + "|Successful"} } else {$strOutput = "$CompName" + "|Off"} Write-Output $strOutput } $Uninstall_Client = { $CompName = $null $CompName = $args[0] If (test-connection -computername $CompName -count 1 -quiet){ $Error.Clear() Get-WmiObject -ComputerName $CompName -Class CCM_InstalledProduct -Namespace root\ccm | ForEach-Object {$ProductCode = $_.ProductCode} $UninstallCommand = "msiexec /x `"$ProductCode`" REBOOT=ReallySuppress /q" $WMIPath = "\\" + $CompName + "\root\cimv2:Win32_Process" $StartProcess = [wmiclass] $WMIPath $ProcError = $StartProcess.Create($UninstallCommand,$null,$null) $ProcError = $ProcError.ReturnValue if ($Error[0]) {$strOutput = "$CompName" + "|Error| " + $Error} else { if ($ProcError -eq 0){$strOutput = "$CompName" + "|Successful"} else {$strOutput = "$CompName" + "|Error| " + $Error} } } else {$strOutput = "$CompName" + "|Off"} Write-Output $strOutput } $Schedule_ShutdownRestart = { $CompName = $null $CompName = $args[0] $Action = $args[1] $Delay = $args[2] $IfUserOnBoxText = $args[3] $TaskName = $args[4] $FreqText = $args[5] $Modifier = $args[6] $StartDate = $args[7] $StartTime = $args[8] $EndDate = $args[9] $Directory = $args[10] $StartDay = $args[11] If (test-connection -computername $CompName -count 1 -quiet){ $Error.Clear() if ($Action -eq "Restart"){ if ($IfUserOnBoxText -eq "Restart/Shutdown") { $ShutdownCommand = "shutdown /r /f /t $delay" } elseif ($IfUserOnBoxText -eq "Give user a prompt to cancel"){ Get-WmiObject -ComputerName $CompName -class Win32_OperatingSystem | ForEach-Object {$WinDirectory = $_.WindowsDirectory} $ShutdownCommand = "$WinDirectory\ConfigMgr_Shutdown_Utility.exe /r /t $Delay /Schtask `"$WinDirectory\ConfigMgr_Shutdown_Utility.exe`"" $CopyDirectory = $WinDirectory.ToLower().replace("c:","\\$CompName\c$") Copy-Item "$Directory\ConfigMgr_Shutdown_Utility.exe" $CopyDirectory -Force Copy-Item "$Directory\ConfigMgr_Shutdown_Utility.vbs" $CopyDirectory -Force } elseif ($IfUserOnBoxText -eq "Cancel Restart/Shutdown") { Get-WmiObject -ComputerName $CompName -class Win32_OperatingSystem | ForEach-Object {$WinDirectory = $_.WindowsDirectory} $ShutdownCommand = "$WinDirectory\ConfigMgr_Shutdown_Utility.exe /r /t $Delay /Skip /Schtask `"$WinDirectory\ConfigMgr_Shutdown_Utility.exe`"" $CopyDirectory = $WinDirectory.ToLower().replace("c:","\\$CompName\c$") Copy-Item "$Directory\ConfigMgr_Shutdown_Utility.exe" $CopyDirectory -Force } } elseif ($Action -eq "Shutdown") { if ($IfUserOnBoxText -eq "Restart/Shutdown") { $ShutdownCommand = "shutdown /s /f /t $delay" } elseif ($IfUserOnBoxText -eq "Give user a prompt to cancel"){ Get-WmiObject -ComputerName $CompName -class Win32_OperatingSystem | ForEach-Object {$WinDirectory = $_.WindowsDirectory} $ShutdownCommand = "$WinDirectory\ConfigMgr_Shutdown_Utility.exe -arguments /s /t $Delay /Schtask `"$WinDirectory\ConfigMgr_Shutdown_Utility.exe`"" $CopyDirectory = $WinDirectory.ToLower().replace("c:","\\$CompName\c$") Copy-Item "$Directory\ConfigMgr_Shutdown_Utility.exe" $CopyDirectory -Force Copy-Item "$Directory\ConfigMgr_Shutdown_Utility.vbs" $CopyDirectory -Force } elseif ($IfUserOnBoxText -eq "Cancel Restart/Shutdown") { Get-WmiObject -ComputerName $CompName -class Win32_OperatingSystem | ForEach-Object {$WinDirectory = $_.WindowsDirectory} $ShutdownCommand = "$WinDirectory\ConfigMgr_Shutdown_Utility.exe -arguments /s /t $Delay /Skip /Schtask `"$WinDirectory\ConfigMgr_Shutdown_Utility.exe`"" $CopyDirectory = $WinDirectory.ToLower().replace("c:","\\$CompName\c$") Copy-Item "$Directory\ConfigMgr_Shutdown_Utility.exe" $CopyDirectory -Force } } if ($Error[0]) {$strOutput = "$CompName" + "|Error| " + $Error} else { if ($FreqText -eq "Once") { $Error.Clear() $strTest = & schtasks.exe /create /S "$CompName" /RU SYSTEM /SC ONCE /SD "$StartDate" /ST "$StartTime" /F /TN "$TaskName" /TR "`"$ShutdownCommand`"" if ($Error[0]) {$strOutput = "$CompName" + "|Error| " + $Error} else {$strOutput = "$CompName" + "|Successful"} } elseif ($FreqText -eq "Daily") { $Error.Clear() $strTest = & schtasks.exe /create /S "$CompName" /RU SYSTEM /SC DAILY /SD "$StartDate" /ST "$StartTime" /ED "$EndDate" /Z /F /TN "$TaskName" /TR "`"$ShutdownCommand`"" if ($Error[0]) {$strOutput = "$CompName" + "|Error| " + $Error} else {$strOutput = "$CompName" + "|Successful"} } elseif ($FreqText -eq "Weekly") { $Error.Clear() $strTest = & schtasks.exe /create /S "$CompName" /RU SYSTEM /SC WEEKLY /d "$StartDay" /SD "$StartDate" /ST "$StartTime" /ED "$EndDate" /Z /F /TN "$TaskName" /TR "`"$ShutdownCommand`"" if ($Error[0]) {$strOutput = "$CompName" + "|Error|$Error"} else {$strOutput = "$CompName" + "|Successful"} } elseif ($FreqText -eq "Monthly (On Day)") { $Error.Clear() if ($Modifier -eq "LASTDAY") {$strTest = & schtasks.exe /create /S "$CompName" /RU SYSTEM /SC MONTHLY /MO $Modifier /M * /SD "$StartDate" /ST "$StartTime" /ED "$EndDate" /Z /F /TN "$TaskName" /TR "`"$ShutdownCommand`""} else {$strTest = & schtasks.exe /create /S "$CompName" /RU SYSTEM /SC MONTHLY /MO $Modifier /d $StartDay /SD "$StartDate" /ST "$StartTime" /ED "$EndDate" /Z /F /TN "$TaskName" /TR "`"$ShutdownCommand`""} if ($Error[0]) {$strOutput = "$CompName" + "|Error| " + $Error} else {$strOutput = "$CompName" + "|Successful"} } elseif ($FreqText -eq "Monthly (On Date)") { $Error.Clear() $strTest = & schtasks.exe /create /S "$CompName" /RU SYSTEM /SC MONTHLY /d $StartDay /SD "$StartDate" /ST "$StartTime" /ED "$EndDate" /Z /F /TN "$TaskName" /TR "`"$ShutdownCommand`"" if ($Error[0]) {$strOutput = "$CompName" + "|Error| " + $Error} else {$strOutput = "$CompName" + "|Successful"} } } } else {$strOutput = "$CompName" + "|Off"} Write-Output $strOutput } $ShutdownRestart_Device = { $CompName = $args[0] $strAction = $args[1] $IndexNum = $args[2] $Delay = $args[3] $msg = $args[4] $Directory = $args[5] $psexec = $args[6] $LoggedOnUser = $null $LoggedOnDomain = $null If (test-connection $CompName -count 1 -quiet){ $Error.Clear() if ($strAction -eq "Restart"){ if ($IndexNum -eq 0){ & shutdown.exe /r /f /t $Delay /d p:0:0 /m $CompName /c $msg if ($Error[0]){ $ErrorMsg = $Error[0] $strOutput = $CompName + "|Error|" + $ErrorMsg } else {$strOutput = $CompName + "|Successful|" + $strAction} } elseif ($IndexNum -eq 1){ Get-WmiObject -ComputerName $CompName -class Win32_OperatingSystem | ForEach-Object {$WinDirectory = $_.WindowsDirectory} $CopyDirectory = $WinDirectory.ToLower().replace("c:","\\$CompName\c$") Copy-Item "$Directory\ConfigMgr_Shutdown_Utility.exe" $CopyDirectory -Force Copy-Item "$Directory\ConfigMgr_Shutdown_Utility.vbs" $CopyDirectory -Force $strQuery = "Select * from Win32_Process where Name='explorer.exe'" $SentShutdown = $false Get-WmiObject -ComputerName $CompName -Query $strQuery | ForEach-Object{ if ($_.Name -ne $null){ $SessionID = $_.SessionID $LoggedOnUser = $_.GetOwner().User $LoggedOnDomain = $_.GetOwner().Domain $LoggedOn = "$LoggedOnDomain" + "\" + "$LoggedOnUser" if (!($Error[0])) {$ClearError = $true} & $psexec "\\$CompName" /d /s /i $SessionID wscript.exe "$WinDirectory\ConfigMgr_Shutdown_Utility.vbs" "$WinDirectory\ConfigMgr_Shutdown_Utility.exe" /r /t $Delay /msg "`"$msg`"" | Out-Null if ($ClearError -eq $true) {$Error.Clear()} $SentShutdown = $true $strOutput = $Compname + "|Successful|Gave $LoggedOn a prompt to cancel $strAction" } } if ($SentShutdown -eq $false) { & shutdown.exe /r /f /t $Delay /d p:0:0 /m $CompName /c $msg $strOutput = $CompName + "|Successful|" + "$strAction" } if ($Error[0]) {$strOutput = $CompName + "|Error|" + $Error} } elseif ($IndexNum -eq 2){ $skip = 0 $strQuery = "Select * from Win32_Process where Name='explorer.exe'" Get-WmiObject -ComputerName $CompName -query $strQuery | ForEach-Object{ if ($_.Name -ne $null){ $skip = 1 $LoggedOnUser = $_.GetOwner().User $LoggedOnDomain = $_.GetOwner().Domain $LoggedOn = "$LoggedOnDomain" + "\" + "$LoggedOnUser" $strOutput = $CompName + "|Successful|Skipped - $LoggedOn" } } if ($skip -eq 0){ $Error.Clear() & shutdown.exe /r /f /t $Delay /d p:0:0 /m $CompName /c $msg if ($Error[0]){ $ErrorMsg = $Error[0] $strOutput = $CompName + "|Error|" + $ErrorMsg } else {$strOutput = $CompName + "|Successful|" + "$strAction"} } } } elseif ($strAction -eq "Shutdown"){ if ($IndexNum -eq 0){ & shutdown.exe /s /f /t $Delay /d p:0:0 /m $CompName /c $msg if ($Error[0]){ $ErrorMsg = $Error[0] $strOutput = $CompName + "|Error|" + $ErrorMsg } else {$strOutput = $CompName + "|Successful|" + "$strAction"} } elseif ($IndexNum -eq 1){ Get-WmiObject -ComputerName $CompName -class Win32_OperatingSystem | ForEach-Object {$WinDirectory = $_.WindowsDirectory} $CopyDirectory = $WinDirectory.ToLower().replace("c:","\\$CompName\c$") Copy-Item "$Directory\ConfigMgr_Shutdown_Utility.exe" $CopyDirectory -Force Copy-Item "$Directory\ConfigMgr_Shutdown_Utility.vbs" $CopyDirectory -Force $strQuery = "Select * from Win32_Process where Name='explorer.exe'" $SentShutdown = $false Get-WmiObject -ComputerName $CompName -Query $strQuery | ForEach-Object{ if ($_.Name -ne $null){ $SessionID = $_.SessionID $LoggedOnUser = $_.GetOwner().User $LoggedOnDomain = $_.GetOwner().Domain $LoggedOn = "$LoggedOnDomain" + "\" + "$LoggedOnUser" if (!($Error[0])) {$ClearError = $true} & $psexec "\\$CompName" /d /s /i $SessionID wscript.exe "$WinDirectory\ConfigMgr_Shutdown_Utility.vbs" "$WinDirectory\ConfigMgr_Shutdown_Utility.exe" /s /t $Delay /msg "`"$msg`"" | Out-Null if ($ClearError -eq $true) {$Error.Clear()} $SentShutdown = $true $strOutput = $Compname + "|Successful|Gave $LoggedOn a prompt to cancel $strAction" } } if ($SentShutdown -eq $false) { & shutdown.exe /s /f /t $Delay /d p:0:0 /m $CompName /c $msg $strOutput = $CompName + "|Successful|" + "$strAction" } if ($Error[0]) {$strOutput = $CompName + "|Error|" + $Error[0]} } elseif ($IndexNum -eq 2){ $skip = 0 $strQuery = "Select * from Win32_Process where Name='explorer.exe'" Get-WmiObject -ComputerName $CompName -query $strQuery | ForEach-Object{ if ($_.Name -ne $null){ $skip = 1 $LoggedOnUser = $_.GetOwner().User $LoggedOnDomain = $_.GetOwner().Domain $LoggedOn = "$LoggedOnDomain" + "\" + "$LoggedOnUser" $strOutput = "$CompName" + "|Successful|Skipped - $LoggedOn" } } if ($skip -eq 0){ $Error.Clear() & shutdown.exe /s /f /t $Delay /d p:0:0 /m $CompName /c $msg if ($Error[0]){ $ErrorMsg = $Error[0] $strOutput = $CompName + "|Error|" + $ErrorMsg } else {$strOutput = $CompName + "|Successful|" + "$strAction"} } } } } else {$strOutput = "$CompName |Off"} Write-Output $strOutput } $Rerun_Deployment = { $CompName = $null $CompName = $args[0] $AdvID = $args[1] If (test-connection -computername $CompName -count 1 -quiet){ $Error.Clear() $strQuery = "Select * from CCM_Scheduler_ScheduledMessage where ScheduledMessageID like '" + $AdvID + "%'" $objSMSSchID = Get-WmiObject -Query $strQuery -Namespace root\ccm\policy\machine\actualconfig -computername $CompName foreach($instance in $objSMSSchID){$strScheduleID = $instance.ScheduledMessageID} if ($Error[0]){$strOutput = "$CompName" + "|Error| " + $Error} else { $strQuery = "Select * from CCM_SoftwareDistribution where ADV_AdvertisementID='" + $AdvID + "'" Get-WmiObject -ComputerName $CompName -Namespace "root\CCM\Policy\Machine\ActualConfig" -Query $strQuery | ForEach-Object { $_.ADV_MandatoryAssignments = "True" $_.ADV_RepeatRunBehavior = "RerunAlways" [Void]$_.Put() } $WMIPath = "\\" + $CompName + "\root\ccm:SMS_Client" $SMSwmi = [wmiclass] $WMIPath [Void]$SMSwmi.TriggerSchedule($strScheduleID) if ($Error[0]){$strOutput = "$CompName" + "|Error| " + $Error} else {$strOutput = "$CompName" + "|Successful"} } } else {$strOutput = "$CompName" + "|Off"} Write-Output $strOutput } $CcmEval = { $CompName = $null $CompName = $args[0] $CcmEvalPath = $null If(Test-Connection $CompName -Count 1) { Get-WmiObject -ComputerName $CompName -Class Win32_OperatingSystem | ForEach-Object {$WindowsDirectory = $_.WindowsDirectory} $WindowsDirectory = $WindowsDirectory.replace(":","$") $WindowsDirectory = "\\$CompName\$WindowsDirectory" $TestPath1 = $WindowsDirectory + "\CCM\CcmEval.exe" $TestPath2 = $WindowsDirectory + "\System32\CCM\CcmEval.exe" $TestPath3 = $WindowsDirectory + "\syswow64\CCM\CcmEval.exe" if (Test-Path $TestPath1){$CCMEvalPath = $TestPath1} elseif (Test-Path $TestPath2){$CCMEvalPath = $TestPath2} elseif (Test-Path $TestPath3){$CCMEvalPath = $TestPath3} if ($CcmEvalPath -ne $null) { $Error.Clear() ([WMIClass]"\\$CompName\root\CIMV2:Win32_Process").Create($CcmEvalPath) | Out-Null if ($Error[0]) {$strOutput = "$CompName" + "|Error|" + "$Error"} else {$strOutput = "$CompName" + "|Successful"} } else {$strOutput = "$CompName" + "|Error|" + "$Error"} } else {$strOutput = "$CompName" + "|Off"} Write-Output $strOutput } #>
  8. In preparation to upgrade to Configuration Manager 2012 SP1, I am having problems with the Site Maintenance Task - Backup Site Server. The selection of the "Local drive for site server" is grayed out which prevents selection. I have also tried to save to another server, but look to be having issues regarding what looks to be the path issue with the CreateFile operation. I have attempted to use the workarounds listed at http://blogs.technet.com/b/configurationmgr/archive/2012/08/01/support-tip-a-backup-site-server-maintenance-task-may-fail-to-run-in-configmgr-2012.aspx, but without the access to select the local drive it makes it difficult. I can't use the SQL Server instead since it's a cluster used by various things much more critical. Any suggestions would be greatly appreciated, dlakey
  9. I've created a collection called "Capture Images Collection". I imported computer information with the MAC address and told it to populate into that collection. When viewing that collection in the Configuration Manager Console, the imported computer doesn't appear. I've looked at the properties of the collection and it shows the computer listed as a direct rule. See attached. Anyone have an idea?
  10. My Task Sequence is failing with the following error message during the "install software updates" step. "Task Sequence: <XXX> has failed with the error code (0x800705B4). For more information, please contact your system administrator or helpdesk operator." I found this in my smsts.log Failed to run the action: Install Software Updates. This operation returned because the timeout period expired. (Error: 800705B4; Source: Windows) And the error only happen on my chinese version window 7 task sequence. Anyone have encountere this before? smsts-20130320-135949.log UpdatesStore-20130320-144337.log
  11. Just wondering if anybody can help. I've added 'Partition Disk' element to my task sequence and it works well with a simple 100% partitioning. I want two different configurations to be used. Our PC naming convention is that most PC names start with {ST} ST-00000 and I would like them to configure 100% Partition size. A small amount of PC's start with {CR} eg CR-00000 and I would like them to partition 50% to be used and leave 50% untouched. I just can't figure out how I'm supposed to do this. Any help would be greatly appreciated. W
  12. When i try to pxe boot a client, i only get PXE-E53 "No boot filename received" I have tried to reinstall wds/pxe several times.. searched trough a lot of post with similar problems..tried lot of solutions.. but still stuck.. I really dont know where to begin to troubleshoot this.. SMSPXE: reply has no message header marker SMSPXE 27.04.2012 12:36:19 3936 (0x0F60) PXE::DB_LookupDevice failed; 0x80004005 SMSPXE 27.04.2012 12:36:19 3936 (0x0F60) Set enterpirse certificate in transport SMSPXE 27.04.2012 12:36:19 3936 (0x0F60) Set media certificate in transport SMSPXE 27.04.2012 12:36:19 3936 (0x0F60) Set authenticator in transport SMSPXE 27.04.2012 12:36:19 3936 (0x0F60) In SSL, but with no client cert SMSPXE 27.04.2012 12:36:19 3936 (0x0F60) Set authenticator in transport SMSPXE 27.04.2012 12:36:19 3936 (0x0F60) In SSL, but with no client cert SMSPXE 27.04.2012 12:36:19 3936 (0x0F60) reply has no message header marker SMSPXE 27.04.2012 12:36:19 3936 (0x0F60) Failed to send status message (80004005) SMSPXE 27.04.2012 12:36:19 3936 (0x0F60) Failed to send the status message SMSPXE 27.04.2012 12:36:19 3936 (0x0F60) PXE::DB_ReportStatus failed; 0x80004005 SMSPXE 27.04.2012 12:36:19 3936 (0x0F60) PXE Provider failed to process message. Unspecified error (Error: 80004005; Source: Windows) SMSPXE 27.04.2012 12:36:19 3936 (0x0F60) Edit: also tried to add option 66/67 in dhcp.. i get past the pxe boot.. but recieve a \boot\bcd error And the same lines of errors in SMSPXE
  13. Hi All, First time writer, long time reader! Looking for some advice on the following... Environment: 1 x Primary CM2012 server 1 x Site System Server (with Management Point role installed) What i am looking to do is utilise the new High Availability feature i have read so much about in the links below, so that if 1 MP goes down the other can still service clients. http://technet.micro...ibrary/hh846234 http://technet.micro...y/hh846246.aspx First of all, is this possible, and if so has anyone done this yet? Niall - I would love if you could put together a how step by step guide to clear this up (i've loved the ones to date). ;-) Secondly, i have actually attempted this by following MS's guide to SQL replica found here, and added the MP role to the Site System Server. I then installed the SMS Provider and console on the Site System Server. When i try connect to this via the admin console i get the error attached. I wanted to get the console working first before i mimicked a server failure. "SMSAdminUI.log" also shows the below error. I also have numerous errors in the MP_xxxx.log files. Clearly something is a miss and hoping you guys can help out. I've confirmed WMI, SMS Admins access etc. Thanks in advance. ----------------------- [1, PID:4420][07/02/2012 16:37:07] :System.ArgumentOutOfRangeException\r\nProvider machine not found Parameter name: configMgrServerPath\r\n at Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine.WqlConnectionManager.Connect(String configMgrServerPath)\r\n [1, PID:4420][07/02/2012 16:37:07] :Transport error; failed to connect, message: 'Provider machine not found Parameter name: configMgrServerPath'\r\nMicrosoft.ConfigurationManagement.ManagementProvider.SmsConnectionException\r\nProvider machine not found Parameter name: configMgrServerPath\r\n at Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine.WqlConnectionManager.Connect(String configMgrServerPath) at Microsoft.ConfigurationManagement.AdminConsole.SmsSiteConnectionNode.GetConnectionManagerInstance(String connectionManagerInstance)\r\nProvider machine not found Parameter name: configMgrServerPath \r\nSystem.ArgumentOutOfRangeException\r\nProvider machine not found Parameter name: configMgrServerPath\r\n at Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine.WqlConnectionManager.Connect(String configMgrServerPath)\r\n [1, PID:4420][07/02/2012 16:37:07] :System.Management.ManagementException\r\nNot found \r\n at System.Management.ManagementException.ThrowWithExtendedInfo(ManagementStatus errorCode) at System.Management.ManagementObject.InvokeMethod(String methodName, ManagementBaseObject inParameters, InvokeMethodOptions options) at Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine.WqlConnectionManager.ExecuteMethod(String methodClass, String methodName, Dictionary`2 methodParameters, Boolean traceParameters)\r\nManagementException details: instance of __ExtendedStatus { Operation = "ExecMethod"; ParameterInfo = "SMS_ObjectLock"; ProviderName = "WinMgmt"; }; \r\n -----------------------
×