🚀 (Updated) Proactive Advisory: Upcoming Microsoft Transition from Exchange Web Services (EWS) to G...
Discuss REST APIs, Workflows, PowerShell, scripting, customization, and more!
Recently active
The GET V2 MediaAgents API has some numeral codes for offlineReason and Status which seem to reflect some different senarios. I have seen 0, 1, 2, and 5. Usually there is documentation coving these things but I not finding it in the online documentation. Do we have a link to this info?{ "offlineReason": 0, "description": "", "status": 1, "mediaAgent": { "mediaAgentId": 2, "_type_": 11, "displayName": "dm2perf3", "mediaAgentName": "dm2perf3" }, "osInfo": { "osId": 210, "OsDisplayInfo": { "OSName": "Windows Server 2016 Datacenter" } }, "versionInfo": { "UpdateStatus": 0, "GalaxyBuildNumber": "11", "GalaxyRelease": { "ReleaseString": "11 SP17", "_type_": 58, "ReleaseID": 16
Hello Community, im wondering how to work with list(string) together with for each.My customer needs to fill in a form with all the clients he needs into a multiline field like this. how does the foreach activity goes to every line from the list?Thats not how it works: thanks a lot and regardsJacob
Hi,I am trying to to explorer automating our Commcell environment. Unfortunately I encountered and error connecting to commcell. I would like to inquiry the error when connecting to commserve using cvpysdk python library. Below is the error. Error when connecting to commserv using hostname. but i can ping the hostname from the server. If something is blocking, is there a required port to open to be able to connect successfully?
Hello, I need your help to understand how to do a browse through files with python. The ArchiveSet=MyArchiveSet1A have 14day retention period.We want to preserve diferent versions of the same file. When we run backup on a file the previous version is replaced by the new one...When browsing the Backupset = MyArchiveSet1A we only get the last versions of the files.How to preserve multiple versions of the same file in the Archiveset ? We are using Commvault 11.30 #### _f2bk - full path of the file to backup# _d2bk - path to browsectx = Commcell('spfpt01cmv01','USER','PASSWD')client = ctx.clients.get(_client)agent = client.agents.get('File System')yn = agent.backupsets.has_backupset('MyArchiveSet1A')if yn: print("### Exist ###") backupset = agent.backupsets.get('MyArchiveSet1A')subclient = backupset.subclients.get('default')subclient.content = [_f2bk]subclient.enable_backup()job_backup = subclient.backup(backup_level='Full')stt=job_backup.statuswhile stt == 'Running': print("Backup stat
Friends, I try to find a way to automate the sql61props via Rest API or Powershell modules. Does anyone has experience with this? My goal is to remove the MSSQL Credentials (Impersonate Users) or replace by dummy and to disable overrideHigherLevelSettings per Client as this is now managed at Server Group. I tried to use Get-CVClient, update $_.pseudoClientInfo.idaInfo.sql61Prop as how I want to have it and post this via Set-CVClient. The answer is that it is successful, but nothing is changed. I also tried to update the settings directly via Submit-CVRESTRequest with the result; answer like succesful, but nothing done. I was looking at sending an XML to send the update, but I can’t find the parameters. Can anyone help me with this?Thanks in advance,Maurice
I would like to know if there is any qcommand/ API to power on the Media agent
Hello,I am trying to create workflow for VM backup and restore.I have used predefined workflow Demo_FileSystemBackupRestore and tried to modify it for VM.Everything goes fine until it gets to restore phase where I get Error 0x303: Q_VIRTUAL_SERVER iDataAgent is not supported by this command.Thanks for any suggestions,Michal
I am monitoring the subclients. I see the “enableBackup” in the api for the subclients but notice the job does not run when the instance is not enabled which I can detect visually from the UI but do not see an attribute in the Instance or InstanceProperties API. Is there attribute for the instance enabledBackup?
I would like having a workflow for backing up Postgresql databases and restore a subset to another Postgresql client and instance by using DumpBasedBackupSet.So I started editing a clone of the “Demo_FileSystemBackupRestore”-workflow.I was able to change the “Backup” and “Restore” task to Postgres in ‘dataAgent’ and giving the instances.What I wonder: the field “instance” is of type String - isn’t there a way to fill this field automatically with all the instances of a given client? For we have Postgresql-clusters with several instances running …But where I am definitely stuck is at selecting the database to restore, neither Backup nor Restore include a field for specifying subsets of backuped data.Any hint to put me on the right track is very welcomed.Markus
Is there a easy way to query the count of waiting jobs similar to the Job Controller display? I am able to run the Jobs API request for each client but that takes a long time.
I’m using subclient ID to add a VM to a subclient. I can’t find and example for this. Does this json template from here actually work? https://documentation.commvault.com/11.24/essential/49184_rest_api_post_subclient_properties.htmlI keep getting 400 Bad Requesthttps://documentation.commvault.com/11.24/essential/assets/features/rest_api/JSON/update_subclient_vm_template.json{ "newName": "", "subClientProperties": { "vmContent": { }, "vsaSubclientProp": { "useChangedTrackingOnVM": , "quiesceGuestFileSystemAndApplications": , "datastoreFreespaceCheck": , "datastoreFreespaceRequired": , "collectFileDetailsForSnap": , "collectFileDetails": } }, "association": { "entity": [{ "clientName": "", "subclientName": "", "backupsetName": "", "instanceName": "", "appName": "Virtual Server" }] }}
Hey Guys!I have no experience in automation. I want to apply for a job that requires IaC. That's all that I know. I don't know what kind of IaC they are talking about. It's a large enterprise environment. What are your CommVault IaC solutions? There are different solutions, like Ansible. What is supported by CommVault, or what solution works best for you? I know you can save as script, write qcommand scripts, using the Powershell cmdlet, but what is more common nowadays? What are the benefits of your IaC solutions, why did you implement it, what are the best use cases, and why was it your best decision, otherwise, what do you dislike, and what are some downsides? What kind of automation does not work with CommVault but would be great, what are some features which are you waiting for? Thank you a lot! Kr
IHAC using NetApp storage as Library mount paths, not supporting Sparse Files.Without Sparse File support, we cannot accurately calculate the usage of mount path data, but this is expected as normal cases.But this MSP customer, they’re still using BET charging to tenant users (I tried to eliminate this for couple of years but not succeeded yet), requires how much data actually occupied.It’s simply not easy and impossible to get accurate data, especially under DDB utilization since Commvault is retaining only the stats for non-aged jobs, so quite difficult to accumulate how much is written/purged as of now.Still we can retrieve rough image of usage from Commvault logs, from DDB Verification job results.After running DDB Verification, we can get reclaimable stats at a log file named DDBMntPathInfo.log on MA server(s) like (this is actual data at customer's site): 9601 2581 10/31 08:06:34 22551699 ====================================================================9601 2581 10/31 08:06:34
Background story:IHAC who upgrade VMware environment (from 6.0 to 6.5), copy VMs from old environment (vCenter/ESX) to new, so need to change Commvault side to change access path to vCenter at client level. Problem here, one VSA client has multiple subclients which contain some VMs as contents, these VMs are not migrated at the same time, so we cannot change vCenter access path until we migrate all VMs to new environment, because of that there's a request to copy subclient information "one-by-one" to new VSA client (how to retain job sequences would be another topic, slightly complicated per Index versions). We can achieve this by creating new subclients on new client one-by-one by specifying all attribures (contents, configurations, etc.), but some of clients have over 100 of subclients each, so requested automated approach, which could be Commvault Workflow.Major problems on Commvault automation to create subclients,We're not officially provide exact parameter to generate a new VSA s
Continued topic from Community Topic #10 VSA subclient information #1As we can copy VSA subclients from one VSA client to another using tricky and slightly dangerous approacy utilizing Clone CLI, unfortunately there's another issue that we cannot clone individual schedules (not schedule policy settings, this would be cloned).To achieve this, we need to modify CSDB again.Basically schedule information is stored in TM_Task and TM_SubTask tables, but other tables started from TM_ also be involved.And another thing is, the format to generate schedule is quite complicated so cannot easily mimic the behavior, so I took an approach to copy all records to new schedule at SQL level.Digging a lot, we can achieve like this:List up all schedules per subclient. Create dummy schedules on this subclient (this can be done by creating simple schedule on CommCell Console and retrieve parameter XML file from "Save As Script"). Replace the schedule "contents" with SQL queries.Workflow images like this:Lis
This is simple but working trick to maintain Commvault.Via Workflow built-in activity "ExecuteScript", you can call arbitrary shells (both on Windows/Linux) remotely.If you have full access to the remote server and able to place scripts, or if the script can be called via Workflow, no issues.But if you'd like to modify the script remotely for OS-side schedule jobs (Task Scheduler or crontab), it's slightly difficult to control this process remotely, since Commvault can restore the script but not so easy to modify the content itself.If the script contains only text data, you can utilize echo command to put contents remotely, one trick required though since arbitraryTo achieve this,First, prepare any scripts you want to put remotely (this is modified version of .bat file generated via Save as Script):Next, pass the generated script to the following logic, which "escapes" all strings per OS type:String text = <original script>;String osType = <Windows or Linux>;// Generate ech
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.