Code Monkey home page Code Monkey logo

documentconfigmgrcb's People

Contributors

adamgrosstx avatar blackcatdeployment avatar chadsimmons avatar davidobrien1985 avatar elgrunt0 avatar paulwetter avatar skatterbrainz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

documentconfigmgrcb's Issues

Error in script

I get an error message

Method invocation failed because [System.Management.ManagementObject] does not contain a method named 'Where'.
At C:\temp\DocumentConfigMgrCB-master\DocumentCMCB.ps1:1285 char:7

Email and archiving

At line 79, I added:
[parameter(Mandatory=$False)]
[string]$SMTPServer = "SMTP",
[parameter(Mandatory=$False)]
[string]$MailTo = "Richard Crews ",
[parameter(Mandatory=$False)]
[string]$MailFrom = "SCCM Monitor ",
[parameter(Mandatory=$False)]
[string]$SubjectLine = "SCCM Documentor",
[parameter(Mandatory=$False)]
[string]$CopyPath = "DocumentationFolderPath",

At the end I added:
Write-host "Beginning copy of $FilePath to $CopyPath"
Copy-Item $FilePath -Destination "$CopyPath" -Force
Write-host "Sending email."
Send-MailMessage -From $MailFrom -To $MailTo -Subject $SubjectLine -Body "Completed execution at $($ScriptEndTime.ToShortTimeString()) with a total execution time of $ExecTimeString
A copy of the report has been saved to $CopyPath" -Attachments $FilePath -Priority High -SmtpServer $SmtpServer

Get-CMSoftwareUpdateDeploymentPackage : Cannot validate argument on parameter 'Id'.

I cannot thank you enough for this amazing script!

I am getting the following message during the script execution, which completes, and was curious if you knew what might cause it. I do not see anything weird in the output file.

Beginning Execution of version 3.42 at: 5:45 PM
Outputting documentation to: C:\Windows\system32\CMDocumentation.html
Get-CMSoftwareUpdateDeploymentPackage : Cannot validate argument on parameter 'Id'. The argument is null or empty. Provide an argument that is not null or empty, and then try the command
again.
At \PATH\DocumentConfigMgrCB-master\DocumentCMCB.ps1:5504 char:68

  • ... entPackage -Id ([xml]$adr.ContentTemplate).ContentActionXML.PackageID
  •                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    • CategoryInfo : InvalidData: (:) [Get-CMSoftwareUpdateDeploymentPackage], ParameterBindingValidationException
    • FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.ConfigurationManagement.Cmdlets.Sum.Commands.GetSoftwareUpdateDeploymentPackageCommand

Completed execution at: 5:59 PM.
Total execution time: 13 minute(s), and 35 second(s).

Additional Detail on Task Sequence Steps

Many task sequence steps have additional variables in the defaultvarlist property that should be enumerated somewhere/somehow. Will have to do it in a way that doesn't require a ton of customizations between steps.

Information on Installed Features on Servers

Look at this through WMI remotely on site servers. Key on Specific features that should be installed.
Get-CimInstance -ClassName Win32_OptionalFeature| where {$_.InstallState -eq 1} |FT Caption,Name -AutoSize

InstallState = 1 = This is an installed/enabled feature.
InstallState = 2 = This feature is not installed.

Many of the Get-WMIObjects don't work

Invalid Namespace happens on the Get-WMIObjects because it tries to connect to the WMI class for the children sites (primary and secondaries) but uses the -Computername of the CAS. Those namespaces of course don't exist on the CAS so it should connect to each SMSProvider of each site server instead.

Error in ADR Collections

Cannot index into a null array.
At C:\Users\MyLocalUser\Desktop\DocumentConfigMgrCB-master\DocumentCMCB.ps1:4254 char:21

  • ... $UpdateClassification += $UPClasses[0].LocalizedCategoryI ...
  • CategoryInfo : InvalidOperation: (:) [], RuntimeException
  • FullyQualifiedErrorId : NullArray

Cannot index into a null array.
At C:\Users\MyLocalUser\Desktop\DocumentConfigMgrCB-master\DocumentCMCB.ps1:4254 char:21

  • ... $UpdateClassification += $UPClasses[0].LocalizedCategoryI ...
  • CategoryInfo : InvalidOperation: (:) [], RuntimeException
  • FullyQualifiedErrorId : NullArray

