asbuiltreport / asbuiltreport.veeam.vb365 Goto Github PK
View Code? Open in Web Editor NEWRepository for AsBuiltReport Veeam Backup for Microsoft 365 module
License: MIT License
Repository for AsBuiltReport Veeam Backup for Microsoft 365 module
License: MIT License
7
Health Check - Validate VB365 server is not joined to production Active Directory domain.
https://github.com/VeeamCommunity/veeamcommunity-2023-Team-4/blob/main/VB365-bpg/DomainJoined.ps1
No response
7
Health Check - Validate if Self-Service restore portal is implemented
No response
PS C:\Users\jocolon> Get-VBOBackupApplication -Organization $Org[1] | fl
OrganizationId : cfe70e69-8eb4-4014-9ea3-d8e628fba8a2
ApplicationId : cdadfee6-f9b6-4ce1-b2cf-3a909a5eadad
DisplayName : VB365
ApplicationCertificateThumbprint : A662DCEACE143A7A575815A53788522A284E7941
PS C:\Users\jocolon>
PS C:\Users\jocolon> Get-VBORbacRole
Id : cce15c11-31be-4d65-825b-845a1df6186c
OrganizationId : cfe70e69-8eb4-4014-9ea3-d8e628fba8a2
Name : PHARMAXOperatorHelpDesk
Description : Created by PHARMAX\administrator at 2/24/2024 10:35:11 PM
RoleType : SpecificObjects
Operators : {Angel Santos}
SelectedItems : {}
ExcludedItems : {}
Id : 8e4e0ecf-eed9-4d74-9aca-ed52aa858850
OrganizationId : cfe70e69-8eb4-4014-9ea3-d8e628fba8a2
Name : Pharmax
Description : Created by PHARMAX\administrator at 2/24/2024 10:33:40 PM
RoleType : EntireOrganization
Operators : {Jonathan A.. Colon Feliciano}
SelectedItems : {}
ExcludedItems : {}
PS C:\Users\jocolon>
Migrate chart code to separate function.
if ($Options.EnableCharts) {
try {
$sampleData = $inObj.GetEnumerator() | Select-Object @{ Name = 'Name'; Expression = { $_.key } }, @{ Name = 'Value'; Expression = { $_.value } } | Sort-Object -Property 'Category'
$chartFileItem = Get-PieChart -SampleData $sampleData -ChartName 'ComputersObject' -XField 'Name' -YField 'Value' -ChartLegendName 'Category' -ChartTitleName 'ComputersObject' -ChartTitleText 'Computers Count'
} catch {
Write-PScriboMessage -IsWarning "$($_.Exception.Message) (Computers Object Count Chart)"
}
}
if ($OutObj) {
Section -ExcludeFromTOC -Style NOTOCHeading3 'Computers' {
if ($chartFileItem) {
Image -Text 'Computers Object - Diagram' -Align 'Center' -Percent 100 -Base64 $chartFileItem
}
$OutObj | Table @TableParams
}
}
No response
7
Health Check - Validate if legacy TLS are disabled:
No response
C:\Users\jocolon\AsBuiltReport\ -Credential $cred -Format HTML -EnableHealthCheck
Please wait while the Veeam VB365 As Built Report is being generated.
WARNING: [ 09:35:48:923 ] [ Document ] - Please refer to the AsBuiltReport.Veeam.VB365 github website for more detailed information about this project.
WARNING: [ 09:35:48:939 ] [ Document ] - Do not forget to update your report configuration file after each new version release.
WARNING: [ 09:35:48:939 ] [ Document ] - Documentation: https://github.com/AsBuiltReport/AsBuiltReport.Veeam.VB365
WARNING: [ 09:35:48:939 ] [ Document ] - Issues or bug reporting: https://github.com/AsBuiltReport/AsBuiltReport.Veeam.VB365/issues
WARNING: [ 09:35:49:064 ] [ Document ] - AsBuiltReport.Veeam.VB365 0.3.0 is currently installed.
WARNING: [ 09:35:58:908 ] [ Document ] - Backup Copy Chart Section: Exception calling "SaveImage" with "2" argument(s): "Could not find file 'C:\Users\jocolon\Documents\BackupJobs.png'."
WARNING: [ 09:35:59:345 ] [ Document ] - Restore Sessions Chart Section: Exception calling "SaveImage" with "2" argument(s): "Could not find file
'C:\Users\jocolon\Documents\RestoreSession.png'."
Veeam VB365 As Built Report 'Veeam VB365 As Built Report' has been saved to 'C:\Users\jocolon\AsBuiltReport\'.
PS C:\Users\jocolon\Documents> New-AsBuiltReport -Report Veeam.VB365 -Target veeam-vbo-01v.pharmax.local -AsBuiltConfigFilePath C:\Users\jocolon\AsBuiltReport\AsBuiltReport.json -OutputFolderPath C:\Users\jocolon\AsBuiltReport\ -Credential $cred -Format HTML -EnableHealthCheck
Code section "$chartFileItem = Export-Chart -Chart $exampleChart -Path (Get-Location).Path -Format "PNG" -PassThru" calls (Get-Location).Path instead of saving on $Temp or user profile.
PS C:\Users\jocolon\Documents> (Get-Location).Path
C:\Users\jocolon\Documents
PS C:\Users\jocolon\Documents>
Just works!
No response
Windows 10
PS C:\Users\jocolon\Documents> $PSVersionTable
Name Value
---- -----
PSVersion 5.1.19041.3803
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.19041.3803
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
PS C:\Users\jocolon\Documents>
PS C:\Users\jocolon\Documents> Get-Module -ListAvailable @("AsBuiltReport.Core";"AsBuiltReport.Veeam.VB365";"PScribo") | Select Name, Version
Name Version
---- -------
AsBuiltReport.Veeam.VB365 0.3.0
AsBuiltReport.Core 1.3.0
PScribo 0.10.0
PS C:\Users\jocolon\Documents>
No response
Add Restore session information to the report
PS C:\Users\jocolon> Get-VBORestoreSession
Id : 8baa99f6-3392-4d35-b4e2-62d657cae7e9
Name : Exchange restore (Entire organization - 3/23/2023 2:16:40 PM)
StartTime : 3/23/2023 2:17:04 PM
EndTime : 3/23/2023 2:17:15 PM
Status : Stopped
Result : Success
Type : Exchange
InitiatedBy : PHARMAX\Administrator
ProcessedObjects : 1
PS C:\Users\jocolon>
Hi,
Getting the following error when using format = word.
Running the PS with admin privileges.
New-AsBuiltReport : The variable '$Images' cannot be retrieved because it has not been set.
At line:1 char:1
+ New-AsBuiltReport -Report Veeam.VB365 -Target VBM365.plattanolabs.com ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException
+ FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,New-AsBuiltReport
New-AsBuiltReport -Report Veeam.VB365 -Target VBM365.plattanolabs.com.br -Format Word -OutputFolderPath 'C:\temp' -EnableHealthCheck
ran the command
Word format report
No response
Windows Server 2016 Datacenter
PS C:\Users\administrator.PLATTANOLABS> $PSVersionTable
Name Value
---- -----
PSVersion 5.1.14393.5582
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.14393.5582
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
Name Version
---- -------
AsBuiltReport.Core 1.3.0
AsBuiltReport.Veeam.VB365 0.1.1
PScribo 0.10.0
No response
7
Server
API
Restore Portal
Operator Auth
Tenant Auth (only if installed on server with Cloud Connect)
https://helpcenter.veeam.com/docs/vbo365/guide/vbo_ssl_usage_scenarios.html?ver=70
For the Restore Portal and API Server, consider using trusted certificates as these are services accessed by end users
No response
7
Without setting up an email and server in the email notifications users will not get notified when there are issues
https://helpcenter.veeam.com/docs/vbo365/guide/vbo_notification_settings.html?ver=70
No response
7
Health Check - Validate if object lock is implemented on the Backup copy object storage repository
No response
7
Health Check - Validate the use of Full Modern Authentication for Organizations
https://github.com/VeeamCommunity/veeamcommunity-2023-Team-4/blob/main/VB365-bpg/FullModernAuth.ps1
No response
Add Restore point information to the report
PS C:\Users\jocolon> Get-VBORestorePoint
BackupTime OrganizationId JobId RepositoryId IsExchange IsSharePoint IsOneDrive IsTeams IsCopy IsLongTermCopy IsRetrieved
---------- -------------- ----- ------------ ---------- ------------ ---------- ------- ------ -------------- -----------
3/23/2023 6:01:42 PM 5458c8e3-1c75-4954-a573-8... 00a1c2f2-8e34-46ea-a028-e... b7c60830-3473-4a78-93fe-4... True False False False False False False
3/23/2023 6:01:42 PM 5458c8e3-1c75-4954-a573-8... e5df99c4-950e-4752-ae5e-3... b14698fb-9e08-42fe-b5be-7... True False False False True False False
3/23/2023 6:01:37 PM 5458c8e3-1c75-4954-a573-8... e6b97534-e06f-4bac-8566-a... b00a03cb-c49c-464a-bd56-5... True False False False False False False
3/23/2023 2:21:51 PM 5458c8e3-1c75-4954-a573-8... 00a1c2f2-8e34-46ea-a028-e... b7c60830-3473-4a78-93fe-4... True False False False False False False
3/23/2023 2:21:51 PM 5458c8e3-1c75-4954-a573-8... e5df99c4-950e-4752-ae5e-3... b14698fb-9e08-42fe-b5be-7... True False False False True False False
3/23/2023 2:16:40 PM 5458c8e3-1c75-4954-a573-8... e6b97534-e06f-4bac-8566-a... b00a03cb-c49c-464a-bd56-5... True False False False False False False
PS C:\Users\jocolon>
7
Health Check - Validate if S3 repositories use encryption
No response
Add Session History Retention
PS C:\Users\jocolon> Get-VBOHistorySettings
SessionHistoryRetention : Keep all sessions
PS C:\Users\jocolon>
7
Add HealthCheck if license usage has exceeded limit
No response
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.