Archive for the 'Uncategorized' Category

PowerShell Quirks: Binding Required Argument Parameters

We’ve been working with PowerShell a lot lately for our new PeopleProvision application that automates the account and mailbox creation process in Active Directory and Exchange environments. We turned to PowerShell instead of using purely managed .NET code to take advantage of the great array of cmdlets built for working with Active Directory and Exchange. Many of Microsoft’s own products—especially MMC snap-ins like Active Directory Users and Computers as well as tools like the Exchange Management Console—use PowerShell on the back end to do work and we are adopting this model, too.

This post (and possibly future posts) addresses one of the many “quirks” that we have seen while working with PowerShell. Now don’t get me wrong here. I understand that PowerShell (sometimes abbreviated as POSH) was not created with developers in mind and instead is targeted at system administrators. However, I wanted to highlight some weird behaviors from a developer viewpoint to hopefully help some of you avoid many of the issues we’ve incurred.

Coming from a development background to PowerShell is difficult because of all the quirks in PowerShell. Nothing behaves like you would expect in a typical high-level programming language like C# or Java and it’s hard to understand the intentions of the language designers. You end up writing a lot of bad-practice defensive code just to get around the quirks of the language.

Case in point:

Cannot bind argument to parameter 'SomeParam' because it is an empty string or null.

What does this message mean? Why does this occur? Because you have a required string parameter and you pass a zero-length string or a null value to your script or function. Most run-times treat this exactly as you would expect: by passing the argument on through and letting the script or function deal with the parameter value, which might be a perfectly acceptable value or even a sentinel value. But PowerShell chokes on this and freaks out and won’t even call the script or function.

