Well, first we’d like to give a big ol’ shoutout to our teammate and new PowerShell MVP Rob Sewell!
Rob is one of the most visible members of the SQL PowerShell community, an officer in the PASS PowerShell Virtual Group and an outstanding evangelist & Pester test maker for dbatools. We’re all so excited about Rob’s well-deserved recognition – love you, buddy! ❤️
bagofbobbish beta testing
Before the official release of bagofbobbish to master and the PowerShell Gallery, we need help finding bugs. Then, we’ll need some time to resolve those bugs. Hopefully this can be done before community members show off dbatools at a few key SQLSaturdays around the world this Saturday, July 8th.
We would really appreciate it if you would download the beta from GitHub and (in a test environment) see if you can find anything that doesn’t work as expected.
If you find any bugs, please file a report on GitHub. You can also reach out to us in the Slack channel.
Currently, there aren’t any webpages for the commands listed in this post, but all commands have help, so when you need help, simply type Get-Help commandName -Examples or Get-Help commandName -Full.
What’s changed?
It’s been two months since our last major release and we’ve made leaps and bounds towards 1.0. Here’s a list of some of the changes included in the 1700+ commits since our last release:
- Changed command names. Particularly, all Sql prefixes have changed to Dba. Previous names are aliased, should work, and should come with a warning that the name will go away in version 1.0
- Standardized many parameters such as SqlInstance
- Changed all plural parameters to singular (Databases -> Database)
- Switched the backend tab-completion process from native Dynamic Parameters to TabExpansion++
- Added a caching system for tab-completion
- Switched to pre-compiling the library into a DLL file. This allows us to improve the module import speed and make the development logistics better.
Speaking of compiling, C# dev Justin Dearing recently joined the team! Now we’ll have someone to provide Fred, our in-house magician, some relief. So far, Justin’s added some efficiency cleanup, code style and tests – thanks, man!
63 new commands
In addition to making all of those changes, we also added 63 new commands! The number is a bit high because we hadn’t announced a couple extra special ones that were previously included in the code, but not the site or blog post.
Namely, we merged André Kamman‘s Diagnostic Query commands that make working with Glenn Berry’s Diagnostic DMV Queries incredibly easy!
Diagnostic query scripts
- Invoke-DbaDiagnosticQuery
Executes the scripts provided by Glenn Berry’s DMV scripts on specified servers. -
Export-DbaDiagnosticQuery
Converts output generated by Invoke-DbaDiagnosticQuery to an automatically generated CSV or Excel. -
Save-DbaDiagnosticQueryScript
Automatically downloads the most recent version of all Glenn Berry DMV scripts.
I made a pretty crude video showing Invoke-DbaDiagnosticQuery | Export-DbaDiagnosticQuery
in action. It’s on YouTube, along with another quick video about Save-DbaDiagnosticQueryScript.
More in-depth blog post coming soon!
Security commands
A bunch of security-related commands were added. I’m looking forward to a detailed blog post about these, they really simplify things like forcing network encryption.
Backup-DbaDbCertificate
Backup-DbaDbMasterKey
Disable-DbaForceNetworkEncryption
Enable-DbaForceNetworkEncryption
Get-DbaComputerCertificate
Get-DbaDbCertificate
Get-DbaDbMasterKey
Get-DbaForceNetworkEncryption
Get-DbaNetworkCertificate
New-DbaComputerCertificate
New-DbaDbMasterKey
New-DbaServiceMasterKey
Remove-DbaCmConnection
Remove-DbaComputerCertificate
Remove-DbaDbCertificate
Remove-DbaDbMasterKey
Remove-DbaNetworkCertificate
Restore-DbaDbCertificate
Set-DbaNetworkCertificate
Troubleshooting commands
Along with our C# framework comes a really amazing logging system. The newest release introduces two commands that help you export logs and detailed system info for the times you encounter challenging issues.
Computer Management commands
We also introduced a computer management system that we’ll detail soon. These commands are primarily for our developers, but also help provide you insight into how we are connecting to your remote computers when you use a Windows-based command such as Test-DbaDiskSpace.
Why don’t we just use what’s out of the box with PowerShell? Well, in order to support as many systems as possible, even legacy or those with restricted access, we have a bunch of fail backs to ensure that we’ve tried our best to connect. These commands encapsulate all of our fail backs.
Get-DbaCmConnection
New-DbaCmConnection
Test-DbaCmConnection
Log shipping
Sander Stad created some really cool Log Shipping wrappers! We’d love some testers to give feedback.
Agent commands
A bunch of Agent commands in support of the Log Shipping wrappers and Get-DbaAgentJobHistory was a cherry on top.
Get-DbaAgentSchedule
New-DbaAgentJob
New-DbaAgentJobStep
New-DbaAgentSchedule
Remove-DbaAgentJob
Remove-DbaAgentSchedule
Set-DbaAgentJob
Set-DbaAgentJobStep
Set-DbaAgentSchedule
Other awesome commands
And here are a bunch of super fun commands! Check them out in your lab, let us know what you think.
Find-DbaView
Get-DbaDbSpace
Get-DbaEndpoint
Get-DbaMaintenanceSolutionLog
Get-DbaSchemaChangeHistory
Get-DbaInstanceAudit
Get-DbaInstanceInstallDate
Get-DbaInstanceProperty
Get-DbaInstanceUserOption
Get-DbaSsisEnvironmentVariable
Install-DbaFirstResponderKit
Invoke-DbaDbUpgrade
New-DbaConnectionString
New-DbaConnectionStringBuilder
Read-DbaTraceFile
Set-DbaTcpPort
Test-DbaManagementObject
Testing and reporting issues
For those of you interested in testing, thank you! Again, you can get this release by downloading the zip manually from GitHub. From there, you can manually import it using Import-Module C:\pathto\dbatools\dbatools.psd1 -Force. Note that this beta release is not digitally signed but the final release will be.
If you find any bugs – even anything obvious like the command can’t run at all, or didn’t get aliased and therefore no longer exists, please file a bug report at dbatools.io/issues.
If you like any of these commands, pop in and let us know on our Slack channel. We now have nearly 800 members!
- Chrissy
Pingback: we just added 63 commands to a beta dbatools release - help us test, please? :D - How to Code .NET
Pingback: Test The dbatools Beta – Curated SQL
Pingback: T-SQL Tuesday #92 – Lessons Learned the Hard Way… – No Column Name
Pingback: Copy-SqlLinkedServer – Corrick.io Blog