
Example of usages: Find the scratch tapes in a particular robot... or in a particular site...
I wanted to parse the output and be able to reuse the information for other commands or to report information to the team. I realised that could be a good exercice to improve my parsing skills using PowerShell and decided to work on some more cmdlets and eventually a module.
Module NetBackupPS
The module contains a few Cmdlets which are focus on reporting information from the system.I still have some materials to work on but unfortunately, I don't have access to NetBackup anymore so I can't really test further from this point on.
Anyway, I thought sharing the code could be useful to other people.
It is available on the Technet Gallery.
I also push my last updates to a Github Repository, contributors are welcome ! so feel free to fork the repo :)
Using the module
After downloading the last version from the repo, unblock and extract the zip in the modules directory, most likely one of those directories:
$home\Documents\WindowsPowerShell\Modules
$pshome\Modules
Then load your module:
Import-Module -Name NetBackupPS
Cmdlets available
As an example, here is the help from Get-NetBackupVolume which retrieve volumes information.
Get-NetBackupVolume
NAME Get-NetBackupVolume SYNOPSIS This function queries the EMM database for volume information (vmquery) SYNTAX Get-NetBackupVolume -MediaID <String[]> [<CommonParameters>] Get-NetBackupVolume [-PoolName <String>] [-RobotNumber <Int32[]>] [<CommonParameters>] DESCRIPTION This function queries the EMM database for volume information (vmquery) PARAMETERS -PoolName <String> Specify the PoolName to query Required? false Position? named Default value Accept pipeline input? false Accept wildcard characters? false -RobotNumber <Int32[]> Specify the RobotNumber to query Required? false Position? named Default value Accept pipeline input? false Accept wildcard characters? false -MediaID <String[]> Specify the MediaID(s) to display Required? true Position? named Default value Accept pipeline input? false Accept wildcard characters? false <CommonParameters> This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters (http://go.microsoft.com/fwlink/?LinkID=113216). INPUTS OUTPUTS -------------------------- EXAMPLE 1 -------------------------- C:\PS>Get-NetBackupVolume -PoolName Scratch This will return all the volumes in the Pool named Scratch VaultName : --- VaultSessionID : --- MacMountsAllowed : --- AssignedDate : --- LastMountedDate : --- FirstMount : --- VolumePool : Scratch (4) MediaDescription : --- VaultSlot : --- ExpirationDate : --- NumberOfMounts : 0 VaultContainerID : - Created : 18/12/2012 4 Barcode : WT0161L3 VaultSentDate : --- RobotType : NONE - Not Robotic (0) VaultReturnDate : --- VolumeGroup : --- MediaType : 1/2" cartridge tape 3 (24) MediaID : WT0161 VaultName : --- VaultSessionID : --- MacMountsAllowed : --- AssignedDate : --- LastMountedDate : --- FirstMount : --- VolumePool : Scratch (4) MediaDescription : --- VaultSlot : --- ExpirationDate : --- NumberOfMounts : 0 VaultContainerID : - Created : 19/12/2012 4 Barcode : WT0166L3 VaultSentDate : --- RobotType : NONE - Not Robotic (0) VaultReturnDate : --- VolumeGroup : --- MediaType : 1/2" cartridge tape 3 (24) MediaID : WT0166 VaultName : --- VaultSessionID : --- MacMountsAllowed : --- AssignedDate : --- LastMountedDate : --- FirstMount : --- VolumePool : Scratch (4) MediaDescription : --- VaultSlot : --- ExpirationDate : --- NumberOfMounts : 0 VaultContainerID : - Created : 16/04/2013 3 Barcode : WT0191L3 VaultSentDate : --- RobotType : NONE - Not Robotic (0) VaultReturnDate : --- VolumeGroup : --- MediaType : 1/2" cartridge tape 3 (24) MediaID : WT0191 -------------------------- EXAMPLE 2 -------------------------- C:\PS>Get-NetBackupVolume -MediaID CC0002,DD0005 This will display information for the tapes CC0002,DD0005 VaultName : fx1 VaultSessionID : 169 MacMountsAllowed : --- AssignedDate : --- LastMounted : 30/03/2013 4 VolumePool : Scratch (4) MediaDescription : --- VaultSlot : 34 ExpirationDate : --- NumberOfMounts : 17 VaultContainerID : - CreatedDate : 10/01/2013 1 Barcode : CC0002L5 VaultSentDate : 02/04/2013 12 RobotType : NONE - Not Robotic (0) VaultReturnDate : --- VolumeGroup : fx1_offsite MediaType : 1/2" cartridge tape 3 (24) FirstMount : 15/01/2013 6 MediaID : CC0002 VaultName : tapedepot VaultSessionID : 497 MacMountsAllowed : --- AssignedDate : --- LastMounted : 08/01/2014 2 VolumePool : Scratch (4) MediaDescription : --- VaultSlot : 341 ExpirationDate : --- NumberOfMounts : 11 VaultContainerID : - CreatedDate : 09/10/2013 8 Barcode : DD0005L3 VaultSentDate : 08/01/2014 4 RobotType : NONE - Not Robotic (0) VaultReturnDate : 22/02/2014 6 VolumeGroup : fx1_offsite MediaType : 1/2" cartridge tape 3 (24) FirstMount : 14/10/2013 2 MediaID : DD0005 -------------------------- EXAMPLE 3 -------------------------- C:\PS>Get-NetBackupVolume -RobotNumber 23 -Poolname Scratch This will return the volumes in the PoolName 'Scratch' for the RobotNumber 23. -------------------------- EXAMPLE 4 -------------------------- C:\PS>Get-NetBackupVolume -RobotNumber 23,19 -Poolname Scratch -Verbose This will return the volumes in the PoolName 'Scratch' for the RobotNumber 23 and 19. It will additionally show the verbose messages/comments. RELATED LINKS
Thanks for reading! If you have any questions, leave a comment or send me an email at fxcat@lazywinadmin.com. I invite you to follow me on Twitter @lazywinadm / Google+ / LinkedIn. You can also follow the LazyWinAdmin Blog on Facebook Page and Google+ Page.
If you are on windows 8.1/2012r2 you can use the ActiveDirectory module, if you dont you need to use the ps1 file. You first need to load it using dot sourcing technique
ReplyDelete. c:\scripts\add-subnet.ps1
Then the Add-ADSubnet cmdlet will be available.
Also make sure you run powershell with the proper credentials for ActiveDirectory
Thanks a LOT!!!!!! I was make wrong... i was type > .\add-subnet.ps1 rsrsrs
ReplyDeleteAwesome :-) Good to hear that
ReplyDelete