Is there any plans to expand the current powershell cmdlet functionality?
I would like to see something on par with the native CLIs, this would help attract more users with Windows scripting experience
Hi Cris - what specific product did you have in mind?
There are definitely plans to expand current footprint in the RESTful API as well as CLIs. My colleague Manoj Rajagopalan and Craig Chan are driving this initiative. I will share this with them, perhaps they have something more to add on the CLI efforts they are driving. Their initial focus is across the HCS product line.
If you look at the industry a lot of vendors are offering poweshell cmdlets as alternatives to native CLIs and APIs. This I believe is being done for two reasons:
1. To capture the administrator market. Microsoft is pushing a lot of Administrators and administration to powershell because its simple enough to script without understanding complex programming constructs. I see the logic to his moves because it has the potential to increase the users and therefore the product footprint.
2. To simplify integration. Quick and nastry programming allows for agile software development. Many products have historically originated from short term or quick code that purpose built for a situation and have evolved into something commercial (HSC is an example of this). The CLI and API requires far to much setup and parsing in comparison to what you can do with powershell objects and formatting.
Maybe you should just write a powershell wrapper for HiCommand (I've considered doing this). In theory it wouldn't be too hard, you wouldn't need to expose the APIs at all, maybe just some of the XML structure logic if you plan to parse it natively or could do the processing server side and just have a remote server cmdlet (eg. add-HCSServer ) on the client to redirect the request.
I believe you have used our current Hitachi Powershell snap-in, and the current interface set was based on the requirements we received from various user base (mostly customers). The snap-in also wraps around the HCS for consuming the XML interfaces exposed by the HCS server.
Also regarding the discussion of API/CLI, the industry is moving in the direction of a web/Restful API structure. But I do agree that keeping some key application integrations (like Powershell) is very useful. If you are aware starting with Windows Powershell v3, it supported two key interfaces for parsing JSON data format. The JSON data format is used by almost all API implementers and system integrators (with native binding support provided by all script based applications) and we are already moving in that direction.
Is there any specific feature set you are looking for as part of the powershell snap-in ?
I think it depends on who you ask. I think the developers are moving towards web/RestAPIs as Internet and web programming evolves (I think we agree on that), but if look at operations type resources the don't have programming skills you'll find growth is in simplified scripting languages like powershell and python. If you read the VMware community you can see just how much PowerCLI (their powershell cmdlets) has taken off.
I'll have to go back to the office before I can answer the Powershell specific questions to refer to my notes, I did decompile the cmdlets (well at least the .NET portions since the API portion is invokved() from unmanaged C/C++ code). Its been a few months (releases aren't frequent), but my last round of testing was on the module performance cmdlets which definitely did not communication through HCS, but your statement does ring a bell for the enterprise arrays and this makes sense considering every other management tool for enterprise speak to HCS.
I'll keep you posted.
Do you know where I can download the Hitachi Powershell snap-in?
The portal (http://portal.hds.com)
I'm struggling to find the download. Could you help with a direct download url?
do you have Access to the HDS Download Portal? If yes, just search for "storage Adapter for Microsoft powershell".
I do, but the only search results I get back are for documentation. I've tried on portal.hds.com (which redirects to the support site) and the main site hds.com.
Strange. I go to https://support.hds.com/ enter my user and Password, enter "powershell storage Adapter" in the upper right searchfield, mark download check box and there it is.
Thanks Miran. I get every option except the downloads when I search for it. I'll be getting in touch with HDS for assistance. Again thanks for your help:)
So I looked at my Powershell notes and I had actually opened a call with the GSC for some of my initial concerns after finding bugs (I do not work for HDS, so I was NOT allowed to speak to the developers, so it was a proxy conversation). Here is an extract of what was left after they resolved the bugs:
Create-LUN cmdlet can't adjust additional for LUN attributes (AMS/HUS) such as capacity or AWSM.
Response: This is not in scope of Create-Lu requirement. Please submit enhancement requirement request to our SPM.
Present-lun cmlet can't set host modes
Response: This is not in scope of Present-Lu requirement. Please submit enhancement requirement request to our SPM.
There is no get hostgroup/hsd cmdlets. This is important if you want to add additional storage to an existing HSD/host group.
Response: This is not in scope of current PowerShell snapin requirement. Please submit enhancement requirement request to our SPM.
Set-HDPPoolThreshold cmdlet works, but it does not allow replication thresholds to be configured on a HUS.
Response: This is not in scope of Set-HDPPoolThreshold requirement. Please submit enhancement requirement request to our SPM.
The output of the Get-snapshot/Get-ShadowImage cmdlets do not contain the split description.
Response: This is not in scope of Get-Snapshot requirement. Please submit enhancement requirement request to our SPM.
Mount-lu cmdlt can't seem to mount to a drive letter only a folder (I could mount c:\mnt, but I could not mount x: or x:\)
Response: This is not in scope of Mount-Lu. Please submit enhancement requirement request to our SPM.
(in reference to the performance cmdlets):
The workflow isn’t very useful. Using the auperform (modular) or the export tool (enterprise) we could easily get the tools to collect the data in an set interval. With the powershell cmdlet, we need to:
- Issue a start-StoragePerformance to start the collection - Recursively issue the get- StoragePerformance of every interval we want to collect (in a loop)- Issue a stop-StoragePerformance when we want to stop collecting
This is very cumbersome and is much more prone to failure when compared to the auperfom or export methods.
Some of my other notes:
- Lacks native XML output or pass-through, requires native powershell conversion (ConvertTo-XML) resulting in poorly structured output
- Two column output is poorly structured particularly when dealing with multiple values for an attribute. Should use the powershell standard column based output.
- Poor masking management of Hostgroup/HSD - present-LUN/create-hostgroup/delete-hostgroup cmdlets (where is GET!!!!)
- Data types don't seem to be consistent - (I don't remember the full content of this one, but I'm pretty sure it had to do with numeric values having a string data type which required type conversion)
Looking at my notes it has been more than 6 months. I have not seen any updates, but that doesn't mean they don't exist (but that's a portal issue). I also did not test any of the HNAS cmdlets since I don't have lab access to one.
I'm more than happy to do more testing with a newer version, if someone wants to give me lab access.
Manju Ramanathpura, Manoj Rajagopalan BUMP!
Since these are product specific requirements, I have copied the Microsoft Solutions PM (Patricia Brailey), and she should be able to assist us in this moving forward.
Great thanks Manoj Rajagopalan
Just replied to your direct message - sorry for the delay!
Hi Patricia Brailey should I direct some requests I have regarding the SCOM Plug-ins to yourself too?
Sorry for they super delayed reply, Richard! Yes, any SCOM plug-in feedback or enhancement requests can come directly to me. Thanks!
would be great to have cmdlets also for HGLM/HDLM Administrative Tasks. HGLM is realy annoying when you have to administer about 10000 Paths. HGLM offers no possibility to filter specific Paths and it takes a long time when you have to set a bunch of Paths.
Miran Kreuzer agreed, but I don't think this is going to happen. The current powershell cmdlets are just a wrapper for the HiCommand API and I haven't seen any published API for HGLAM. I believe this is because HGLAM does nothing more than remotely issue dlnkmgr commands to individual HDLM instances. Your best bet would be either to script something using dlnkmgr or write a wrapper. I really wish I had more time to code, I would really consider writing libraries in python.
If you want to write powershell cmdlets yourself, I have some code I can share with the HiCommand API.
Retrieving data ...