Answered by:
PowerShell 4 and 5 specifications

Question
-
Answers
-
Hi,
Regarding Windows Server 2016, which is Technical Preview 3 (TP3) at the moment, “[MS-PSRP]: PowerShell Remoting Protocol” https://msdn.microsoft.com/en-us/library/dd357801.aspx was updated on June 30th 2015 covering updates for Windows 10 and Windows Server 2016 Technical Preview.
Although the PowerShell Language specification itself – outside the Open Specifications umbrella – has not been updated recently, there is recent TechNet content that describes “new features in Windows PowerShell 4.0 and 5.0”.
What's New in Windows PowerShell
https://technet.microsoft.com/en-us/library/hh857339.aspx
Windows PowerShell Survival Guide
Thanks,
Edgar
- Edited by Edgar A OlougounaMicrosoft employee, Moderator Thursday, August 27, 2015 2:45 PM
- Marked as answer by Edgar A OlougounaMicrosoft employee, Moderator Thursday, August 27, 2015 2:45 PM
All replies
-
-
-
Hi,
Regarding Windows Server 2016, which is Technical Preview 3 (TP3) at the moment, “[MS-PSRP]: PowerShell Remoting Protocol” https://msdn.microsoft.com/en-us/library/dd357801.aspx was updated on June 30th 2015 covering updates for Windows 10 and Windows Server 2016 Technical Preview.
Although the PowerShell Language specification itself – outside the Open Specifications umbrella – has not been updated recently, there is recent TechNet content that describes “new features in Windows PowerShell 4.0 and 5.0”.
What's New in Windows PowerShell
https://technet.microsoft.com/en-us/library/hh857339.aspx
Windows PowerShell Survival Guide
Thanks,
Edgar
- Edited by Edgar A OlougounaMicrosoft employee, Moderator Thursday, August 27, 2015 2:45 PM
- Marked as answer by Edgar A OlougounaMicrosoft employee, Moderator Thursday, August 27, 2015 2:45 PM
-
-
Hi Liturgist.
Edgar pointed you to the PowerShell Remoting Protocol [MS-PSRP]. There has since been a PowerShell Remote Debugging Protocol [MS-PSRDP]. See http://go.microsoft.com/fwlink/?LinkId=822549 and http://download.microsoft.com/download/9/5/E/95EF66AF-9026-4BB0-A41D-A4F81802D92C/[MS-PSRDP].pdf.
Your question is somewhat broad and vague. Can you provide more detail of what you're trying to accomplish and what issues you are having to achieve your goals? Are you attempting to implement the [MS-PSRP] protocol?
The purpose of this forum is to assist developers implement Microsoft protocols, of which [MS-PSRP] is among those protocols. If you are implementing PowerShell remoting and have specific questions we would be happy to help. Other types of inquiries may need to be redirected elsewhere.
Bryan S. Burgin Senior Escalation Engineer Microsoft Protocol Open Specifications Team
-
Hi,
I am also interested in the new Powershell Language specification as the version 3 does not include the new class and enum syntax. What is the grammar? How are our custom classes and enums converted to different types (as described in section 6. Conversions), especially Hashtable to class conversion and back? Are there scopes in classes (like Script or Global for variables)?
It's good to RTFM and this specification (https://www.microsoft.com/en-us/download/details.aspx?id=36389) is a good FM.
-
Hi Piotr Siodmak,
As noted previously by Edgar and Bryan the PowerShell Language specification is not part of the Open Specifications Program and so not supported through this forum.
A more appropriate forum to raise your request would be the PowerShell TechNet forum: https://social.technet.microsoft.com/forums/en-us/home?forum=winserverpowershell&filter=alltypes&sort=lastpostdesc
Also, if you were not aware PowerShell Core has been released as a cross-platform open source project. The Language Reference is not included in the project but you may get the answer to your questions through the program. https://github.com/PowerShell/PowerShell
Will Gregg | open specifications
-
-
This is all that Microsoft has on powersHELL, which is supposed to replace CMD.EXE as the main scripting language for Windows OSes? No reference documentation for the basic constructs of the language?
So, how did the great MSFT developers implement versions 4, 5, 6, 7, etc? They just kinda winged it?? That's how truck-sized security holes creep in. This is shameful for Microsoft. Without a language spec, defects in the language grammar, logical design, etc can't be identified.powersHELL on the surface already feels like a disaster to any experienced developer who wants to write some basic scripts with it. I wonder, why did MSFT even bother to attempt to re-invent a language, when either VBS or Javascript, (or any other language for that matter: Python, Perl, C#, even C++) for the core language features. There's nothing new in Object-Oriented development that requires coming up with powersHELL. This scripting language's use of objects such as "cmdlets" can be done by any properly-spec'd language that has object capabilities.
As for me, I'm giving up on powersHELL. If I need better scripting, I'll use msys2 (bash, python, perl, etc) for the basic language logic, and then use cmd.exe to launch windows commands. I get fully working scripts, and as an added bonus, I can make all scripts to be platform independent (Linux, *ix, MacOS, Windows (any variety) etc).
-
Algn2,
The purpose of this forum is to assist third-party implementers of Microsoft’s on-the-wire protocols, of which the [MS-PSRP] “PowerShell Remoting Protocol” (https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-psrp) is among the Open Specifications’ technical documents library, which can be enumerated at https://docs.microsoft.com/en-us/openspecs/protocols/ms-protocolslp/9a3ae8a2-02e5-4d05-874a-b3551405d8f9. The entire protocol interoperability program can be found via http://www.microsoft.com/protocols.
This is not the proper forum for the PowerShell language itself.
Bryan S. Burgin Senior Escalation Engineer Microsoft Protocol Open Specifications Team