DSC Resource Kit Release May 2017

This post was originally published on this site

We just released the DSC Resource Kit!This release includes updates to 10 DSC resource modules including 3 new resources. In these past 6 weeks, 60 pull requests have been merged and 58 issues have been closed, all thanks to our amazing community!

The modules updated in this release are:

  • SharePointDsc
  • SecurityPolicyDsc
  • xCertificate
  • xComputerManagement
  • xCredSSP
  • xExchange
  • xHyper-V
  • xNetworking
  • xSqlServer
  • xStorage

PSDscResources and xDFS are also in the pipeline for release, but they are currently failing tests.
They will be released when tests are passing.

For a detailed list of the resource modules and fixes in this release, see the Included in this Release section below.

Our last community call for the DSC Resource Kit was last week on May 24. A recording of our updates as well as summarizing notes are available. Join us next time to ask questions and give feedback about your experience with the DSC Resource Kit. Keep an eye on the community agenda for the link to the next call.

We strongly encourage you to update to the newest version of all modules using the PowerShell Gallery, and don’t forget to give us your feedback in the comments below, on GitHub, or on Twitter (@PowerShell_Team)!

All resources with the ‘x’ prefix in their names are still experimental – this means that those resources are provided AS IS and are not supported through any Microsoft support program or service. If you find a problem with a resource, please file an issue on GitHub.

Included in this Release

You can see a detailed summary of all changes included in this release in the table below. For past release notes, go to the README.md or Changelog.md file on the GitHub repository page for a specific module (see the How to Find DSC Resource Modules on GitHub section below for details on finding the GitHub page for a specific module).

Module Name Version Release Notes
SharePointDsc 1.7.0.0
  • Update SPSearchIndexPartition made ServiceAppName as a Key
  • New resouce: SPTrustedRootAuthority
  • Update SPFarmSolution to eject from loop after 30m.
  • New resource: SPMachineTranslationServiceApp
  • New resource: SPPowerPointAutomationServiceApp
  • Bugfix in SPSearchFileType made ServiceAppName a key property.
  • New resource: SPWebApplicationExtension
  • Added new resource SPAccessServices2010
  • Added MSFT_SPSearchCrawlMapping Resource to manage Crawl Mappings for Search Service Application
  • Added new resource SPSearchAuthoritativePage
  • Bugfix in SPWebAppThrottlingSettings for setting large list window time.
  • Fix typo in method Get-TargetResource of SPFeature
  • Fix bug in SPManagedAccount not returning the correct account name value
  • Fix typo in method Get-TargetResource of SPSearchIndexPartition
  • Update documentation of SPInstallLanguagePack to add guidance on package change in SP2016
  • Added returning the required RunCentralAdmin parameter to Get-TargetResource in SPFarm
  • Added web role check for SPBlobCacheSettings
  • Improved error message when rule could not be found in SPHealthAnalyzerRuleState
  • Extended the documentation to specify that the default value of Ensure is Present
  • Added documentation about the user of Host Header Site Collections and the HostHeader parameter in SPWebApplication
  • Fixed missing brackets in SPWebAppPolicy module file
  • Fixed issue with SPSecureStoreServiceApp not returning database information
  • Fixed issue with SPManagedMetadataServiceApp not returning ContentTypeHubUrl in SP2016
  • Updated SPTrustedIdentityTokenIssuer to allow to specify the signing certificate from file path as an alternative to the certificate store
  • New resource: SPSearchCrawlerImpactRule
  • Fixed issue in SPSite where the used template wasn’t returned properly
  • Fixed issue in SPWebApplicationGeneralSettings which didn’t return the security validation timeout properly
  • Fixed bug in SPCreateFarm and SPJoinFarm when a SharePoint Server is already joined to a farm
  • Bugfix in SPContentDatabase for setting WarningSiteCount as 0.
  • Fixing verbose message that identifies SP2016 as 2013 in MSFT_SPFarm
  • Fixed SPProductUpdate looking for OSearch15 in SP2016 when stopping services
  • Added TermStoreAdministrators property to SPManagedMetadataServiceApp
  • Fixed an issue in SPSearchTopology that would leave a corrupt topology in place if a server was removed and re-added to a farm
  • Fixed bug in SPFarm that caused issues with database names that have dashes in the names
