Business.com

Business.com


How to Securely Manage Passwords in PowerShell Scripts

Posted: 25 Mar 2019 09:00 AM PDT

It's important not to hardcode plain-text passwords anywhere, let alone in the code you're writing. This isn't a great idea. We need to use passwords often in PowerShell scripts, so how do we make it happen? Encryption.

You don't have to be a cryptographer to use encryption with PowerShell. You merely need to understand how to encrypt and decrypt strings with PowerShell, and this article is here to help!

The word "encryption" is a big topic. We're going to cover a few ways to encrypt and decrypt strings in PowerShell. These strings will be passwords, and we'll go over how to store these encrypted passwords on disk so they can be reused in other scripts, if necessary.

Creating a Certificate

The first step we'll do is to create a certificate. For our purposes, we'll produce a self-signed certificate. You could also use a certificate issued by a certificate authority, but since I don't have one of those in my environment, nor do I want to pay for a public one, I'll create one on my own. To do that, I can use the New-SelfSignedCertificate command.

Since we'll be encrypting passwords, we'll create a cert using Document Encryption in my user's personal certificate store:

Once I have the certificate created, I can now use it to encrypt data a few different ways.

Encrypting with CMS

Using the Protect-CmsMessage PowerShell cmdlet, I can simply pass any string I'd like to it using the To parameter indicating a certificate to encrypt it with using the subject. Below, I'm encrypting the string Text to Encrypt using the certificate I just created:

Once created, I can then view some useful information about this CMS message using Get-CmsMessage:

Once I need to decrypt the string, I then use Unprotect-CmsMessage to see what the original string was:

We can easily add this encrypted string to a file and then decrypt it back, too:

Using Import/Export CLIXML

PowerShell has an object type called PSCredential and is used in many different contexts when scripting. For example, run Get-Credential where you'll be prompted for a username and password. This type of object is more complicated than a simple string, but using the Import and Export-CliXml commands, we can easily store this type of object to disk encrypting the password.

For example, I can call Get-Credential, provide my username and password then save that credential to disk using Export-CliXml as shown below.

Once the credential is saved to disk, I then can reference that file across any script I choose using the Import-CliXml command. This command natively decrypts the password that was encrypted in the file:

At this point, you can either use the whole credential object on a Credential command parameter, or if you just need the password, call the GetNetworkCredential() method referencing the Password property to return only the password.

Bottom Line

Now that you know of a couple of ways to encrypt and decrypt passwords, you should have no excuse to manage plain-text passwords again. Managing passwords securely takes a little bit more time and dramatically decreases the chances of nefarious individuals getting ahold of your passwords and using them for all the wrong purposes.

The Biggest Tech Bloats of Modern Businesses and How to Resolve Them

Posted: 25 Mar 2019 07:00 AM PDT

Over the last two decades, the workplace has been remodeled from a rigid suit-and-tie environment to a fluid, casual atmosphere.

Open offices and laptops have replaced cubicles and desktops to encourage team-oriented environments and processes. Talented remote workers add value to organizations from anywhere in the world, whether for single gigs, part-time work or full-time work. Virtual collaboration takes over physical meetings through an abundance of communication tools that connect staff from any location.

The torrent of digital solutions has certainly improved internal operations and the customer experience, but so many applications end up weighing down operations. Technology that is supposed to increase productivity may actually slow it down, as team members must jump back and forth between tools to find the data they need. Here are the biggest ways that modern enterprises are overloaded.

1. Running too many applications at once

The onslaught of communication across chat applications and email has created a distracting environment. Psychology research shows that workers lose approximately 24 minutes an hour when switching between tasks. You can reduce unnecessary interruptions and lost time with applications such as process automation, where the correspondence is tied to respective workflows and follows a consistent track.

Collaboration has reached new heights thanks to a host of digital options, but efficiency and data integrity wane when switching between multiple tabs and constantly transferring data between apps. And who isn't aggravated by the excessive login usernames and passwords?

Applications hindering rather than improving performance aren't serving their purpose. To begin an application overhaul, business owners and CIOs should do the following:

  • Evaluate each application's effectiveness.

  • Search for platforms that offer expanded functionality rather than one-trick applications.

  • Integrate final apps using a connector (e.g., Zapier).

2. Relying on human-led processes when machines can manage it better

As more enterprises reap the benefits of automation, robotics and AI, the anxiety over machines taking human jobs has died down. Of the surveyed U.S. workers in a Workfront study, more than 80 percent are excited about the potential of automation to bring greater innovation and better procedures to the workplace. Digital leaders aren't afraid to disrupt operations with machine-driven processes for the sake of long-term survival and success.

At the very least, process automation and integration are must-haves for any modern enterprise. Replacing manual data entry and long email strings, automated workflows seamlessly move data along a chartered route, carrying appropriate tasks in the assigned order from one employee to another. Integration bridges information gaps, transferring data between apps – from a budget approval workflow to accounting software, for instance – streamlining processes and reducing errors.  

