Got pointed in the direction of this at a VMWare seminar last week. Previous storage vmotion was only on the command line from a downloaded VM appliance.
The very nice guys at Lost Creations have developed a great GUI plugin for the same job.
Thanks guys!
Saturday, 17 May 2008
Powershell on Server Core
So you thought you couldn't install Powershell on Windows Server 2008 Server Core install?
Don't think too soon, Dimitry has the answer for you!
This is unsupported, but great for a testing environment.
Don't think too soon, Dimitry has the answer for you!
This is unsupported, but great for a testing environment.
Tuesday, 6 May 2008
More on Password Policies
As touched on in the previous post, doing a lot of work with password policies at the minute.
Say you need to find the date all the members of a group last changed their password, below is all you need to do:
Get-QADGroupMember 'domainname\groupname' | Get-QADUser -IncludeAllProperties | ft displayname,pwdlastset
The pwdlastset parameter will (obviously) give you the time and date the password was last checked. It's pretty straightforward moving on from there to start doing things like finding which of these users' passwords will expire shortly.
Say you need to find the date all the members of a group last changed their password, below is all you need to do:
Get-QADGroupMember 'domainname\groupname' | Get-QADUser -IncludeAllProperties | ft displayname,pwdlastset
The pwdlastset parameter will (obviously) give you the time and date the password was last checked. It's pretty straightforward moving on from there to start doing things like finding which of these users' passwords will expire shortly.
Password Policy Details / Updated Quest AD Cmdlets
Quest have released an updated version (1.1.0) of their AD cmdlets.
Published as part of the update is the ability to find details of the default domain password policy, previously a little tricky to get hold of.
A simple:
Get-QADObject domainname/ | format-list *
exposes the information you can obtain.
We've been doing a lot of work recently with password policies and
(Get-QADObject domainname/).MaximumPasswordAge
makes some of this work now a snap!
--------------------------------------------------------------------------
Update:
Or even easier
(Get-QADRootDSE).Domain | Format-List Name, *Password*, *Lockout*
Name : springfield
MinimumPasswordAge : 7 days
MaximumPasswordAge : 90 days
PasswordHistoryLength : 10 passwords remembered
MinimumPasswordLength : 6 characters
LockoutDuration : 30 minutes
LockoutTreshold : 5 invalid logon attempts
ResetLockoutCounterAfter : 30 minutes
Thanks Mr Sotnikov!
Published as part of the update is the ability to find details of the default domain password policy, previously a little tricky to get hold of.
A simple:
Get-QADObject domainname/ | format-list *
exposes the information you can obtain.
We've been doing a lot of work recently with password policies and
(Get-QADObject domainname/).MaximumPasswordAge
makes some of this work now a snap!
--------------------------------------------------------------------------
Update:
Or even easier
(Get-QADRootDSE).Domain | Format-List Name, *Password*, *Lockout*
Name : springfield
MinimumPasswordAge : 7 days
MaximumPasswordAge : 90 days
PasswordHistoryLength : 10 passwords remembered
MinimumPasswordLength : 6 characters
LockoutDuration : 30 minutes
LockoutTreshold : 5 invalid logon attempts
ResetLockoutCounterAfter : 30 minutes
Thanks Mr Sotnikov!
Tuesday, 22 April 2008
Do I need all the transaction log files Exchange creates?
Excellent posting here about Exchange transaction log files, in particular what to do if your transaction logs disk fills up.
www.exchangerecovery.org
Kind of handy when you come back to work after a week and the log file disk is full. ;-)
The main point I got from it was the fact that you do not necessarily need all of the transaction logs for a storage group. So say if your disk has filled up with transaction logs you can run eseutil to find out which log files you actually need and move the rest to a temporary location. This should then buy you some time to run a backup to flush the rest out properly.
www.exchangerecovery.org
Kind of handy when you come back to work after a week and the log file disk is full. ;-)
The main point I got from it was the fact that you do not necessarily need all of the transaction logs for a storage group. So say if your disk has filled up with transaction logs you can run eseutil to find out which log files you actually need and move the rest to a temporary location. This should then buy you some time to run a backup to flush the rest out properly.
Monday, 7 April 2008
Disabling Outlook Web Access on AD accounts
A request came up asking, "If we need to could we disable Outlook Web Access for a particuar list of users?"
After some digging around and some great help from Shay Levy on the Powergui message board I was able to come up with the following:
Set-QADUser 'springfield\homer.simpson' -ObjectAttributes @{ProtocolSettings='HTTP§0§1§§§§§§'}
If you need to disable more than one of the options it would be
Set-QADUser 'springfield\homer.simpson' -ObjectAttributes @{ProtocolSettings='HTTP§0§1§§§§§§,IMAP40§1§§§§§'}
The options detailed on the 'Exchange Features' tab of an AD account are stored in the ProtocolSettings field. If you look at that field in Adsiedit, you will see which options have been disabled, if any. From there you can grab the HTTP,IMAP etc string that you need.
More info here:
Making bulk protocolSettings changes
After some digging around and some great help from Shay Levy on the Powergui message board I was able to come up with the following:
Set-QADUser 'springfield\homer.simpson' -ObjectAttributes @{ProtocolSettings='HTTP§0§1§§§§§§'}
If you need to disable more than one of the options it would be
Set-QADUser 'springfield\homer.simpson' -ObjectAttributes @{ProtocolSettings='HTTP§0§1§§§§§§,IMAP40§1§§§§§'}
The options detailed on the 'Exchange Features' tab of an AD account are stored in the ProtocolSettings field. If you look at that field in Adsiedit, you will see which options have been disabled, if any. From there you can grab the HTTP,IMAP etc string that you need.
More info here:
Making bulk protocolSettings changes
Friday, 28 March 2008
Add Users to an AD group from a CSV file
So I had a text file containing data in the following format:
The task is to open up the text file, convert the Novell usernames to the AD format and then add each user to a group. With a bit of help from a post of Richard Siddaway's (http://richardsiddaway.spaces.live.com/blog/cns!43CFA46A74CF3E96!822.entry) the below script does the job.
(As usual the Quest AD cmdlets are required)
# Open the text file, split out each username at the first '.' and keep the first part of each split.
$users = Get-Content C:\Scripts\UserList.csv | %{$_.split(".")[0]}
# For each username get the user's AD DN and add the user to the specified group.
foreach ($a in $users)
{
Get-QADUser -Identity $a | Add-QADGroupMember -Identity 'domainname\groupname'
}
username1.xxx.xxx.xxx.companyname
username2.xxx.xxx.xxx.companyname
username3.xxx.xxx.xxx.companyname
basically Novell usernames.
These accounts have equivalent usernames in Active Directory in the format
username1
username2
username3
ie. everything after the first dot is removed.
The task is to open up the text file, convert the Novell usernames to the AD format and then add each user to a group. With a bit of help from a post of Richard Siddaway's (http://richardsiddaway.spaces.live.com/blog/cns!43CFA46A74CF3E96!822.entry) the below script does the job.
(As usual the Quest AD cmdlets are required)
# Open the text file, split out each username at the first '.' and keep the first part of each split.
$users = Get-Content C:\Scripts\UserList.csv | %{$_.split(".")[0]}
# For each username get the user's AD DN and add the user to the specified group.
foreach ($a in $users)
{
Get-QADUser -Identity $a | Add-QADGroupMember -Identity 'domainname\groupname'
}
Subscribe to:
Posts (Atom)