SecurityPolicyDsc 1.4.0.0
  • Added functionality to support BaselineManagement Module.
  • Updated UserRightsAssignment resource to respect dynamic local accounts.
  • Added SecuritySetting resource to process additional INF settings.
xCertificate 2.6.0.0
  • Added mandatory properties for xPfxImport resource example.
  • xCertReq:
    • Fixed issue where xCertReq does not identify when DNS Names in SANs are incorrect.
    • Added Certificate Authority auto-discovery to resource xCertReq.
    • Added SAN and certificate template name to xCertReq”s Get-TargetResource
    • Added new parameter UseMachineContext to be able to use CA templates that try to fill the subject alternative name
  • CertificateDSc.Common:
    • Added function Get-CertificateTemplateName to retrieve template name
    • Added function Get-CertificateSan to retrieve subject alternative name
    • Added function Find-CertificateAuthority to enable auto-discovery
xComputerManagement 1.10.0.0
  • Added resources
    • xVirtualMemory
xCredSSP 1.3.0.0
  • Added a fix to enable credSSP with a fresh server installation
xExchange 1.15.0.0
  • xExchDatabaseAvailabilityGroupMember: Added check to ensure Failover-Clustering role is installed before adding server to DAG.
  • xExchInstall: Remove parameter “-AllowImmediateReboot $AllowImmediateReboot” when calling CheckWSManConfig.
  • xExchOutlookAnywhere: Add test for ExternalClientAuthenticationMethod.
  • Test: Update OAB and UMService tests to create test OAB and UMDialPlans, respectively.
xHyper-V 3.8.0.0
  • Fix bug in xVMDvdDrive with hardcoded VM Name.
  • Corrected Markdown rule violations in Readme.md.
xNetworking 4.0.0.0
  • Converted to use AppVeyor.psm1 in DSCResource.Tests repository.
  • Converted to use Example and Markdown tests in DSCResource.Tests repository.
  • Added CodeCov.io support.
  • Added a new example to xDNSServerAddress to clarify setting multiple DNS Servers.
  • Fix examples to correct display in auto documentation generation.
  • BREAKING CHANGE: Migrated xNetworkAdapter module functionality to xNetAdapterName resource.
  • Added CommonTestHelper module for aiding testing.
  • MSFT_xNetAdapterName:
    • Created new resource for renaming network adapters.
    • Added Find-NetAdapter cmdlet to NetworkingDsc.Common.
  • Correct example parameters format to meet style guidelines.
