tags:

views:

642

answers:

1

I can query the AD and find all the IIS sites and their virtual directories, now I need to be able to update those home directories and save the changes.

After I fetch the directory entry I can display the site path using $site.Path, however setting it doesn't seem to have any effect. It never changes the actual stored path.

I have tried $site.Path = <new path> and $site.Put( "Path", <new path> ) but neither have these seem to be affecting the stored path.

 $site = $iis.psbase.children | 
  where {$_.keyType -eq "iiswebserver"} | 
  where {$_.psbase.properties.servercomment -eq $siteConfig.name };

 $s = [ADSI]($site.psbase.path + "/ROOT");
 $s.Path
 # $s.Path = $siteConfig.path
 # $s.Put("Path", $siteConfig.path )
 $s.psbase.CommitChanges()
+1  A: 

Ok, I tried this and it seems to work:

 $s.psbase.properties.path[0] = $siteConfig.path
 $s.psbase.CommitChanges()

Is there a better cleaner way of handling this?

vfilby
I don't think so. There might be a better way with the Quest AD cmdlets (which are free), but to make it cleaner, you could wrap that in a function.
Steven Murawski