Tag Archives: additions

PowerShell 7 features admins should examine

Most of the additions to the upcoming PowerShell 7 add operators and cmdlets that are more of creature comforts and tools that make using the open source version of PowerShell better for everyone.

While there are a couple of changes that are performance-oriented, many are focused on making PowerShell 7 the go-to version for all users, including those who are still using Windows PowerShell. At time of publication, the PowerShell development team has a PowerShell 7 Release Candidate out that Microsoft supports in production with the official generally available version due out sometime toward the end of February. In a branding change, Microsoft will drop the Core part of the PowerShell name in version 7.

Legacy Windows commands get support

The transition from Windows-only PowerShell to the cross-platform PowerShell Core 6 left behind a lot of commands administrators and other IT workers used frequently. In PowerShell Core 6.1, some of these commands returned to close the feature gap with Windows PowerShell. PowerShell Core was developed to work alongside the existing Windows PowerShell installation to help administrators with the transition process.

PowerShell 7 continues to expand on this list of Windows-only commands by using a new process for handling the commands. When you run a Windows-only command in PowerShell 7, it will run a new runspace and open the version of Windows PowerShell on the machine to execute the command. Because this happens in the background, the execution is seamless.

The Get-Error function

Reading PowerShell errors has never been fun, and it can be hard to figure out what the error really means and, more importantly, what is causing the error. To help, PowerShell 7 has a new Get-Error command.

Get-Error cmdlet
The new Get-Error cmdlet gives you extensive information in a PowerShell error record

Running the Get-Error command expands the details of the last error. Previously, you would have to remember where each property is buried. In PowerShell 7, you can use Get-Error to present all the data in an easily readable list.

A new way to run scripts in parallel

For a while now, PowerShell has had several ways to run multiple processes in parallel using workflows, background jobs and runspaces. Unfortunately, these processes can be hard to get your code to work with if you did not start with parallelization in mind.

You could use runspaces, but this takes some knowledge of .NET classes and can be hard to troubleshoot. Now, with PowerShell 7, there is a -Parallel switch for the ForEach-Object command, which does the runspaces work behind the scenes. You can write code that easily runs multiple instances of the loop at one time, as long as it is not interacting with anything that has to be serialized. While adding the Parallel switch is not going to make every script run faster, it can make a significant different in some cases.

Ternary operators help trim code length

PowerShell has had if statements from the start, but now the PowerShell developers are introducing the ternary operator to the mix. This feature can simplify and condense the simple if statements that are already being used.

As an example, look at the code block below which contains several if statements:

if (Test-Path $Path) {
$Property1 = $Path
} else {
$Property1 = "C:"
if ((Get-Date).DayOfWeek -eq "Monday") {
$Property2 = "Monday"
} else {
$Property2 = "Not Monday"

In PowerShell 7, instead of using up all these lines to handle the simple if statements, you can use the ternary operator as shown below:

$Property1 = (Test-Path $Path) ? $Path : "C:"
$Property2 = ((Get-Date).DayOfWeek -eq "Monday") ? "Monday" : "Not Monday"

While the ternary operator does give another way to show simple if statements, it is not a replacement for an if statement. This is especially true in the case of complicated if statements with multiple elseif statements included.

Pipeline chain operators help debug scripts

Another useful PowerShell 7 addition is the new pipeline operators. Previously, if you wanted to check for errors mid-pipeline, it was messy and required you to extend the pipeline to include if statements to nest the next command in the pipeline. Since this removes the simplicity of using the pipeline, most people opt to split this type of work into multiple commands and then do error-checking in between.

The new pipeline operators allow simple error checking mid-pipeline. Below is an example of running a command to import a module and then run a command from the module with error handling:

try {
Import-Module TestModule
} catch {
#Does nothing

The try…catch statement works, but it takes up a lot of space. Also, the catch block just takes up space with unused code. As an alternative, see the code below with the new AND (&&) operator using a pipeline operator.

Import-Module TestModule && Test-Module

The && operator only continues the pipe if the previous command completes successfully.

The OR (||) operator is another useful pipeline chain operator new to PowerShell 7. The following code uses the same try…catch statement:

try {
Get-Content $Path
} catch {
Get-Content $Path2

In PowerShell 7, we can use the OR pipeline operator instead to compress the code to a single line as shown below:

Get-Content $Path || Get-Content $Path2

Similar to the ternary operator, the pipeline chain operator is not a replacement for all code, but it comes in handy to build much shorter code blocks.

Null assignment and coalescing operators help streamline code

The last new addition to operators for PowerShell 7 is the null assignment and coalescing operators. These new operators replace the simple if and else statements that are used to compare a variable to see if it is $null. Below is an example of the way you would code this before PowerShell 7:

if ($null -eq $Path) {
$Path = "C:"

With the null conditional operator (??=), you can make this a single line of code as shown below:

$Path ??= "C:"

The null conditional operator checks if the expression is null and, if it is, it makes the variable equal the second expression. Similar to the null conditional operator, the null coalescing operator (??) compares the first expression to null. The difference is that if it equals null, then it outputs the second expression; if it is not null, then it outputs the first expression. Below is an example of the previous syntax:

if ($null -eq $Path) {
Write-Host "Path is null"
} else {

Using the null coalescing operator compresses this example to the example below:

$Path ?? "Path is null"

In the case that $Path is $null, the command will output Path is null; otherwise, the command will output the value of $Path.

Go to Original Article

Tableau analytics platform upgrades driven by user needs

LAS VEGAS — Tableau revealed a host of additions and upgrades to the Tableau analytics platform in the days both before and during Tableau Conference 2019.

Less than a week before its annual user conference, the vendor released Tableau 2019.4, a scheduled update of the Tableau analytics platform. And during the conference, Tableau unveiled not only new products and updates to existing ones, but also an enhanced partnership with Amazon Web Services to help users move to the cloud and a new partner network.

Many of the additions to the Tableau analytics platform have to do with data management, an area Tableau only recently began to explore. Among them are Tableau Catalog and Prep Conductor.

Others, meanwhile, are centered on augmented analytics, including Ask Data and Explain Data.

All of these enhancements to the Tableau analytics platform come in the wake of the news last June that Tableau was acquired by Salesforce, a deal that closed on Aug. 1 but was held up until just last week by a regulatory review in the United Kingdom looking at what effect the combination of the two companies would have on competition.

In a two-part Q&A, Andrew Beers, Tableau’s chief technology officer, discussed the new and enhanced products in the Tableau analytics platform as well as how Tableau and Salesforce will work together.

Part I focuses on data management and AI products in the Tableau analytics platform, while Part II centers on the relationship between Salesforce and Tableau.

Data management has been a theme of new products and upgrades to the Tableau analytics platform — what led Tableau in that direction?

Andrew BeersAndrew Beers

Andrew Beers: We’ve been about self-service analysis for a long time. Early themes out of the Tableau product line were putting the right tools in the hands of the people that were in the business that had the data and had the questions, and didn’t need someone standing between them and getting the answers to those questions. As that started to become really successful, then you had what happens in every self-service culture — dealing with all of this content that’s out there, all of this data that’s out there. We helped by introducing a prep product. But then you had people that were generating dashboards, generating data sets, and then we said, ‘To stick to our belief in self-service we’ve got to do something in the data management space, so what would a user-facing prep solution look like, an operationalization solution look like, a catalog solution look like?’ And that’s what started our thinking about all these various capabilities.

Along those lines, what’s the roadmap for the next few years?

Beers: We always have things that are in the works. We are at the beginning of several efforts — Tableau Prep is a baby product that’s a year and a half old. Conductor is just a couple of releases old. You’re going to see a lot of upgrades to those products and along those themes — how do you make prep easier and more approachable, how do you give your business the insight into the data and how it is being used, and how do you manage it? That’s tooling we haven’t built out that far yet. Once you have all of this knowledge and you’ve given people insights, which is a key ingredient in governance along with how to manage it in a self-service way, you’ll start to see the Catalog product grow into ideas like that.

Are these products something customers asked for, or are they products Tableau decided to develop on its own?

Beers: It’s always a combination. From the beginning we’ve listened to what our customers are saying. Sometimes they’re saying, ‘I want something that looks like this,’ but often they’re telling us, ‘Here is the kind of problem we’re facing, and here are the challenges we’re facing in our organization,’ and when you start to hear similar stories enough you generalize that the customers really need something in this space. And this is really how all of our product invention happens. It’s by listening to the intent behind what the customer is saying and then inventing the products or the new capabilities that will take the customer in a direction we think they need to go.

Shifting from data management to augmented intelligence, that’s been a theme of another set of products. Where did the motivation come from to infuse more natural language processing and machine learning into the Tableau analytics platform?

Beers: It’s a similar story here, just listening to customers and hearing them wanting to take the insights that their more analyst-style users got from Tableau to a larger part of the organization, which always leads you down the path of trying to figure out how to add more intelligence into the product. That’s not new for Tableau. In the beginning we said, ‘We want to build this tool for everyone,’ but if I’m building it for everyone I can’t assume that you know SQL, that you know color design, that you know how to tell a good story, so we had to build all those in there and then let users depart from that. With these smart things, it’s how can I extend that to letting people get different kinds of value from their question. We have a researcher in the NLP space who was seeing these signals a while ago and she started prototyping some of these ideas about how to bring natural language questioning into an analytical workspace, and that really inspired us to look deeply at the space and led us to think about acquisitions..

What’s the roadmap for Tableau’s AI capabilities?

With the way tech has been developing around things like AI and machine learning, there are just all kinds of new techniques that are available to us that weren’t mainstream enough 10 years ago to be pulling into the product.
Andrew BeersChief technology officer, Tableau

Beers: You’re going to see these AI and machine learning-style capabilities really in every layer of the product stack we have. We showed two [at the conference] — Ask Data and Explain Data — that are very much targeted at the analyst, but you’ll see it integrated into the data prep products. We’ve got some smarts in there already. We’ve added Recommendations, which is how to take the wisdom of the crowd, of the people that are at your business, to help you find things that you wouldn’t normally find or help you do operations that you yourself haven’t done yet but that your community around have done. You’re going to see that all over the product in little ways to make it easier to use and to expand the kinds of people that can do those operations.

As a technology officer, how fun is this kind of stuff for you?

Beers: It’s really exciting. It’s all kinds of fun things that we can do. I’ve always loved the mission of the company, how people see and understand data, because we can do this for decades. There’s so much interesting work ahead of us. As someone who’s focused on the technology, the problems are just super interesting, and I think with the way tech has been developing around things like AI and machine learning, there are just all kinds of new techniques that are available to us that weren’t mainstream enough 10 years ago to be pulling into the product.

Go to Original Article

gamescom 2017: Lenovo announces new Legion gaming towers powered by Windows 10 – Windows Experience Blog

Today at gamescom, Lenovo announced four additions to the Lenovo Legion family: three VR-ready PCs running Windows 10 – Lenovo Legion Y920, Y720 and Y520 Towers – and the new Lenovo Legion Y25f Gaming Monitor.

Powered by Windows 10—the best version of Windows for gaming, these Lenovo Legion towers give PC gamers a level of customization, power, and selection that fits their needs. They arrive equipped to take advantage of unlocked frame rate, native, live game streaming with Mixer, through the Game bar, your gaming community with Xbox Live through the Xbox app, DirectX 12 support, and more.

With the Windows 10 Creators Update, you can also take advantage of the new Paint 3D app and Remix3D.com community and features including Nightlight and mini view. There’s also fast and secure browsing with Microsoft Edge, your digital personal assistant Cortana,* and comprehensive protection with Windows Defender. The Lenovo Legion Y25f Gaming Monitor completes the experience with a high-end 24.5-inch Full HD (FHD) display, giving you crystal-clear visuals and the latest in HDR support.

Lenovo Legion Y920 Tower: Game Mode (Hard)

Lenovo Legion Y920 Tower shown at an angle

The VR-ready Lenovo Legion Y920 Tower was designed for the most serious PC gamer. This fully-stacked machine runs on Windows 10 and houses up to 7th Gen Intel Core™ i7-7700K quad-core processors designed to run the most demanding games, from visceral first-person shooters (FPS) to atmospheric space simulators at optimum, uninterrupted speeds.

Lenovo Legion Y920 Tower with gaming monitor

  • Powered by up to a NVIDIA GeForce GTX 1080 8GB graphics card
  • Optional 32GB 2800Mhz CORSAIR VENGEANCE LPX overclockable DDR4 memory and optional integrated Asetek liquid cooling to overclock your CPU

Pricing and availability: Lenovo Legion Y920 Tower with CORSAIR VENGEANCE LPX overclockable DDR4 memory will be available on lenovo.com starting at $1,999.99 in October 20171. To learn more about pricing and availability in your region visit, lenovo.com.

Lenovo Legion Y720 Tower: Game Mode (Medium)

Lenovo Legion Y720 Tower with AMD processors

Loaded with Windows 10 and up to a 7th Gen Intel Core i7-7700, up to a NVIDIA GeForce GTX 1070 8GB graphics and optional 16GB Intel Optane memory for fast computing, the Lenovo Legion Y720 Tower offers the critical package of processing and graphical prowess for playing the most demanding titles. Survive battlegrounds with ease and assurance, and blast through an alien invasion without a hiccup on the Lenovo Legion Y720 Tower.

Lenovo Legion Y720 Tower on a desk with a monitor, keyboard and mouse.

Pricing and availability: Lenovo Legion Y720 Tower will be available on lenovo.com starting at $999.99 in October 20171. To learn more about pricing and availability in your region visit, lenovo.com.

Lenovo Legion Y520 Tower: Game Mode (Easy)

VR-ready Lenovo Legion Y520 Tower

  • Up to a NVIDIA GeForce GTX 1060 GPU and up to a 7th Gen Intel Core i7-7700 processor
  • Arrives with Lenovo Entertainment Hub, an app for access to a vast catalog of popular video game codes with VR upscaling on select FPS games 1
  • Upgrades easily if you want to swap parts – making the Lenovo Legion Y520 Tower a great introduction to PC gaming

Lenovo Legion Y520 Tower with monitor & accessories

Pricing and availability: Lenovo Legion Y520 Tower will be available on lenovo.com starting at $899.99 in October 20171. To learn more about pricing and availability in your region visit, lenovo.com.

Lenovo Legion Y25f Gaming Monitor: Game Mode (Bonus)

Lenovo Legion Y25f Gaming Monitor

  • A 24.5-inch FHD display with a 144Hz refresh rate for sharp undistorted images brings out incredible details and textures in your favorite games
  • All-new HDR capabilities including 400 nits of brightness, and a near-frameless display
  • Incredibly fast 1ms extreme response time, equipping players for any high-octane firefight with little-to-no lag

Pricing and availability: To learn more about pricing and availability on the Lenovo Legion Y25f Gaming Monitor in your region visit, lenovo.com.

Whether you’re a seasoned gamer or new to PC gaming, Lenovo’s got you covered with the latest speedy and powerful Lenovo Legion family – experience every open world or battle arena you enter as the creators intended. Discover more at lenovo.com/gaming. All products are available on lenovo.com. 2

*Cortana available in select markets.
1 Lenovo Entertainment Hub requires Windows 10 Creators Update.
2 Prices may not include tax and do not include shipping or options and are subject to change without notice; additional terms and conditions apply. Reseller prices may vary. On-shelf dates may vary by geography and products may only be available in selected markets. All offers subject to availability. Lenovo reserves the right to alter product offerings, features and specifications at any time without notice.

Updated August 21, 2017 6:07 am