xSqlServer 7.1.0.0
  • Changes to xSQLServerMemory
    • Changed the way SQLServer parameter is passed from Test-TargetResource to Get-TargetResource so that the default value isn”t lost (issue 576).
    • Added condition to unit tests for when no SQLServer parameter is set.
  • Changes to xSQLServerMaxDop
    • Changed the way SQLServer parameter is passed from Test-TargetResource to Get-TargetResource so that the default value isn”t lost (issue 576).
    • Added condition to unit tests for when no SQLServer parameter is set.
  • Changes to xWaitForAvailabilityGroup
    • Updated README.md with a description for the resources and revised the parameter descriptions.
    • The default value for RetryIntervalSec is now 20 seconds and the default value for RetryCount is now 30 times (issue 505).
    • Cleaned up code and fixed PSSA rules warnings (issue 268).
    • Added unit tests (issue 297).
    • Added descriptive text to README.md that the account that runs the resource must have permission to run the cmdlet Get-ClusterGroup (issue 307).
    • Added read-only parameter GroupExist which will return $true if the cluster role/group exist, otherwise it returns $false (issue 510).
    • Added examples.
  • Changes to xSQLServerPermission
    • Cleaned up code, removed SupportsShouldProcess and fixed PSSA rules warnings (issue 241 and issue 262).
    • It is now possible to add permissions to two or more logins on the same instance (issue 526).
    • The parameter NodeName is no longer mandatory and has now the default value of $env:COMPUTERNAME.
    • The parameter Ensure now has a default value of “Present”.
    • Updated README.md with a description for the resources and revised the parameter descriptions.
    • Removed dependency of SQLPS provider (issue 482).
    • Added ConnectSql permission. Now that permission can also be granted or revoked.
    • Updated note in resource description to also mention ConnectSql permission.
  • Changes to xSQLServerHelper module
    • Removed helper function Get-SQLPSInstance and Get-SQLPSInstanceName because there is no resource using it any longer.
    • Added four new helper functions.
      • Register-SqlSmo, Register-SqlWmiManagement and Unregister-SqlAssemblies to handle the creation on the application domain and loading and unloading of the SMO and SqlWmiManagement assemblies.
      • Get-SqlInstanceMajorVersion to get the major SQL version for a specific instance.
    • Fixed typos in comment-based help
  • Changes to xSQLServer
    • Fixed typos in markdown files; CHANGELOG, CONTRIBUTING, README and ISSUE_TEMPLATE.
    • Fixed typos in schema.mof files (and README.md).
    • Updated some parameter description in schema.mof files on those that was found was not equal to README.md.
  • Changes to xSQLServerAlwaysOnService
    • Get-TargetResource should no longer fail silently with error “Index operation failed; the array index evaluated to null.” (issue 519). Now if the Server.IsHadrEnabled property return neither $true or $false the Get-TargetResource function will throw an error.
  • Changes to xSQLServerSetUp
    • Updated xSQLServerSetup Module Get-Resource method to fix (issue 516 and 490).
    • Added change to detect DQ, DQC, BOL, SDK features. Now the function Test-TargetResource returns true after calling set for DQ, DQC, BOL, SDK features (issue 516 and 490).
  • Changes to xSQLServerAlwaysOnAvailabilityGroup
    • Updated to return the exception raised when an error is thrown.
  • Changes to xSQLServerAlwaysOnAvailabilityGroupReplica
    • Updated to return the exception raised when an error is thrown.
    • Updated parameter description for parameter Name, so that it says it must be in the format SQLServerInstanceName for named instance (issue 548).
  • Changes to xSQLServerLogin
    • Added an optional boolean parameter Disabled. It can be used to enable/disable existing logins or create disabled logins (new logins are created as enabled by default).
  • Changes to xSQLServerDatabaseRole
    • Updated variable passed to Microsoft.SqlServer.Management.Smo.User constructor to fix issue 530
  • Changes to xSQLServerNetwork
    • Added optional parameter SQLServer with default value of $env:COMPUTERNAME (issue 528).
    • Added optional parameter RestartTimeout with default value of 120 seconds.
    • Now the resource supports restarting a sql server in a cluster (issue 527 and issue 455).
    • Now the resource allows to set the parameter TcpDynamicPorts to a blank value (partly fixes issue 534). Setting a blank value for parameter TcpDynamicPorts together with a value for parameter TcpPort means that static port will be used.
    • Now the resource will not call Alter() in the Set-TargetResource when there is no change necessary (issue 537).
    • Updated example 1-EnableTcpIpOnCustomStaticPort.
    • Added unit tests (issue 294).
    • Refactored some of the code, cleaned up the rest and fixed PSSA rules warnings (issue 261).
    • If parameter TcpDynamicPort is set to “0” at the same time as TcpPort is set the resource will now throw an error (issue 535).
    • Added examples (issue 536).
    • When TcpDynamicPorts is set to “0” the Test-TargetResource function will no longer fail each time (issue 564).
  • Changes to xSQLServerRSConfig
    • Replaced sqlcmd.exe usages with Invoke-Sqlcmd calls (issue 567).
  • Changes to xSQLServerDatabasePermission
    • Fixed code style, updated README.md and removed *-SqlDatabasePermission functions from xSQLServerHelper.psm1.
    • Added the option “GrantWithGrant” with gives the user grant rights, together with the ability to grant others the same right.
    • Now the resource can revoke permission correctly (issue 454). When revoking “GrantWithGrant”, both the grantee and all the other users the grantee has granted the same permission to, will also get their permission revoked.
    • Updated tests to cover Revoke().
  • Changes to xSQLServerHelper
    • The missing helper function (“Test-SPDSCObjectHasProperty”), that was referenced in the helper function Test-SQLDscParameterState, is now incorporated into Test-SQLDscParameterState (issue 589).