Robotic process automation and AI enable companies to pinpoint top-talent candidates in record time, process data to improve decision-making, instantly provide services to clients, and more. Each year, RPA and AI applications take on increasing loads of monotonous work, freeing employees to apply their expertise to cognitive and creative tasks.

3. Manually creating long reports

Juggling data from multiple systems to create reports consumes time most employees would rather apply to skilled work. What's more, with today's cutthroat pace, managers need reports and status updates faster than workers can generate them by hand. For leadership to map progress and future growth consistently, real-time reports should be available at a moment's notice.

Businesses that grasp the value of real-time reporting are now connecting data through automation applications that generate interactive, visual reports. Since information is linked between applications, no one has to compare for accuracy or enter it into a separate reporting app. Just a few clicks, and up-to-date reports or analytics are ready for evaluation.

4. Missing out on valuable insights

For companies with a revolving door of staff, employees often exit with untapped, valuable knowledge about the business and its practices. Not conducting thorough exit interviews that include operational insights is a lost opportunity to address perceived weaknesses and capitalize on strengths within the company.

Leading organizations aren't losing out on this information. They adopt digital strategies, such as automated offboarding processes, to standardize the exit process and ensure each employee has a documented exit interview that is sent to an assigned manager, who is responsible for following up internally.

Annual performance reviews frustrate employees who are determined to grow in their positions and careers. In fact, 65 percent of employees want more feedback than they currently receive. Frequent career training opportunities, including more consistent feedback, would keep 86 percent of millennials from leaving their positions. Managers may not realize they are missing a chance to not only help employees improve, but also gain fresh perspectives from varying points of view.

Data-centered, regular performance feedback leads to high productivity and lower turnover. In contrast to traditional annual reviews, real-time performance appraisals are fair, unbiased and standard.

Taking your digital inventory

A modern company isn't merely defined by computer use. A truly digital workplace is one where current tools are strategically applied toward for maximum productivity and effective collaboration.  

Uprooting old practices can be daunting, but for many businesses, the alternatives are seeing profits sag or closing the doors in the next five years. Taking the time and money to get it right is a worthy investment for a promising future.

Investing in Employee Education and Developing a Culture of Learning

Posted: 25 Mar 2019 05:00 AM PDT

Establishing a culture of learning is becoming more and more pervasive in businesses. Organizations are driving their teams to develop on an individual level, supported by external and internal efforts. External methods include supporting endeavors, like college course enrollment or conference attendance, while internally driven methods often take the form of visiting speakers or employee-to-employee programs.  The unifying qualities among these solutions are that the need is tangible and the benefits are lasting. Not only do employee retention and satisfaction improve, but so, too, does overall competitiveness and the bottom line.

Employees who feel invested are 31 percent more productive and enable 37 percent more profitability for the company (Inc.) A well-known imaginary conversation between a CFO and a CEO gets us thinking about this broader importance of advancing existing talent:

CFO: What happens if we invest in developing people and they leave us?
CEO: What happens if we don't and they stay?

We should invest in professional development. But how do we do it right?

How some companies invest in education for employees

Chick-fil-A recently outlined how they invest in education for their team members. In 2019, they're investing $15 million in more than 5,700 team members. As a brand, this is not the only way to prove that you value your team while also building a team that is committed to learning well beyond their time in the classroom. 

Sixty percent of supported team members stated that Chick-fil-A's scholarship made it possible for them to attend college, 20 percent of whom are first-generation college students. Even more impressive, 90 percent of supported team members responded that they intended to continue working at Chick-fil-A, though unrequired.

Of course, not every approach to employee training is designed with retention in mind. Amazon Career Choice gives team members the opportunity to learn new skills and build their career, whether that is at Amazon or elsewhere. Given their focus on automation, machine learning and robotics, Amazon has more reason than most to avoid training employees. However, they still see the value in investing in their human capital.

As Amazon is a data-driven company, they know that a culture of learning drives better business outcomes. This concept of developing skills irrelevant to a position is commonly considered an external employee training experience. Google flips the script on how employee training and a culture of learning is brought to life. Across a network of over 6,000 Googlers, 80 percent of all training is managed via an employee-to-employee network called "g2g" (Googler-to-Googler). This peer-to-peer training may be an actual course offering, designing learning material, or one-to-one mentoring.

Investing in your employees

