ImagePathcher.ps1: You cannot call a method on a null-valued expression

In my environments, I use MDT and/or WDS in many cases. Here is always the problem of updating images, because it takes a lot of time. For this reason, I was looking for a script, which would do the same work as I, but without losing my time.
Imagepatcher PowerShell script from CodePlex (http://imagepatcher.codeplex.com) was the perfect solution for me, but not in the last months. I think that the problem occurred after I upgraded my environment to Windows Server 2012, but I am not sure. Anyway, when I tried to execute the script, I received the error that there is something wrong with the saving of downloaded files. I analyzed the script and found that something is not working properly when combining the name from few variables.
I repaired the issue and you can download the new imagepatcher.ps1 from here.

imagepatcher.zip (36.63 kb).

Changing Office365 password policy with PowerShell

I want to spend some words about changing password policy in Office 365, where ADFS is not installed. In these cases, we have usually two passwords – one for local system and one for online environment. This is an exception in Essentials server, because it is possible to synchronize on premise and online environment, but we can do some nice things also in other environments with few PowerShell commands. The thing that is really not good and is not possible to change is the password structure. We must preserve password 8 to 16 characters long and with allowed characters (http://community.office365.com/en-us/wikis/administration/characters-in-passwords-or-user-names-in-office-365.aspx).
Anyway, you can change some settings like password age, password expiration and you can do this for user or for domain. The first thing, that you have to do, is install Office 365 cmdlets from this link (http://onlinehelp.microsoft.com/office365-enterprises/hh124998.aspx). On this point, you have to install two things: Microsoft Online Services Sign-In Assistant and Microsoft Online Services Module for Windows PowerShell. After this operation,you are ready to begin.
The first step to do is connecting to Office 365 environment. For this you need three simple PowerShell commands and credentials of administrative account:
Import-Module MSOnline
$O365Cred = Get-Credential
Connect-MsolService -Credential $O365Cred
After this you can change password policy with command Set-MsolPasswordPolicy -ValidityPeriod 60 -NotificationDays 14 -DomainName domain.com, which will change policy for domain named domain.com. The password validity period will be 60 days with notification to change password 14 days before it will expire.
If you want to set password never expire to user, you have to do user by user with command Set-MsolUser -UserPrincipalName <user ID> -PasswordNeverExpires $true. Of course is possible to automate also this task and for example, if you want to do this step for all users it is very simple: Get-MSOLUser | Set-MsolUser -PasswordNeverExpires $true.

Good work..

Windows Server 2012 Essentials is now RTM

Today Microsoft published the RTM version of Windows Server 2012 Essentials. Download is available on MSDN for Microsoft partners. The new version is similar to the old one, with some new features (like the connector for on premise Exchange, Cloud backup …). This version is also a replacement for Home server, which means that now are available Media functions (similar as that in Home server).
Good, now you have enough reasons to download it. Test and enjoy it!.

Update Windows 8 and Windows Server 2012 with WSUS 3.0

Now many of us are using Windows 8 and Windows Server 2012. In many cases, there are some problems updating these operating systems with WSUS 3.0. The first symptom is, that these systems are reported in WSUS as Windows XP pro, not as Windows 8. It seems that the problem is in WSUS service. To solve the problem you must install WSUS SP2, which is downloadable from http://www.microsoft.com/en-za/download/details.aspx?id=30747 (64bit) or from http://www.microsoft.com/en-za/download/details.aspx?id=30748 (32bit).
After installing this update, you will be able to update the Windows 8 and Server 2012 operating systems..

Applications are not visible in RDWEB access

Sometimes applications can not be visible in Remote desktop web access. It looks that they are deployed and published correctly, you are able to connect to them via Remote app. In these cases I found mostly two different problems:
First problem
Server, that is hosting the RD Web application website, is not a member of Windows Authorization Access Group. RD Web Access server directly queries the servers and filters the retrieved list of RemoteApp programs based on the ACLs and needs permissions to do that. To solve or control this settings do the following steps:

  • Open the Active Directory Users and Computers, expand the console and find the name of RD Web Access server.
  • Right-click on it and select Properties, then in Member Of tab, add the Windows Authorization Access Group.

Second problem
Security settings in WMI control are not correct. Also this issue is easy to fix:

  • On the server, that is hosting RD Web Access, open start menu and run WMIMGMT.MSC.
  • Right-Click on WMI Control (Local) and select Properties.
  • Expand Root, CIMV2 and click on TerminalServices.
  • Click on Security and look for TS Web Access Computers (COMPUTERNAME TS Web Access Computers).
  • If TS Web Access Computers group is not present, then add it.
  • Add the Execute Methods, Enable Account and Remote Enable rights to this group.

After this check the RD Web Applications in most cases work.

Future reading: http://blogs.msdn.com/b/rds/archive/2009/06/12/introducing-remoteapp-user-assignment.aspx.