xStorage 3.0.0.0
  • Converted AppVeyor build process to use AppVeyor.psm1.
  • Added support for auto generating wiki, help files, markdown linting and checking examples.
  • Correct name of MSFT_xDiskAccessPath.tests.ps1.
  • Move shared modules into Modules folder.
  • Fixed unit tests.
  • Removed support for WMI cmdlets.
  • Opted in to Markdown and Example tests.
  • Added CodeCov.io support.
  • Removed requirement on using Pester 3.4.6 because Pester bug fixed in 4.0.3.
  • Fixed unit tests for MSFT_xDiskAccessPath resource to be compatible with Pester 4.0.3.
  • xDisk:
    • BREAKING CHANGE: Renamed parameter DiskNumber to DiskId to enable it to
    • Added DiskIdType parameter to enable specifying the type of identifer
    • Changed to use xDiskAccessPath pattern to fix issue with Windows Server
    • Fixed style violations in xDisk.
    • Fixed issue when creating multiple partitions on a single disk with no size
  • xDiskAccessPath:
    • BREAKING CHANGE: Renamed parameter DiskNumber to DiskId to
    • Added DiskIdType parameter to enable specifying the type
    • Fixed incorrect logging messages when changing volume label.
    • Fixed issue when creating multiple partitions on a single disk with no size
  • xWaitForDisk:
    • BREAKING CHANGE: Renamed parameter DiskNumber to DiskId
    • Added DiskIdType parameter to enable specifying the type

How to Find Released DSC Resource Modules

To see a list of all released DSC Resource Kit modules, go to the PowerShell Gallery and display all modules tagged as DSCResourceKit. You can also enter a module’s name in the search box in the upper right corner of the PowerShell Gallery to find a specific module.

Of course, you can also always use PowerShellGet (available in WMF 5.0) to find modules with DSC Resources:

# To list all modules that are part of the DSC Resource Kit
Find-Module -Tag DSCResourceKit 
# To list all DSC resources from all sources 
Find-DscResource

To find a specific module, go directly to its URL on the PowerShell Gallery:
http://www.powershellgallery.com/packages/< module name >
For example:
http://www.powershellgallery.com/packages/xWebAdministration

How to Install DSC Resource Modules From the PowerShell Gallery

We recommend that you use PowerShellGet to install DSC resource modules:

Install-Module -Name < module name >

For example:

Install-Module -Name xWebAdministration

To update all previously installed modules at once, open an elevated PowerShell prompt and use this command:

Update-Module

After installing modules, you can discover all DSC resources available to your local system with this command:

Get-DscResource

How to Find DSC Resource Modules on GitHub

All resource modules in the DSC Resource Kit are available open-source on GitHub.
You can see the most recent state of a resource module by visiting its GitHub page at:
https://github.com/PowerShell/< module name >
For example, for the xCertificate module, go to:
https://github.com/PowerShell/xCertificate.

All DSC modules are also listed as submodules of the DscResources repository in the xDscResources folder.

How to Contribute

You are more than welcome to contribute to the development of the DSC Resource Kit! There are several different ways you can help. You can create new DSC resources or modules, add test automation, improve documentation, fix existing issues, or open new ones.
See our contributing guide for more info on how to become a DSC Resource Kit contributor.

If you would like to help, please take a look at the list of open issues for the DscResources repository.
You can also check issues for specific resource modules by going to:
https://github.com/PowerShell/< module name >/issues
For example:
https://github.com/PowerShell/xPSDesiredStateConfiguration/issues

Your help in developing the DSC Resource Kit is invaluable to us!

Questions, comments?

If you’re looking into using PowerShell DSC, have questions or issues with a current resource, or would like a new resource, let us know in the comments below, on Twitter (@PowerShell_Team), or by creating an issue on GitHub.

Katie Keim
Software Engineer
PowerShell Team
@katiedsc (Twitter)
@kwirkykat (GitHub)

Windows 10 Creators Update and PowerShell DSC

This post was originally published on this site

For those of you who are using or planning to update the Windows 10 Creators Update, we want to make you aware of some issues that we have discovered in DSC. The following scenario is an issue in this release:

  • In PowerShell ISE, Visual Studio code or on the command line, you receive the following error when trying to import PsDscResources in a DSC configuration:DscResourceError