I am running SCCM CB 1710 on Server 2016.

After examining the output HTML file, it has detail up to the Task Sequence section.

Exclude CMPivot script

Exclude the CMPivot script that is authored and approved by CM. This is for the CMPivot function within SCCM and does not need to be listed. Make sure that it is excluded by author because console allowed me to create my own CMPivot Script.

More Summary information

Examples: Collections, always show built in collections. Always show number with incremental updates enabled.
Applications;
List only App names instead of only "xx applications"

Link sections back to TOC

At the end of each section, it would be nice to have a "Back to top" or "Back to table of contents" link.

Missing 1906 Features

  1. AAD Groups and Collection Sync.
  2. Desktop Analytics.
  3. Configure client cache minimum retention period (Done)
  4. Co-Management Multi-groups for pilot/staging. (Done ca3c0c2)
  5. Application Groups.
  6. Task Sequence (no update needed).
    • Install Application task sequence step, Delete Content check box.
    • Pre-cache driver packages, packages, and OS images.
  7. Software Center, 5 Tabs. (Done.).
  8. More frequent countdown notifications for restarts (client Setting, Done.).
  9. Additional options for WSUS maintenance (site config, Done - 979035e).
    • Remove Obsolete updates.
    • DB Indexes
  10. Configure the default maximum run time for software update (Done - 979035e)

Missing 1902 Features

Configurable features from 1902 to document:

  • KFM profiles for OneDrive
  • Phased deployments. (Not new but not documented)
  • DP maintenance mode? (If it matters)
  • Email approval (not new but not documented)
    Most everything else I think has been added along the way already.

Deployment ID

It would be helpful to have the deployment ID for applications in the report.

Missing 1910 Features

  1. Deploy Edge.
  2. Updated App Groups.
  3. Task Sequence Power Plans.
  4. ADR "Deloyed" Filter (no change needed?).
  5. Bitlocker Management
    • Site roles.
    • Policies.
    • Self-Service Portal.
    • Key Recovery Portal.

Invalid argument error

Getting the following error when the script hits the Applications section (error occurs mutliple time)

Get-PWCMPhasedDeployment : Cannot validate argument on parameter 'SiteName'. The argument is null or empty. Provide an argument that is not null or empty, and then try the command again.
At E:\Scripts\DocumentConfigMgrCB-master\DocumentCMCB.ps1:6690 char:113

  • ... entObjectID $($App.CI_ID) -SiteServer $SiteServer -SiteName $SiteName
  •                                                             ~~~~~~~~~
    
    • CategoryInfo : InvalidData: (:) [Get-PWCMPhasedDeployment], ParameterBindingValidationException
    • FullyQualifiedErrorId : ParameterArgumentValidationError,Get-PWCMPhasedDeployment

And also getting the following errror when processing Task Sequences:

Get-WmiObject : Invalid namespace "Root\SMS\site_DC1"
At E:\Scripts\DocumentConfigMgrCB-master\DocumentCMCB.ps1:7509 char:33

  • ... eferences = Get-WmiObject -Namespace "Root\SMS\site_$($SiteCode)" -Qu ...
  •             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    • CategoryInfo : InvalidArgument: (:) [Get-WmiObject], ManagementException
    • FullyQualifiedErrorId : GetWMIManagementException,Microsoft.PowerShell.Commands.GetWmiObjectCommand

Script is still writing to the output file, just errors popping up in the console window. We're running CM1910, site version 5.0.8913.1000, single Primary Site. We're using v3.52 of your script

Review and add Documentation of items for 1810

New Stuffs in 1810 to review/add:
https://docs.microsoft.com/en-us/sccm/core/plan-design/changes/whats-new-in-version-1810

  1. Boundary Group Options
  2. Configure schedule for built in collections.
  3. Repair Applications.
  4. Approve apps via email.
  5. Phased deployment of software updates
  6. Improvement to maintenance windows for software updates
  7. Configuration Manager administrator authentication - Authentication tab in Hierarchy Settings
  8. Co-management - Required app compliance policy for co-managed devices

