{"id":28762462,"url":"https://github.com/rubrikinc/use-case-powershell-backup-validation","last_synced_at":"2025-06-17T08:08:37.547Z","repository":{"id":56336884,"uuid":"100756283","full_name":"rubrikinc/use-case-powershell-backup-validation","owner":"rubrikinc","description":"Recovery Validation Framework with PowerShell","archived":false,"fork":false,"pushed_at":"2020-11-16T14:41:00.000Z","size":848,"stargazers_count":10,"open_issues_count":4,"forks_count":5,"subscribers_count":9,"default_branch":"master","last_synced_at":"2023-02-28T10:05:42.249Z","etag":null,"topics":["powershell","rubrik","use-case"],"latest_commit_sha":null,"homepage":"https://build.rubrik.com/use-cases/backup-validation/","language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubrikinc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-08-18T23:07:37.000Z","updated_at":"2021-07-10T00:37:12.000Z","dependencies_parsed_at":"2022-08-15T16:50:45.538Z","dependency_job_id":null,"html_url":"https://github.com/rubrikinc/use-case-powershell-backup-validation","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"purl":"pkg:github/rubrikinc/use-case-powershell-backup-validation","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubrikinc%2Fuse-case-powershell-backup-validation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubrikinc%2Fuse-case-powershell-backup-validation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubrikinc%2Fuse-case-powershell-backup-validation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubrikinc%2Fuse-case-powershell-backup-validation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubrikinc","download_url":"https://codeload.github.com/rubrikinc/use-case-powershell-backup-validation/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubrikinc%2Fuse-case-powershell-backup-validation/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260318702,"owners_count":22991122,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["powershell","rubrik","use-case"],"created_at":"2025-06-17T08:08:35.961Z","updated_at":"2025-06-17T08:08:37.535Z","avatar_url":"https://github.com/rubrikinc.png","language":"PowerShell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PowerShell Backup Validation\n\nThis project is used to provide a framework for serial and parallel application testing against workloads that have been protected by Rubrik's Cloud Data Management platform.\n\nUsing the `Invoke-Build` framework, this project allows for an administrator to declare the topology of an application across one or more virtual machines. The entire collection of virtual machines are Live Mounted as a group and a battery of user-defined tests are applied. Upon the completion of the tests, the Live Mounts are removed and a summary of results are displayed.\n\n# :white_check_mark: Prerequisites\n\nThere are a few services you'll need in order to get this project off the ground:\n\n* [PowerShell](https://aka.ms/getps6)\n* [Rubrik PowerShell Module](https://www.powershellgallery.com/packages/Rubrik/)\n* [Rubrik PowerShell Backup Validation Module](https://github.com/rubrikinc/rubrik-module-for-powershell-backup-validation)\n* [VMware PowerCLI](https://www.powershellgallery.com/packages/VMware.PowerCLI/)\n* [InvokeBuild](https://www.powershellgallery.com/packages/InvokeBuild/)\n\n\n# :hammer: Installation\n\nThis folder can be dropped anywhere on your workstation that has network connectivity to a Rubrik cluster and related vCenter Server.\n\n## Configuration\n\nThere are three main points of configuration: Environment JSON files, Config JSON files, and Identity XML files.\n\n### Environment JSON Files\n\nThe `Environment` folder contains JSON files that describe the Rubrik Cluster and vCenter Server information. A sample configuration looks like:\n\n```PowerShell\n{\n    \"rubrikServer\": \"172.17.28.11\",\n    \"rubrikCred\": \"rubrikCred.xml\",\n    \"vmwareServer\": \"172.17.48.22\",\n    \"vmwareCred\": \"vmwareCred.xml\"\n}\n```\n\n### Config JSON Files\n\nThe `Config` folder contains JSON files that describe the virtual machines being tested. A sample configuration looks like:\n\n```PowerShell\n{\n    \"virtualMachines\": [\n        {\n            \"name\": \"SE-CWAHL-WIN\",\n            \"mountName\": \"MOUNT-2TIER-APP\",\n            \"guestCred\": \"guestCred.xml\",\n            \"testIp\": \"172.17.50.121\",\n            \"testNetwork\": \"VLAN50_Servers_Mount\",\n            \"testGateway\": \"172.17.50.1\",\n            \"tasks\": [\"Ping\",\"Netlogon\"]\n        },\n        {\n            \"name\": \"SE-CWAHL-WIN\",\n            \"mountName\": \"MOUNT-2TIER-DB\",\n            \"guestCred\": \"guestCred.xml\",\n            \"testIp\": \"172.17.50.122\",\n            \"testNetwork\": \"VLAN50_Servers_Mount\",\n            \"testGateway\": \"172.17.50.1\",\n            \"tasks\": [\"Ping\",\"Netlogon\"]\n        }\n    ]\n}\n```\n\n### Identity\n\nThe `Identity` folder is not included in this repository. It can be placed anywhere in your environment and should host secure XML files created with `Export-Clixml` containing the credentials needed to communicate with the Rubrik cluster, vCenter Server, and any guest operating systems involved in the application testing.\n\nUse the [generateCreds.ps1](https://github.com/rubrikinc/PowerShell-Backup-Validation/blob/master/helper/generateCreds.ps1) file to create a starter set of credentials or see how the generation process works.\n\n_Note: Secure XML files can only be decrypted by the user account that created them._\n\n## Usage\n\nOnce the Environment, Config, and Identity requirements are met, use the `Invoke-Build` function to execute a build. Here is a sample command using a splat.\n\n```PowerShell\n$Splat = @{\n    File            = '..\\.build.ps1'\n    EnvironmentFile = '.\\environment\\se-2.json'\n    ConfigFile      = '.\\config\\1-tier-app.json'\n    IdentityPath    = '.\\credential\\laptop'\n    }\n\nInvoke-Build @Splat -Result Result\n```\n\n# :blue_book: Documentation \n\nHere are some resources to get you started! If you find any challenges from this project are not properly documented or are unclear, please [raise an issue](https://github.com/rubrikinc/use-case-powershell-backup-validation/issues/new/choose) and let us know! This is a fun, safe environment - don't worry if you're a GitHub newbie! :heart:\n\n* [Quick Start Guide](https://github.com/rubrikinc/Use-Case-PowerShell-Backup-Validation/blob/master/docs/quick-start.md)\n* [Rubrik SDK for Powershell Documentation](http://rubrikinc.github.io/rubrik-sdk-for-powershell/)\n* [Rubrik API Documentation](https://github.com/rubrikinc/api-documentation)\n* [VIDEO: Getting Started with the Backup Validation Use Case](https://www.youtube.com/watch?v=OCmFpno268M\u0026feature=youtu.be)\n\n# :muscle: How You Can Help\n\nWe glady welcome contributions from the community. From updating the documentation to adding more tests for this framework, all ideas are welcome. Thank you in advance for all of your issues, pull requests, and comments! :star:\n\n* [Contributing Guide](CONTRIBUTING.md)\n* [Code of Conduct](CODE_OF_CONDUCT.md)\n\n# :pushpin: License\n\n* [MIT License](LICENSE)\n\n# :point_right: About Rubrik Build\n\nWe encourage all contributors to become members. We aim to grow an active, healthy community of contributors, reviewers, and code owners. Learn more in our [Welcome to the Rubrik Build Community](https://github.com/rubrikinc/welcome-to-rubrik-build) page.\n\nWe'd  love to hear from you! Email us: build@rubrik.com :love_letter:\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frubrikinc%2Fuse-case-powershell-backup-validation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frubrikinc%2Fuse-case-powershell-backup-validation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frubrikinc%2Fuse-case-powershell-backup-validation/lists"}