We have a fix for this issue and are working diligently to get it released as soon as possible. We will let you know in a few days when you can expect to get your hands on the fix. 

We are also investigating some other potential issues with DSC while running in Strict Mode and will reply to this post when we know more.

Mark Gray
Senior Program Manager
The PowerShell Team

Beta Launch of docs.vmware.com

This post was originally published on this site

Today we are pleased to announce the beta launch of the docs.vmware.com site. This portal unifies the product documentation for all products, versions, and languages into a single site so you can find the information that you are looking for more quickly. VMware products offer a wide range of business solutions from desktop virtualization to support your hybrid cloud. We’ve heard your feedback that finding the right information can be difficult. Our search was out of date, the look and feel was not modern, the content was siloed, and the docs were not available on mobile devices. To address these problems, we decided to create a new site from scratch. The design of this site is meant to enable you to better filter content, find relevant answers, and create custom views of information that you can access on any device.

Key Features for You

Here are a few features that we hope will help you find the information that you need.

It’s All About Search

Our site design features search on every page. We’ve put in a new Elastic Search engine and a taxonomy to help you more easily locate relevant content. You can search the entire site or a particular book.

Doc1

Filter to Find What You Need

With tens of thousands of pages of information, you need help reducing the scope of content to the products that you care about. Use the filters to limit your search to particular products, versions, or information types.

Doc1

Create Customer Collections and Share Content

Use the MyLibrary feature to assemble custom doc sets that you can share as HTML collections.

Doc1

Your Feedback

The beta launch of this site is only Step 1. We’ve put in new feedback mechanisms so we can hear from you more often and make more frequent improvements to the site and content.

Let us know if you want to get involved in helping us evolve our docs. Expect to hear more about the docs.vmware.com site as we prepare for the official launch.

The post Beta Launch of docs.vmware.com appeared first on Support Insider.

Announcing PowerShell for Visual Studio Code 1.0!

This post was originally published on this site

Today we are extremely excited to announce that the PowerShell extension for Visual Studio Code has reached version 1.0! We are shipping this update to line up with the PowerShell Core 6.0 Beta.1 release to provide the official PowerShell development experience for all supported platforms:

  • Windows 7 through 10 with PowerShell v3 and higher
  • Linux with PowerShell v6 (all PowerShell-supported distribtions)
  • macOS and OS X with PowerShell v6

Feature Overview

We’ve been working hard over the last year and a half to put together a first-class development experience for PowerShell that includes the following features:

  • PowerShell ISE-like interactive development experience with the PowerShell Integrated Console
  • Rich debugging experience including variables view, call stack, watch window, and various breakpoint types
  • Integrated script analysis and code fixes provided by PSScriptAnalyzer
  • Code navigations that allow you to find definitions and references of functions across your script files
  • Highly configurable code formatter based on community best practices
  • New file and project creation using Plaster templates
  • Editor scripting API through the $psEditor object model

You can find instructions for installing VS Code and the PowerShell extension at our GitHub repo.

You can also watch this YouTube video for an overview of using the PowerShell extension and Visual Studio Code (warning, loud audio at the beginning):

[embedded content]

What does 1.0 mean?

As you probably have already discovered, the PowerShell Team has shifted to an open-source development model for the majority of our projects. This has enabled us to move extremely quickly, responding to customer feedback by releasing updates on a regular basis. Our focus now is on delivering value and quality quickly and incrementally rather than spending months polishing a single version for release.

With that in mind, we have a bit more flexibility on what it means to ship a 1.0 release of our tools. In the case of the PowerShell extension, increasing the version to 1.0 indicates a few things:

  • The development workflow of the PowerShell extension is stable enough to deliver a rich, interactive experience across all supported OSes – Windows, Linux, and macOS
  • Our public APIs are stable and will not have breaking changes in future 1.x releases
  • We will support the PowerShell extension and Visual Studio Code via issues reported through our respective GitHub repositories

Originally we were planning to release a series of beta releases similar to those of PowerShell Core before finalizing our 1.0 release. It turns out that the Visual Studio Marketplace currently does not support pre-release version names like 1.0.0-beta.1, so the clearest option was to continue forward with 1.0 so that we can indicate our level of committment and support of the extension.

What’s coming next?