Enhanced Detection Methods

I've recently found you wonderful script, but I wanted additional information on the applications, which currently only documents the standard MSI detection.

I've crudely expanded the section of the code, to include Enhanced MSI detection, File and Folder detections, Registry detections.
I'd like to contribute this code to the project for everyone to enjoy.

Regards
Kent Komeri

Default Client Settings

Hi there. Is there any way to obtain the Default Client Settings configured? I am facing some infrastructures where there is not any customized setting configuration. What I have tried by now:

  1. Removing the "| Where-Object -FilterScript {$_.SettingsID -ne '0'}" setting from line 3978.
  2. Changing -gt 0 to -ge 0 on line 3998 (better than removing the If-Else clause (same on 5124)
    Off-topic, the line 3988, about &ClientSetting.Type - eq '1', It seems that the default is '0', and users' is '2'.

Many thanks again for your amazing work.

Error "DriveAlreadyExists" when Site code = "ENV"

I posted this on your blog as well, but it appears people are actively using the issues feature here on github.

Our site code is "ENV" and I think that is causing syntax issues. I used the -verbose switch and here are the details surrounding the errors I get. Any help is greatly appreciated!

PS C:\Temp\DocumentConfigMgrCB-master> .\DocumentCMCB.ps1 -CompanyName "MyCompany" -CompanyLogo "C:\temp\Logo.jpg" -Author "ME" -AddDateTime -verbose
Beginning Execution of version 3.42 at: 9:57 AM

[break]

VERBOSE: Loading 'FormatsToProcess' from path 'E:\Program Files\Microsoft Configuration
Manager\AdminConsole\bin\Microsoft.ConfigurationManagement.PowerShell.Provider.format.ps1xml'.
Import-Module : A drive with the name 'ENV' already exists.
At C:\Temp\DocumentConfigMgrCB-master\DocumentCMCB.ps1:1215 char:3

  • Import-Module ($env:SMS_ADMIN_UI_PATH.Substring(0,$env:SMS_ADMIN_UI_PATH.Lengt ...
  • CategoryInfo : ResourceExists: (ENV:String) [Import-Module], ProviderInvocationException
  • FullyQualifiedErrorId : DriveAlreadyExists,Microsoft.PowerShell.Commands.ImportModuleCommand

VERBOSE: Exporting function 'Add-CMDeviceCollectionExcludeMembershipRule'.
VERBOSE: Exporting function 'Add-CMDeviceCollectionIncludeMembershipRule'.

[break]

VERBOSE: Importing function 'Remove-CMUserCollectionQueryMembershipRule'.
VERBOSE: 09/12/2019 09:57:59: Getting Site Information
Get-CMSite : This command cannot be run from the current drive. To run this command you must first connect to a
Configuration Manager drive.
At C:\Temp\DocumentConfigMgrCB-master\DocumentCMCB.ps1:1232 char:12

  • $CMSites = Get-CMSite
  • CategoryInfo : DeviceError: (Microsoft.Confi....GetSiteCommand:GetSiteCommand) [Get-CMSite], InvalidOpe
    rationException
  • FullyQualifiedErrorId : CommandCannotExecuteFromCurrentDrive,Microsoft.ConfigurationManagement.Cmdlets.HS.Comman
    ds.GetSiteCommand

VERBOSE: 09/12/2019 09:58:00: Completed Checking each site's configuration.
VERBOSE: 09/12/2019 09:58:00: Enumerating all Site Boundaries
Get-CMBoundary : This command cannot be run from the current drive. To run this command you must first connect to a
Configuration Manager drive.
At C:\Temp\DocumentConfigMgrCB-master\DocumentCMCB.ps1:2516 char:15

  • $Boundaries = Get-CMBoundary
  • CategoryInfo : DeviceError: (Microsoft.Confi...BoundaryCommand:GetBoundaryCommand) [Get-CMBoundary], In
    validOperationException
  • FullyQualifiedErrorId : CommandCannotExecuteFromCurrentDrive,Microsoft.ConfigurationManagement.Cmdlets.HS.Comman
    ds.GetBoundaryCommand

[end]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.