Posts
Set the computer name using the BIOS Asset Tag
If you are setting the Asset Tag the same name that the computer is, it makes sense to only have to input it once. I created a powershell script that will do the following:
If VM or Mac: Exit 0
If computer exists in SCCM: Exit 0
If AssetTag Exists/Not empty: Set OSDComputerName to AssetTag, Exit 0
If AssetTag doesn't exist: Bring up an error message, Exit 1
Tested with HP and Dell machines.
Update: Added optional script that uses the HP Ownership Tag
How to use:
Create a package for the script
Copy serviceUI.exe (From MDT Toolkit) to the same folder.
In the Task Sequence after initial format of the drive create a Run Command Line step using the package that you created
with the command: ServiceUI.exe -process:TSProgressUI.exe %SYSTEMROOT%\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -WindowStyle Hidden -ExecutionPolicy Bypass -File AssetTag.ps1
Thanks Nickolaj and Dave Green for the initial form
Deploying Creative Cloud Packages 2017
Quick Post on the install order of - Use your favourite App Packaging Wrapper / PSADT
Update: CloseApp Line for PSADT:
1 |
Show-InstallationWelcome -CloseApps 'CreativeCloudPackager,Adobe Application Manager (Updater),PDApp,AAM Updates Notifier,Acrobat,Muse,Bridge,InDesign,lightroom,Outlook,Visio,Winword,Project,PowerPoint,Excel,Visio,AutoCAD,ImporterREDServer,dynamiclinkmanager,LogTransport2,SpeedGradeCmd,SpeedGrade,QuickTimeOoP,PhotoshopServer,Adobe QT32 Server,GPUSniffer,Incopy,Dreamweaver,Coldfusion,DreamweaverHelper,Jrun,Dreamweaver Beta,Dreamweaver Beta Helper,node,Fuse,AfterFX,Photoshop,Animate,CINEMA 4D Lite,CineRenderAE,aerender,SA Color Finesse 3 UI,mocha4ae_adobe,Illustrator,dvaaudiofilterscan,Adobe Premiere Pro,Character Animator,Flash,Adobe Prelude,Adobe Audition CC,CEPHtmlEngine' |
- If package has Exceptions
Exceptions\ExceptionDeployer.exe --workflow=install --mode=pre --installLanguage=en_US
Don't do en_GB - seems to break acrobat - If package has Acrobat
Build\Setup\APRO15.0\Adobe Acrobat\setup.exe
Always do this where applicable or acrobat may break
If you want to customize Acrobat customize the msi in here using the Acrobat DC Customization Wizard - Run main setup
Build\setup.exe --silent
If you don't use silent, it never exits - If package has exceptions
Exceptions\ExceptionDeployer.exe --workflow=install --mode=post --installLanguage=en_US - Firewall Exceptions
Node.exe: netsh advfirewall firewall add rule name="Adobe Node" dir=in action=allow program="%Programfiles%\adobe\adobe dreamweaver cc 2017\node\node.exe" enable=yes
Scout.exe: netsh advfirewall firewall add rule name="Adobe Scout" dir=in action=allow program="%Programfiles%\adobe scout cc\scout.exe" enable=yes - Disable CC startup and set all office addins to only load if user chooses to
regedit.exe /s AcrobatAddinReg.reg
https://1drv.ms/t/s!Apq2Xflj18I1wGkFeyX_T3lbtM5G - Remove shortcuts bat
REM Delete Shortcuts
del "%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Adobe Creative Cloud.lnk" /F /Q
del "%PUBLIC%\Desktop\Adobe Creative Cloud.lnk" /F /Q
If you are putting the apps in a base image you may need to run the main setup.exe if you want to avoid Acrobat crashing on first use.
Adobe CC Design 2017:
- No exceptions
- Has Acrobat DC
Adobe CC Enterprise 2017:
- Has exceptions
- Has Acrobat DC
- FW exclusion for Scout.exe
- FW exclusion for Node.exe
Adobe CC Exclusives 2017:
- Has exceptions
- FW exclusion for Scout.exe
Adobe CC Web 2017:
- Has exceptions
- FW exclusion for Node.exe
Acrobat Single Package
- No exceptions
- Has Acrobat DC
Disabling (Adobe's) Office Add-ins
I don't think outlook should be making PDFs.. You can disable the add-ins with group policy
Download Office ADMX files
2013: https://www.microsoft.com/en-au/download/details.aspx?id=35554
2016: https://www.microsoft.com/en-au/download/details.aspx?id=49030
Copy the files under ADMX to your policy central store
Now create a group policy, browse to
User Configuration > Administrative Template > Microsoft Outlook 2016 > Miscellaneous > List Of Manage add-ins
Edit the policy setting, click show
Then specify the add-ins you want to disable with a value 0
To block other add-ins you need to find the progID for the addin, they can be found in the registry for each app in the suite:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\Outlook\Addins or HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\Outlook\Addins
To block Adobe out of Office altogether:
Admin Templates - For each List of manage Add-ins
Microsoft Excel 2016:
PDFMaker.OfficeAddin 0
Microsoft Excel 2013:
PDFMaker.OfficeAddin 0
Microsoft Word 2016:
PDFMaker.OfficeAddin 0
Microsoft Word 2013:
PDFMaker.OfficeAddin 0
Microsoft Powerpoint 2016:
PDFMaker.OfficeAddin 0
Microsoft Powerpoint 2013:
PDFMaker.OfficeAddin 0
Microsoft Outlook 2016:
AdobeAcroOutlook.SendAsLink 0
PDFMOutlook.PDFMOutlook 0
Microsoft Outlook 2013:
AdobeAcroOutlook.SendAsLink 0
PDFMOutlook.PDFMOutlook 0
Another option (less harsh) is to change the load behaviour to 2 via registry after install or possibly a preference. This makes the plugin not loaded by default but allows the user to load it manually.
Example Reg https://1drv.ms/t/s!Apq2Xflj18I1wGkFeyX_T3lbtM5G
MDT Toolkit files fail to download - could not resolve source
If this happens during OSD, it is likely due to 2 settings in the BIOS.
I recommend
WIN7 -
Boot mode: Legacy
Sata mode: AHCI
Win10-
Boot mode: UEFI
Sata mode: AHCI
From the log:
The task sequence execution engine failed executing the action (Use Toolkit Package) in the group (Initialization) with the error code 2147942561
Action output: ... ursiveCreatePath(sPath.substr(0, nPos), psa), HRESULT=800700a1 (e:\nts_sccm_release\sms\framework\core\ccmcore\path.cpp,104)
RecursiveCreatePath(sPath.substr(0, nPos), psa), HRESULT=800700a1 (e:\nts_sccm_release\sms\framework\core\ccmcore\path.cpp,104)
RecursiveCreatePath( sNormalizedPath, psa ), HRESULT=800700a1 (e:\nts_sccm_release\sms\framework\core\ccmcore\path.cpp,159)
DownloadContentLocally (pszSource, sSourceDirectory, dwFlags, hUserToken, mapNetworkAccess), HRESULT=800700a1 (e:\nts_sccm_release\sms\framework\tscore\resolvesource.cpp,3582)
TS::Utility::ResolveSource (pszPkgID, sPath, 0, hUserToken, mapNetworkAccess), HRESULT=800700a1 (e:\nts_sccm_release\sms\client\osdeployment\installsoftware\runcommandline.cpp,399)
cmd.Execute(pszPkgID,sProgramName, dwCmdLineExitCode), HRESULT=800700a1 (e:\nts_sccm_release\sms\client\osdeployment\installsoftware\main.cpp,372)
Failed to resolve the source for SMS PKGID=PS10098B, hr=0x800700a1
Install Software failed to run command line, hr=0x800700a1. The operating system reported error 2147942561: The specified path is invalid.
Build and Capture fails if KB3160005 IE sec cumulative update is installed
Update: Adding more scratch space to the boot wim seems to have resolved the problem on Windows 10, Windows 7 seems to still have issues.
Update: This update is also in Windows 10 CU 3163018, causing the same error. No workaround yet
If your build and capture is failing at the capture step make sure you don't have the cumulative Security Update for IE11 KB3160005. It's somehow stopping the registry load part of the step.
1 2 3 4 5 6 7 8 9 10 11 12 |
The task sequence execution engine failed executing the action (Capture the Reference Machine) in the group (Capture the Reference Machine) with the error code 2147943850 Action output: ... software" into HKLM\OfflineRegistry1 RegLoadKey( oRegKeyHKLM, sRegKey, sRegHivPath), HRESULT=800705aa (e:\qfe\nts\sms\framework\osdcore\offlineregistry.cpp,68) LoadHive( szPathBuffer, m_sRegKeySoftware, m_oRegKeySoftware ), HRESULT=800705aa (e:\qfe\nts\sms\framework\osdcore\offlineregistry.cpp,190) m_oOfflineRegistry.Init(pszSystemRoot), HRESULT=800705aa (e:\qfe\nts\sms\framework\osdcore\offlineos.cpp,737) rDefaultOs.initialize(sTargetSystemRoot), HRESULT=800705aa (e:\nts_sccm_release\sms\client\osdeployment\capturesystemimage\capturesystemimage.cpp,613) VerifySystemForCapture(DefaultOs), HRESULT=800705aa (e:\nts_sccm_release\sms\client\osdeployment\capturesystemimage\capturesystemimage.cpp,859) Finished with error code 0x800705AA Failed to load "C:\WINDOWS\system32\config\software" (0x800705aa). Failed to load the offline SOFTWARE registry (0x800705aa). Failed to validate for capture. nsufficient system resources exist to complete the requested service. (Error: 800705AA; Source: Windows). The operating system reported error 2147943850: Insufficient system resources exist to complete the requested service. |
Slowwww Windows 10 Login when using NetApp for Folder Redirection
There is an issue that causes the login to be significantly slower when using Folder Redirection and NetApp.
The problem is a file lock occurs on the Desktop.ini files during login.
Our current workaround is to use a logoff script to delete the desktop.ini
Adding Admin Elevated websites to trusted sites/intranet/etc
It's very easy to customize the trusted sites for users by using group policy preferences without locking the settings down however what about websites that need to be ran as a different user?
To work around this I created a simple C Sharp program that sets the registry before launching the site in IE
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
using System; using System.Diagnostics; using System.ComponentModel; using Microsoft.Win32; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\", "", ""); //Tree Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap", "", ""); //Branch Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains", "", ""); //Branch Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\happysccm.com", "", ""); //Branch Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\happysccm.com", "*", "1", RegistryValueKind.DWord); //Branch's value Process.Start("IExplore.exe", "http://portal.happysccm.com"); } } } |
Zones:
Value Setting
------------------------------
0 My Computer
1 Local Intranet Zone
2 Trusted sites Zone
3 Internet Zone
4 Restricted Sites Zone
Create the Installer:
Compile the package and copy it to where you want it on the clients system. Then create a shortcut to the exe.
Copy the exe and shortcut to your network share.
Create an Install.bat:
1 2 |
xcopy.exe "Admin Portal.lnk" "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\" /Y xcopy.exe IDMAdmin.exe C:\ProgramData\IDMAdmin\ /Y |
Deploy!
Ensure the Operating System applys to C: drive not D: drive
This problem will increase more and more as everyone starts to use wim's instead of the OS media in SCCM.
There are a few workarounds for this problem however the best method is to force the new OS the reevaluate Drive Letters with 3 easy steps after applying the OS
Create a Run Command Line step for each of the 3 commands
Reg.exe load HKLM\Temp %OSDTargetSystemDrive%\Windows\system32\config\system
Reg.exe delete HKLM\Temp\MountedDevices /va /f
Reg.exe unload HKLM\Temp
This forces the default behaviour of Windows to choose the drive letter.
For more information and other workarounds see http://blogs.technet.com/b/configurationmgr/archive/2014/04/28/how-to-ensure-that-windows-installs-on-c-during-a-system-center-2012-configuration-manager-osd-task-sequence.aspx
Bad Fat mifs in a multiple user environment
If you are getting alot of error 2719 under SMS_INVENTORY_DATA_LOADER in a multiple user enviroment such as a lab of computers consider tweaking the data you are collecting.
Inventory Data Loader failed to process the file G:Program FilesMicrosoft Configuration Managerinboxesauthdataldr.boxProcessH5CCBXME.MIF because it is larger than the defined maximum allowable size of 5000000.
Solution:
Increase the maximum allowable size, which is defined in the registry key HKLMSoftwareMicrosoftSMSComponentsSMS_INVENTORY_DATA_LOADERMax MIF Size (the default is 5 MB), and wait for Inventory Data Loader to retry the operation.
Solution is not increasing the maximum allowable size and make your DB massive.
In a multiple user environment the class that will be expanding those mifs is the 'CCM_RecentlyUsedApps'.
To cut the fat go to the Administration pane in SCCM 2012, then Client Settings. Right click 'Default Client Settings' and choose properties.
In the new window click 'Hardware Inventory'
Click 'Set Classes'
Search for 'CCM_RecentlyUsedApps', expand it. Is up to decide what you really need but we have deseleted the following.
Creating Collections to deploy ConfigMgr client updates (the easy way)
Get the Servicing Exstension from Microsoft NOW as it does all the work!!! http://blogs.technet.com/b/configmgrteam/archive/2014/12/09/now-available-microsoft-system-center-2012-configuration-manager-servicing-extension.aspx
Once you have this, in the Admin node, there's a site servicing section -> client targeting. You click 'Create Query' and it makes a nice query for your collections.
Then you go about creating your collection.
click next. Select Add Rule -> Query Rule
Click Import Query Statement and choose the nice query microsoft made for you.
Deploy the cumulative update to the clients.