We’ve got a lot of great improvements planned for the PowerShell extension, many of which will be coming online within the next few releases.

  • PowerShell “Project Model” via Plaster – We will be expanding Plaster to provide a rich toolset for developing PowerShell modules in any editor supported by PowerShell Editor Services. More details on this effort will be shared in the near future.
  • PSReadline support – We will add support for PSReadline in the Integrated Console to give the best possible command-line experience within the editor.
  • Expanded $psEditor APIs – We will make the editor even more scriptable with new APIs added in future updates.
  • Localization – English is currently the only supported language but we will eventually be adding
    other languages as requested by our community and partners.
  • User Guide – We are currently producing a complete User Guide for the extension that will help new
    users become productive quickly!
  • Instructional Videos – We will be producing a series of videos explaining how to use the PowerShell
    extension for script, module, and DSC resource development. Subscribe to the PowerShell Team’s YouTube channel to be notified as they are released!

What does this mean for the PowerShell ISE?

The PowerShell ISE has been the official editor for PowerShell throughout most of the history of Windows PowerShell. Now with the advent of the cross-platform PowerShell Core, we need a new official editor that’s available across all supported OS platforms and versions. Visual Studio Code is now that editor and the majority of our effort will be focused there.

However, the PowerShell ISE will remain in Windows supporting Windows PowerShell with no plans to remove it. We will consider investing effort there in the future if there is a high demand for it, but for now we think that we will be able to provide the best possible experience to the PowerShell community through Visual Studio Code.

Keep the feedback coming!

We’ve been receiving a lot of great feedback from the community over the last couple of years which has helped us to prioritize our efforts and deliver a great development experience for everyone. Please feel free to give us your feedback and feature requests at our GitHub repo and click “Watch” to keep up to date with the latest developments.

Thanks a lot for your continued feedback and support, we couldn’t do it without you!

David Wilson – @daviwil
Senior Software Engineer
PowerShell Team

PowerShell Core 6 Beta.1 Release

This post was originally published on this site

Approximately 9 months ago, we announced PowerShell Core 6 on GitHub being not only Open Source, but also cross platform.
Today, I’m proud to announce we are moving out of alpha and into beta!

We realize that moving a technology that started in Windows to Linux has to fit in properly to be accepted and provide a great experience across all platforms.  We appreciate all the great feedback — keep it coming!

You can download and read the change log from our usual release page.

If you’ve previously followed the steps to register the packages.microsoft.com Linux repository (see distro specific links below), you can just use apt-get or yum to get the latest version.

What’s changed in those 9 months?

Higher quality

1176 issues were opened, 566 closed, and 166 explicitly labeled as Resolution-Fixed meaning that a change was submitted, accepted, and merged.  Note that we haven’t been exactly consistent on using that label, so the actual number of issues fixed is higher.

712 pull requests were opened, 685 closed, and 577 merged.

More Linux distro coverage

We’ve expanded our testing on more Linux distros:

We’ll continue to add distros based on customer demand, although we depend on dotnetcore official supporting those distros.
Of course, we also support MacOS 10.

We also started publishing an AppImage which is a distro agnostic packaging technology allowing you to use PowerShell Core 6 on the most recent Linux distros.

We’ll also continue to publish Docker images supporting not only Linux Docker images, but also Windows Docker images.

More test coverage

We currently have 40% code coverage based on 5861 test cases run on Windows.  The current code coverage tooling doesn’t work on Linux (yet) although we currently run 4585 test cases on Linux and Mac.

Our goal to get out of Beta towards a Release Candidate is to have 80% code coverage so we still have lots of work left.
Adequate test coverage is critical for us to develop faster in the future to ensure new changes don’t cause regressions and potentially break existing customers.

Moving to .NET Standard 2.0

One of the big changes we’ve made for Beta.1 is moving to .NET Core App 2.0.0 (preview1) which is compatible with .NET Standard 2.0.
.NET Standard is a set of APIs all .NET platforms have to implement and greatly increases the available APIs you can use in your PowerShell modules or scripts.

What this means is that PowerShell modules built targeting .NET Standard 2.0 can work with both Windows PowerShell (down to .NET 4.5.1) and PowerShell Core 6.  For Beta.1, we have a known issue where the assemblies for Windows PowerShell modules should be compatible  with PowerShell Core 6, however they can’t be loaded if they are in the GAC.  This is something we’ll address in a future Beta release as side-by-side Windows PowerShell 5.1 and PowerShell Core 6 is one of our key scenarios.