Developing a culture of learning in your organization with employee-led training should not be considered a cost-saving maneuver. In fact, there is still a level of investment needed to set up teams for success (Google's rework blog shares a few tips for avoiding pitfalls). One of the key requirements is to spend the time defining learning goals and ensure they align with your company's core values. It also requires a high level of trust in the employee, that they are smart, capable and motivated. 

Be objective about whether your company is the right fit to support the culture of learning you have envisioned. For example, an employee-to-employee program may work well in midsize to large organizations, whereas a small business may have difficulty taking on the cost of supporting and training employee facilitators.

Consider both team size and operating cost to help you determine if it is better to provide training by some other means.

Finally, embrace that the learning aspects of an organization do not belong to a single department but are the entire company's shared responsibility to build a culture of learning.

Tips for Hosting Productive Video Conference Meetings

Posted: 25 Mar 2019 05:00 AM PDT

Whether you're meeting with a co-worker on the other side of the world or presenting to a client a few states over, video conferences have grown in popularity over the years as businesses become more mobile and remote. My team is mostly remote, so we use video conferencing often to meet with each other and our clients.

If your business requires regular video calls, here are some tips to help you get started and run an efficient meeting even though the attendees may not be in the room with you.

How to prepare for the meeting

1. Test.

Before you hop on your video call, make sure your microphone and headphones are working properly. You can test your audio and video camera in the settings.

If you're tuning in from a new location, check your Wi-Fi stability and background noise. It's frustrating for all parties if it's hard to hear you or your audio keeps cutting out because the Wi-Fi isn't reliable. Sometimes we can't control these outside factors, but they're still important to consider and acknowledge in the meeting.

 

Editor's note: Looking for a video conferencing platform for your business? Fill out the below questionnaire to have our vendor partners contact you with free information.

 

 

2. Keep it professional.

If you're calling in from your home office or a coffee shop, make sure your background and your clothing (at least from the waist up) are appropriate for the meeting. It can help to pretend that you're going into the office conference room for the meeting, motivating attendees who might work from home to swap out the casual outfit for business attire.

3. Set the agenda.

This goes for all meetings, but it can be easy to just hop on a video call, similar to a phone call, without preparing any talking points or action items. Agendas help you stay on track and avoid meetings running long. Create an agenda in a shareable Google Doc and send it out with the calendar invite ahead of time. Most video conference tools offer a screen-sharing feature so the host can show their screen with the discussion points and notes for everyone to follow along. 

4. Limit the invites.

It's natural to want to invite the entire team, but try to limit it to the decision-makers or those closely tied to the project being discussed. It's easy to over-invite and risk wasting people's precious time. If multiple teams are involved, sometimes only inviting one "spokesperson" from each can be helpful and put it on them to pass along any vital information to their crew after the meeting. If there are 10 people on a video conference, think about how much longer that meeting could last than if there were only three.

How to host and participate in video meetings

1. Be on your best behavior.

Treat this video conference like you're walking into the meeting space at your office. Wear something presentable, clean up your desk area and background, and be aware of your facial expressions and eye contact with the camera.

It can be easy to shift your focus over to your second monitor and work on something else when others are talking. Maybe that's acceptable or expected in your line of work, but it can be very rude and distracting to others who are giving this meeting 100 percent of their attention. Remember, you're on camera!  

Keep your eyes up and try to look at the camera as often as you can, especially when talking. This helps display confidence and positive body language.

2. Pass the mic.

Dedicating a host (usually the person who schedules the meeting) or project manager to the call can help keep the conversation on track. At my company, we do our best to avoid tangents even if they're beneficial to the discussion. However, having someone to chime in and remind us all of the goals we had for this meeting or the decisions that need to be made in the next 22 minutes is a game-changer.

Within the agenda, write out the topics that need to be discussed, and add names next to each one to appoint that section of the conversation to the person who knows most about it or requested to talk about it. This will allow the host to say, "Thank you, Adam. Lauren, can you tell us more about ..." and move on to the next bullet point.

I like to send out the agenda to attendees about 30 minutes before our meeting so everyone can review it and add anything I might have missed. Putting a name next to topics reminds the attendees who owns that part of the conversation. When the floor opens up to discussion, we share our feedback when asked directly by name or take turns, going around in a "circle" as best we can. This discourages everyone from talking at once.

Some video conferencing tools include a chat feature, which offers the ability to chime in with comments without interrupting the speaker and can be a great reference to come back to when it's time to discuss.

3. Take notes.

This one may seem obvious, but a to-do list usually comes out of a meeting. Some video conference tools offer an option to record your meeting, which can be helpful if others weren't able to attend or if you want a backup for the note-taker. Maybe the attendees are all on the move and can't take notes. Either way, taking notes will allow you to assign tasks and follow up on previous meeting notes in your next call.

Recap

To sum up, when you hop on your next video conference, remember these tips:

  • Test your mic and preview your video.

  • Dedicate a host and set an agenda.

  • Make room for all attendees to speak, but only invite those who are absolutely needed.

  • Take notes and send a recap afterward.

  • Treat this like a meeting at the office.

Whether you're a regular at video conferencing or brand-new to it, I hope these tips set you up for success in your next video conference call.

No comments:

Post a Comment