Download featured YARA rules, browse code samples or contribute your own scripts
Recently active
Good Monday everyone! Another week, another script 😉 This time for the Veeam file share backup jobs.IntroAlso last Friday another script was ready for release, but I didn't want to "interrupt" the World Backup Day celebrations with a dull script ;) And my last script also caused quite some buzz in our backup world:vbr-job-scanner-ps1And I promised that more will come... The scriptIn my GitHub repository you can find a script that checks if a unexpectedly high number of files have been backed up via file share backup compared to the last times. There are two versions of this script:vbr-nasjob-scanner.ps1 - For manual checks vbr-nasjob-scanner-post-script.ps1 - For use in the Backup Job as a post-script Details and instructions on the readme page.Feedback welcome!
Spring is here 💐 and with it comes another script. This time for Veeam Backup & Replication.The script shows different job configuration settings and can be used to quickly identify differences in job settings.The Readme and code lines can be found in GitHub:Bits & BytesMore to come depending on your feedback (I already got one related to NAS backup)
The problemHave you ever needed to know how much data you need to backup incrementally from your VMware environment? Because you need to design a new backup storage? Because you need to know, if your WAN is capable of transferring everything into the cloud or from your branch office? Because you need to know the change rates of your VMs? The solutionNow you can track these data changes with a simple script! Let me introduce you to GetChangedBlocksV2! It is a PowerShell script which uses the VMware PowerCLI to read the changes from your VMware disks each time it is run and saves it as CSV. It keeps track of the changes between each run, between each day and between each week. In order to get good results, you need to run this tool on a regular basis, e.g., with the Task Scheduler.There is even a basic Excel file included to analyze the results for you. But if you have better tools feel free to utilize them. Where to get it?https://github.com/turboPasqual/GetChangedBlocksV2 Other stuffWh
If you do not run VeeamONE, it can be challenging to check if every VM that should be backed up, is really backed up. Therefore I wrote a small PowerShell script. Basically this script looks for each VM if there is a restore point for this VM. If not, it gets listed. Extra feature: Script connects to every vCenter that is registered in B&R server. There is a Blocklist included: when VMs should not be backuped, just place their name in the blocklist and they will not be shown in the list. So you can exclude VMs without editing the script.Notes:CredObject.xml is used for stored, encrypted credentials. Script connects to local B&R server, so it should run there if not changed. # Load Plugin and moduleAdd-PSSnapin VeeamPSSnapinImport-Module VMware.VimAutomation.Core# Configure for multiple vCenter ConnectionsSet-PowerCLIConfiguration -DefaultVIServerMode Multiple -Scope Session -Confirm:$falseSet-PowerCLIConfiguration -InvalidCertificateAction Ignore -Scope Session -Confirm:$false#
IntroIn the past I’ve shared some scripts with the community which were related to security stuff. Among my many ideas (I should put down on paper everything that is buzzing around in my head), someone recently asked in our internal Teams Veeam MVP chat the following question: "Can somebody please integrate VONE's Suspicious Backup file size and job duration alarm into VBR?" Friday MoodI try to keep every Friday afternoon free for some exciting projects. Most of the projects are related to customer or partner requests that can’t be handled directly with Veeam products. So, last Friday's slogan was "It's Friday again.....". (Who knows the song?)My approach was to create two scripts. One for manual execution, the other for integration into existing backup jobs with the possibility to display the result in the backup job statistics. The ResultPlease have a look into Brad's post, who was asking for the possibility to identify this in VBR: Linch TipsRelease v1.1 of the script will include t
Is there any way to report (powershell script etc.) on Nutanix AHV repository hosted content (via Hyper-V) except for using the Veeam ONE “Protected VMs) report. Information required, Succesful backup sessions: Job anme, start & stop times, Durations, avg speed, total, processed, data read, transferred, dedup, compression, result.
Is that any way to trigger notification when backup job start?
Hi,I need to write to the tape files created during previous day. I have a script which generates that list. How can I tell Veeam, which files to write?Do I need to write script creating a new job each day or it is possible to use “before job script” for that?Thanks in advance
Hi all, I just wanted to give you some updates on vCLI’s updates (up to 0.7.0-beta1):PUT and POST operations Default API updated to v12 VBR and v7 VB365 Enterprise Manager support Utility functions: VBR Job GET to POST converter Check for version updates Job template featureVBR Job GET to POST converterThe VBR API Job object is slightly different to the POST object; the converter can take a GET object json file and convert it to a POST object json file. Job Template featureThe job template feature was put together to help with having to manage large VBR job objects. A job template can be created, forming the basis for any new jobs you want to create. For example, if you only need to modify the VMs, you only need to pass a relatively small object:type: Backupname: my jobdescription: Created by VCLI.isDisabled: falsevirtualMachines: includes: - type: VirtualMachine hostName: your-vmware-host name: your-vm-name objectId: vm-0001The command being:vcli job create abc-j
Hi all, most of us know the powerfull Remove-VBOEntityData cmdlet to remove objects from Veeam Backup for Microsoft 365 repo’s. I’ve been checking documentation and the swagger, but didn’t find any API alternative. Anybody already succeeded in calling this function via API ?
Hi Team, The customer wants to setup ransomware alerts on Veeam One. And also wants that if any alert comes then backup should be stopped.I have checked the documentation and found that action option is available in alert setting where we have option to run script. can you please help me with the script.Thanks!!
Hello together, I wrote a exporter to Collect VEEAM AHV Metrics for Prometheus: https://github.com/claranet/veeam-ahvproxy-exporter/ It now also Support API v4 for Veeam v12. Best regards,Martin
Support for the newly released v12 (VBR/EM/ONE) is now available in the Veeam Collection for Ansible!What enhancements can you expect?Support for Windows Server 2022 Full support for PostgreSQL when performing VBR/EM installs Including local & remote DBs A new module to apply PostgreSQL performance tuning Leverages the Set-VBRPSQLDatabaseServerLimits PowerShell cmdlet Automatic enabling of the PostgreSQL pg_stat_statements extension during PostgreSQL installation This assists in performance troubleshooting Additional sample v12-specific playbooks Upgraded dependencies leveraging the latest ansible collections for Windows: ansible.windows: 1.13.0 community.windows: 1.12.0 For those not familiar with this Ansible collection, please see this blog post for an introduction.
Hi all, To all the API gurus out there that like Go I’ve put together a package that takes care of all the authentication for you.https://github.com/shapedthought/go-veeam-authReally easy to add to your project. Just put this into the terminal in your project directory:go get github.com/shapedthought/go-veeam-authMost of the APIs are covered:VBR VB AWS VB AZURE VB GCP VONE VB365Instructions are on the GitHub. Video:Note that this isn’t a full SDK like the one on VeeamHub, it just does the authentication, but there are some convenience functions to make calls a bit easier.If you have any recommendations or would like to contribute, feel free to raise an issue or send a pull request.All the best,Edx
Hello Community,imagine you no longer have access to your most important Exchange Online mailboxes? Or you want to perform some checks, but you don't want to touch the productive mailboxes and your production Microsoft 365 tenant? What if a script and Veeam Backup for Microsoft 365 could help you?Down below is a simple recipe.IngredientsVeeam Backup for Microsoft 365 An Exchange Online backup job protecting the mailboxes A second Microsoft 365 tenant with already configured (target) mailboxes A configured Azure AD application in the second Microsoft 365 tenant A CSV file with the mailboxes to be copiedThe script with all information can be downloaded here: ScriptIf the destination mailbox is empty, all objects are restored. If the objects already exist, only missing objects will be restored.Please share what else could be achieved using this script.
This script showcases just how easy it is to use Veeam PowerShell cmdlets to export an M365 mailbox. This script is designed to be executed on a Veeam Backup for Microsoft 365 (VB365) v6 server and it's interactive so no parameters are required. Upon execution, the script polls for information which culminates in the specified user mailbox being exported to a PST file.The code in this script could also be referenced to create a script to fully automate the mailbox export process.For more detailed information, please follow the VeeamHub link:https://github.com/VeeamHub/powershell/tree/master/VB365-ExportMailboxToPSTHere’s a screenshot of what it looks like in action:
Colleagues, Anyone knows how to enable that checkbox by Powershell? Trying to build 100% powershell deployment and can’t find how to enable that settings.Cheers,Alexey
A few times I have had partners/customers confused as to why their jobs failed when needing media and they have put media in the library. Well, the new media is in the Unrecognized Pool and needs to be moved. I created a Powershell script that can be used to automate this process to hopefully help this situation. https://github.com/VeeamHub/powershell/tree/master/BR-TapeMedia-FreePool
Sometimes my customers ask for a more detailed capcity report regarding the stored Exchange Online backup data. Currently you only get the consumed capacity per repository and per organization. But how about calculating an average value from the stored backup data divided by the number of protected mailboxes?I wanted to hit two birds with one stone: Write a new script covering this topic and start to switch my existing scripts to modern authentication. Here you are: https://github.com/yetanothermightytool/powershell/tree/master/vbo/vb365-exo-usage-reportSoon I will publish a how-to guide with step by step instructions on how to create/update scripts using the modern authentication approach. Stay tuned. Happy weekend! Steve
[CmdletBinding()]param ( # CSv file tab delimited with name and Vlan [Parameter(Mandatory = $true)] [string[]] $CSV, # The datacenter where you want to move the workload to. [Parameter(Mandatory = $true)] [string] $Datacenter, # The Cluster where you want to move the workload to. [Parameter(Mandatory = $true)] [string] $Cluster, # Errorlog [Parameter()] [string] $ErrorLog = 'E:\Scripts\ErrorLog.txt', # Enable error logging [Parameter()] [switch] $LogErrors, # Enable error logging [Parameter()] [Int32] $HostIndex = 0)#$Global:ErrorLog = 'E:\Scripts\ErrorLog.txt'function Write-ToLog { [cmdletbinding()] Param ( [string] [parameter(ValueFromPipeline)] $Text ) if ($LogErrors) { $timestamp = Get-Date Write-Output "$timestamp :: $Text" | Tee-Object $ErrorLog -Append }}function Move-Workload { <# .SYNOPSIS Performs a migration of VMs running on Hyper-V to
Hello community!Some customers asked for it and here is it (a little X-mas present for the community):The NAS Hash Comparer. This script launches an Instant File Share Recovery for a specified file share backup job and compares the hash value using the given parameters. More details can be found on my GitHub page: https://github.com/yetanothermightytool/powershell/blob/master/vbr/vbr-nas-hashcompare/README.mdHappy HolidaysSteve
Guys, I've created a script to automatically create SPO and Teams jobs. Main features includeCreate jobs for all currently unprotected SPO sites and teams Build jobs based on a object-limit per job (incl. recurse option to cope with SP subsites) Distribute jobs over different repositories automatically (which includes proxy balancing of course) Add matching teams to the same job as the SP site as per BP Automatic scheduling with delays per job (configurable) All built on the VB365 API - so no M365 application or so required Include & excludes possible Can put objects in a job pointing to a repository which already contains backups of this objectThe script is available on VeeamHub: powershell/VB365-JobManager at master · VeeamHub/powershell (github.com) I already have two larger customers using versions of this script and am looking for more feedback of course.
So, this is definitely a deep edge case if you could not tell from the title, if you could even figure out the situation from the title :)But since I went down this rabbit hole for a case, figured I’d share it for people getting deep into automation and the Veeam Public Cloud Backups who are following 3-2-1 rule and making Backup Copies of these from their External Repositories. Even if you never need to solve this particular use case, I suppose it’s a good example of what you can actually learn about a backup and how to properly parse data without nasty string munging.Issue: Backup Copies sourced from External Backups don’t have a UI field to associate the Restore Points with the original backed up machine’s public cloud information like Subscription, Region, etc.Where this likely becomes an issue is when you heavily automate regional deployments and may have identical infrastructures set up uniquely for individual regions. (e.g., you deploy machines with same names for regions that o
One of the first scripts I wrote after I joined Veeam was one that produced a license usage report using the Veeam Availability Console API. Since then, a lot has changed! The product was rebranded to Veeam Service Provider Console (VSPC) and it’s API was greatly updated in a complete rewrite!That change occurred a couple years ago... As such, it was definitely long overdue for this script to be reworked so it could leverage this amazing new API! This script uses minimal API calls to retrieve current point in time license usage for every company in VSPC. On top of that, if the company is managed by a reseller, reseller information will be included in the output.Developer’s notes...This script is meant to be a stepping stone as the framework can easily be used in other automations. I tried to keep most of the code modular by design so folks can use the script as-is or take the pieces you need for your custom Veeam integration. It can also serve as a reference on how to use Asynchronous
Hi guys, I was wondering if it is possible to enable the encrypt option for all backup jobs using powershell. I already have created the encryption key/password. Your help would be appriciated.
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.