We’ll continue to work on producing a quality SDK for PSCore6 to make it easy to develop portable PowerShell Modules that are compatible with Windows PowerShell 3, 4, 5 and PowerShell Core 6 on Windows, Linux, and Mac.

Telemetry

It is critical for us to know how we are growing our user base to help prioritize future investments.  Download numbers are not sufficient and with all the different places we publish our releases it become even less reliable as a data point.

In the Beta.1 release, we’ve added census telemetry using Application Insights.

If you prefer to not send us telemetry data, just follow the instructions in the README.

The dashboards we build from the telemetry data will be public and hopefully useful to the community over time if we add more telemetry.  Note that any additional telemetry will be added only after going through our RFC process.

The Road to a Release Candidate

Last January, we published a high level plan consisting of everything we knew we needed to get to a 6.0.0
release.  Continue to provide feedback on that plan if we missed anything that you consider important that prevents adoption of PowerShell Core 6.

We’ve also started to leverage the GitHub Projects feature to track high level scenarios as projects.  This is how the PowerShell team prioritizes our work.  Let us know in our Issues if something you care about isn’t prioritized appropriately.

Our Power BI Dashboard will continue to be updated to show various information about this project including related repositories other
than PowerShell/PowerShell.

During the Beta phase, we will continue to have timed releases approximately every 3 weeks with a updated Beta (Beta.2, then Beta.3, etc…) similar to what we did with Alpha releases.

Getting out of Beta and declaring a Release Candidate includes:

  • Fixing all the identified Beta issues
  • Getting to at least 80% code coverage
  • Enabling all the scenarios planned for 6.0.0
  • Hitting our usage targets based on telemetry (to be determined)

Special Recognition of the Community

Approximately 43% of the pull requests and almost 50% of the issues opened came from the community!  We appreciate all the contributions from the community whether it is opening issues, commenting on issues, submitting pull requests, or commenting on pull requests.  Note that this is specifically for the PowerShell/PowerShell repository; we also appreciate contributions across all of our repositories!

One individual has really stood out from the community and has by far provided the most contributions consistently in both quantity as well as quality: Ilya.

You can see a moving 30 day window of top community contributors in our Dashboard.

PowerShell Core 6 is the start of a new era for PowerShell and I’m excited to see how far we can go together with the community!

Steve Lee
Principal Software Engineer Manager
PowerShell Team

OpenSSH Security Testing Kick Off

This post was originally published on this site

Over the past while, we’ve been very busy porting OpenSSH to Win32. We’ve been working with the OpenSSH community in our GitHub repository, and are nearing a point where we are taking steps to make it production ready.

Image result for openssh logo

Security is obviously something that we have focused on during every phase of the project. As part of this production readiness phase, however, we are additionally funding an extensive penetration test. We have engaged Casaba Security as part of this effort, who will be digging deep into the implementation over the next 1-2 months.

As with all aspects of this project, one of our main goals is to contribute to the OpenSSH community as a whole, not just to create a Microsoft fork. As such, the scope of this analysis will include Microsoft contributions, but will dedicate significant time to OpenSSH core as well.

We will of course share the findings and final report from this review with the community.

Please Join Us!

As part of this phase, we’d love your participation, as well!

We’re keeping extensive design documentation for all decisions we’ve been making, especially security-sensitive ones. We’ve been tracking security discussions and issues as they arise. And there’s code. Lots of it J

We’d appreciate any expertise you’d like to contribute: security design reviews, security code reviews, security fixes for open issues, security testing, fuzzing, you name it. And don’t limit yourself to the Windows parts – findings in any aspect of OpenSSH improve the security of the whole community and industry.

Reporting Issues

If you think you’ve found a security vulnerability, please follow the OpenSSH reporting guidance by sending an email to openssh@openssh.com.

If you’ve got other forms of security feedback (for example, design feedback or defence-in-depth feedback), please use the [Security] prefix and file a GitHub issue.

We look forward to your feedback!

Lee Holmes
Principal Security Architect
Azure Management