In the end, POSH feels a little too much like Visual Basic for my liking (no rub on you VB guys and gals…I have always had trouble with it coming from a C/C++ and Java/C# background where you have more control over exactly what your code does) and it seems like there are a lot of assumptions about what I might mean as a programmer. Here’s my thought: don’t make assumptions. If I pass an empty or null string to my POSH script or function then process it; don’t holler about parameter binding because you assume I need a non-null or greater-than-zero-length string. These values may be perfectly acceptable for me to work on and these parameter values work fine in languages like C# and Java.

To address this quirk, I have to rewrite my function parameter to *not* be required so that I can pass in a perfectly valid zero-length string. But I want the parameter to be required and accept a null or zero-length string. Not in PowerShell…sheesh!

New Video for our recently launched automated Active Directory provisioning product – PeopleProvision!

Check out our new automated Active Directory provisioning product, PeopleProvision in action.

This video provides a brief overview of PeopleProvision, Web Active Directory’s new Active Directory automated provisioning and account creation tool.  PeopleProvision empowers IT admins to delegate account creation via a simple and intuitive web-based form.  Once submitted, the Active Directory account is created with the correct permissions, groups, profiles, and myriad of other attributes are automatically populated.  It even creates the Exchange Mailbox automatically.

So simple and easy to deploy and priced to make automated provisioning available to small and mid-sized enterprises.

Manage Windows Active Directory Passwords for a Distributed Workforce

In times past every worker in your enterprise had to use a locally-connected computer to log in to the Windows network and authenticate against Active Directory. Recently we’ve moved past this antiquity to using connections over VPN or even the open Internet to log into our Windows environment.

What does this mean for your Windows and Active Directory passwords? How do users know it’s time to change their expiring passwords? What if your users are not notified that their passwords are expiring because they never log in to a domain computer? Are you producing more help desk calls by having a distributed workforce?

There is an answer to help your users manage their passwords. Web Active Directory offers solutions that cater to sending password expiration reminders using email as well as allowing users to reset Windows passwords without having to connect to the domain. These solutions let you manage your domain for your internal network needs while still serving your external users.

Check out PeoplePassword to allow users to change their password and look at PeopleMinder to help remind users that their Windows password will expire soon…even if the users never log into your Windows network! You will engage your off-site users and decrease your help desk calls.

Is Ctrl + C, Ctrl + V the best keyboard combination ever?

While working through a technical issue with an email template recently, we were having issues substituting a variable for a placeholder in the template. After banging our heads against the wall for a while and confirming that we couldn’t substitute the way we wanted, we deferred to the old standby to accomplish our goal: Ctrl + C, Ctrl + V.

Is there a more handy key combination in Windows or Mac than the old Copy/Paste simplicity of Ctrl +C, Ctrl + V? Does it pain you to watch someone right-click and choose Copy or Paste or to use the menu or toolbar options to perform this ubiquitous bit of handiness? Should children be taught in pre-school–even before they can read–the utility of Ctrl +C, Ctrl + V?

Chime in with your thoughts on other handy keyboard combinations in your world. Don’t forget to copy and paste!

Microsoft Problem Steps Recorder for Windows 7

If you are a Windows 7 or Windows Server 2008 user, this utility might be useful to you.  Problem steps recorder allows you record the activities leading up to a problem, then save that to a mht file that you can send to support.  If you have an error on an IIS application (yellow screen) then it will even copy all that information out as text and put it as part of the capture.  I like this utility because it’s easy for the user and useful for support…in fact I’m not only a fan, I’m a user of it!

http://technet.microsoft.com/en-us/windows/dd320286.aspx

http://blogs.technet.com/appv/archive/2010/04/12/document-sequencing-on-windows-7-with-the-problem-sequencing-steps-recorder.aspx

For more information contact us at www.webactivedirectory.com, or call us at (+1) 800-747-3565

Certificate error using Citrix Receiver on the iPad

If you’re like me and you use Citrix products and have been looking forward to trying the Citrix Receiver for the iPad then you might have the same issue I did.  I have always used a Windows client when using the Receiver or Online Plug-in.  Well…it turns out that the Receiver on the iPad doesn’t like it when you are using a GoDaddy certificate and don’t have the intermediate certificate on the Access Gateway.  So…if you’re getting an error “you have not chosen to trust go daddy secure certification authority” what you need to do is link the intermediate certificate to the certificate you’re handing out.  Follow the link below, it will work for Netscaler and Access Gateway.

http://support.citrix.com/article/CTX114146

Windows Active Directory update solutions for the small-medium sized enterprises: Top 5

At Web Active Directory, we get a good number of prospects that visit our website and ask for evaluations for our products. One category of prospects includes small- to medium-sized businesses looking for ways to automate and delegate Windows Active Directory updates to end-users. Companies sized from 100 – 1,000 employees typically have this need. Our PeopleUpdate solution provides an extremely robust set of features that often overwhelm enterprises like this, but once you peel back the covers and really understand the power of PeopleUpdate with regard to time savings, there can be a HUGE ROI from a productivity perspective.

One objection we often hear about our solutions is that “we don’t need all of the bells and whistles, just the minimum to get by.” This totally makes sense as we are a small business as well and are always giving this type of objection to vendors that we are looking at to help us run our business. However, we find that Active Directory admins in smaller enterprises typically wear more hats than just being an AD admin. Having a solution that can help automate multiple AD tasks that these admins currently have to accomplish allows time to focus on more pressing issues rather than making Active Directory updates.  And Active Directory self-service updates are only the tip of the iceberg when it comes to delegation. I would like to give you the top five reasons why many smaller enterprises benefit from a more robust solution and the top feedback we get from them when you do invest in PeopleUpdate:

  1. Delegating distribution group management is a huge time saver for almost all prospects we talk to. Automating the process for adding/deleting members in groups is powerful when you look at how often this occurs in even the smallest organizations.
  2. Delegate user management functions such as password resets, Windows user account unlocks and enablements to the help desk, office administrators or managers. Once you get past your first thought of not doing this because of the security issues and deploy this functionality, you will see how beneficial this is and how easy it is to securely deploy this feature.
  3. Allow different AD updates to departments that own the information. For example, HR should have the ability to update a person’s title, location, department, distribution groups, managed by, and other attributes. Extremely powerful functionality when you get into who can see and update what information about a user as the possibilities are endless and can really be customized to meet about every scenario out there.
  4. Run reports against your Active Directory that can show information about users, computers, groups, network shares, or other objects in Active Directory. The sky is the limit on how you can use Active Directory information. Want to know how many disabled users, or Windows XP computers, or employees in your Pittsburg office? Or better yet, have the business owner that actually owns that information pull it herself.
  5. Target who sees what information about a person or group. While searching for employees in Active Directory, there are times when you would like the user to see certain information about the user for which they are searching, and sometimes not. For example, IT and HR users should be viewing different information about your employees than regular end-users so they can act on that information more quickly.

These are only the top five reasons. Typically, once prospects see our PeopleUpdate tool in their environment and everything it can do to eliminate repetitive and monotonous AD tasks that you currently complete on a daily and weekly basis, folks get on board. And once I give you the price, you will be even more impressed.

Please contact us today to get your free 30-day evaluation of PeopleUpdate so you can see for yourself that self-service Active Directory updates are only the beginning to how you can save time and money!

For more information contact us at www.webactivedirectory.com, or call us at (+1) 800-747-3565.

For Windows admins with Mac OSX not able to reconnect to an Active Directory domain

Some great resources for Windows Admins with Mac OS X v10.6 users:

The issue is: If network access is interrupted, a Mac OS X v10.6 client may not be able to reconnect to an Active Directory domain whose name ends in “.local”.The blog is written by mostofmymac.com and provides several resource links to help resolve any issues.

http://bit.ly/9n8KbJ

For more information contact us at www.webactivedirectory.com, or call us at (+1) 800-747-3565

Don’t forget to cast you vote for either Active Directory or eDirectory

See the poll in the right navigation right here on our blog.  Poll will be closing soon!  Please post some comments too as we will be posting the results along with your comment when the poll ends!

www.webactivedirectory.com

How To Use an Internal Email Address But Forward Externally

When I worked in a large organization this question came up from time to time with our Microsoft Exchange email system, especially when working with external contractors.  How can I give our xzy.com company address to a contractor and forward their email to the contractors external email address?  Why would one want to do this?

  • Consistency
  • Impression that the contractor works for the company
  • Journaling will keep a copy of the message for compliance
  • Ease of use for internal employees to find contractor in Global Address List or Active Directory

Here’s your how-to link: http://technet.microsoft.com/en-us/magazine/ff381469.aspx

Now maybe someone wants to send me the powershell commands for doing this with scripts?

Contact Web Active Directory LLC and let us know how we can help.

www.webactivedirectory.com

Next Page »


Slipstick Systems Outlook and Exchange Solutions Center
Utilities, how to's and other solutions for Microsoft Outlook and Microsoft Exchange users, administrators and developers

Share this blog

Facebook Twitter More...

Enter your email address to subscribe to WebActiveDirectory blog via email.

Join 243 other followers


Follow

Get every new post delivered to your Inbox.

Join 243 other followers