Tuesday, March 1, 2022

EWS Managed API: FindAppointments + LoadPropertiesForItems

EWS Managed API: FindAppointments + LoadPropertiesForItems

The EWS Managed API makes it easy to retrieve a list of all appointments in a calendar, including occurrences of recurring appointments, using the ExchangeService.FindAppointments method. FindAppointments however translates into an EWS FindItem Web service call under the covers, and FindItem is not able to return all the properties one may need on the retrieved appointments. For instance, FindItem cannot return the Body property.

ExchangeService exposes another method, LoadPropertiesForItems that makes it possible to load the properties of multiple items in one call to EWS (it translates into a batch GetItem Web service call under the covers). Unfortunately, the results of a call to FindAppointments cannot be directly passed to LoadPropertiesForItems, which takes an argument of type IEnumerable<Item> whereas FindItemsResults<Appointment> is of type IEnumerable<Appointment>.

One simple solution to this is to create an intermediate list of type List<Item> and add all the appointments from the FindAppointments results:
FindItemsResults<Appointment> findResults = service.FindAppointments(   WellKnownFolderName.Calendar,   new CalendarView(DateTime.Now, DateTime.Now.AddDays(7)));    List<Item> items = new List<Item>();    foreach (Appointment appointment in findResults)  {   items.Add(appointment);  }    service.LoadPropertiesForItems(items, PropertySet.FirstClassProperties);  
There are two main drawbacks to this approach:
  • There is extra code to write,
  • An intermediate list is created, consuming twice as much memory as should be necessary.

Fortunately, thanks to Linq, it is possible to write something much cleaner that does not create an intermediate list:
FindItemsResults<Appointment> findResults = service.FindAppointments(   WellKnownFolderName.Calendar,   new CalendarView(DateTime.Now, DateTime.Now.AddDays(7)));    service.LoadPropertiesForItems(   from Item item in findResults select item,   PropertySet.FirstClassProperties);  
Happy coding!

David Claux | Program Manager - Exchange Web Services

Reply:
Hello,

Thanks for the post, it answered many questions for me about this issue.

I'm relatively new to EWS Managed API stuff, but wouldn't the following simple code do the same trick?

CalendarView cView = new CalendarView(DateTime.Now, DateTime.Now.AddDays(7);
cView.PropertySet = PropertySet.FirstClassProperties;

FindItemsResults<Appointment> findResults = service.FindAppointments(WellKnownFolderName.Calendar,cView);

Or does this result differ somehow from your example? (at least I got the attribute that I was looking for out of this solution).

br,
-Juha

------------------------------------
Reply:
Hi,

It might have been unclear in my original post, but FindAppointments (like FindItems) cannot return all first class properties. Thus one may need to load the full details of an item after a call to FindAppointment.

A CalendarView's PropertySet property defaults to PropertySet.FirstClassProperties, so your code above is essentially the same as the one I posted. The problemis not the sepcified property set, it is that FindItems/FindAppointments are not able to retrieve all first class properties.
David Claux | Program Manager - Exchange Web Services

------------------------------------
Reply:
Hello,

Thanks for the quick clarification. Understood it now...

thanks & br,
-Juha

------------------------------------
Reply:
Just commented on the other thread.
David Sterling | Microsoft Exchange Web Services | http://www.microsoft.com/MSPress/books/10724.aspx

------------------------------------
Reply:
Thanks for the example, it is very helpful.

I just tested it, it works fine as soon as the findResults collaction is not empty.

When it's empty, the Linq request fails.

So I added the following test before :

if (findResults.Count() > 0)  {  ...  }


Nicolas Faugout

------------------------------------
Reply:

Hi David. I post the same question for the different thread. Basically somehow "IsRecurring" field is only returned for FindAppointments if appointment is not recurring.

Do you have any clue?

 

Brian.


------------------------------------
Reply:
It seems like IsRecurring might not be loaded for non-recurring appointment.
I am doing this following but it will be nice if API just returns null if a property is not loaded.

    try
            {
                return appointment.IsRecurring;
            }
            catch (ServiceObjectPropertyException exception)
            {
                return false;
            }

------------------------------------
Reply:
Or you can use IEnumerable<T> extension method Cast<T>() like this:
FindItemsResults<Appointment> findResults = service.FindAppointments(
    WellKnownFolderName.Calendar,
    new CalendarView(DateTime.Now, DateTime.Now.AddDays(7)));
service.LoadPropertiesForItems(
    findResults.Cast<Item>(),
    PropertySet.FirstClassProperties);

------------------------------------
Reply:

Hi All,

I am trying to get Appointments from Exchange server using this API. But it looks like I have to load each property before reading. I am always getting following error.

You must load or assign this property before you can read its value.

Essentially, i am trying to get 1. subject 2. Organizer 3. Timespan 4. Body.

So these are member of Appointment class except body which is member of Item class. Can some one please help me out in solving this problem.

 

This is how my sample code looks like

        WellKnownFolderName.Calendar);
            FindItemsResults<Appointment> findResults = cf
                    .findAppointments(new CalendarView(startDate, endDate));
            List<Item> items = new ArrayList<Item>();
             service.loadPropertiesForItems(findResults, new
             PropertySet(ItemSchema.Subject));

            if (findResults.getItems().size() > 0) {

                for (Appointment appt : findResults.getItems()) {
                    items.add(appt);
                    System.out.println("SUBJECT=====" + appt.getSubject());
                    System.out.println("Organizer========" + appt.getOrganizer());
                    System.out.println("Timespan========" + appt.getDuration().toString());
                }
                service.loadPropertiesForItems(items,
                        PropertySet.FirstClassProperties);
               
                for (Item appt : items) {
                   
                    // System.out.println("SUBJECT=====" + appt.getSubject());
                     System.out.println("BODY========" + appt.getBody());
                }
            }

 

Thanks

raj


------------------------------------
Reply:

I found what i want.

this is how my code looks like

 

SimpleDateFormat formatter = new SimpleDateFormat(
                    "yyyy-MM-dd HH:mm:ss");
            formatter.setTimeZone(TimeZone.getTimeZone("America/Los_Angeles"));
            Date startDate = formatter.parse("2012-1-18 00:00:00");
            Date endDate = formatter.parse("2012-1-26 23:59:59");
            //CalendarFolder cf = CalendarFolder.bind(service,
                //    WellKnownFolderName.Calendar);
           
            CalendarView cView = new CalendarView(startDate, endDate);
            cView.setPropertySet(PropertySet.FirstClassProperties);
            FindItemsResults<Appointment> findResults = service.findAppointments(WellKnownFolderName.Calendar, cView);
            service.loadPropertiesForItems(findResults,
                    PropertySet.FirstClassProperties);
            for (Appointment appt : findResults.getItems()) {
                //items.add(appt);
                System.out.println("SUBJECT=====" + appt.getSubject());
                System.out.println("Organizer========" + appt.getOrganizer().getName());
                System.out.println("Timespan========" + appt.getDuration().toString());
               
                System.out.println("BODY========" + appt.getBody());
            }
           


------------------------------------
Reply:

Hi , 

I need to confirm that all occurences of an recurrencemaster shares the ICalUId or not , because somewhere on net read that all occurences share the same icaluid with reccurrence master

i am using this property to filter out the all related occurences of a perticular master after doin FindAppointment for a date range .. for a time it was working fine but suddenly today i am getting different IcalUid for all occurences

Please help me

this is very urgent


Thank you Dheeraj Kumar




------------------------------------
Reply:
All occurrences share the same ICalUID.

------------------------------------
Reply:

Thanx PythonCoder5 ,

I also used to believe that but i have checked it at least for 10 times and yes it is giving me different ICalUid(s).

My Exchange Server Version : 2007

Please help me guys , or tell some other way to achieve this

very urgent ....


Thank you Dheeraj Kumar


------------------------------------
Reply:
Can you post your code showing how you are getting the master ICalUID?

------------------------------------

Pinball FX2 Frustration

I decided to try out the Metro Pinball FX2 application. I'm not into computer games, but I figured what the heck, it's got that pretty tile and all...

My keyboard doesn't have a right control key, just one on the left and wouldn't you know it, the control setup feature is not working in the half-baked implementation of the application.  Ergo, I have no way to operate the right flipper. 

That was fun.

 

-Noel


Detailed how-to in my eBook:  
In development:

Configure The Windows 7 "To Work" Options
Configure The Windows 8 "To Work" Options


Reply:
It's actually a pretty good game if you have both <ctrl>'s!  Much
better than the rest of the metro apps I've seen.
 

Bob Comer - Microsoft MVP Virtual Machine

------------------------------------
Reply:
You can attach two keyboards to your computer at the same time if you want to have one with the Windows logo key and two Ctrl keys along with the keyboard you're addicted to  :-).  Get a nice wireless one.

------------------------------------
Reply:
Noel, try puzzle touch. You only need the mouse for that. In addition it bombs out every so often and will put a nice dent in your reliability line.

------------------------------------
Reply:
The game is still in a very early stage and works best with an XInput-based gamepad.  I think that the R button will also activate the right flipper...but full customization will come later.

------------------------------------

Exchange Online in China

I'm interested in purchasing Microsoft Exchange Online in mainland China. Do Microsoft sell this in China? If not, what are the options for using the product here?

Ext3 Filesystem Support

Wow, second feature request within 10 minutes, awesome.  Alright, I'm aware this one is probably out of reach, and you Microsoft people wont want to do it (because in fulfilling my request, you would be acknowledging that Linux exists), and in fact, I'm not even sure if this is the right place to request this, but...

From Linux, it's really easy to access a windows partition, just mount the ntfs filesystem, and there you are.  But I've recently hit a wall.  You see, I want to store all of my media and such on a separate HD than my operating systems.  I don't want ntfs, it fragments, and that's reason enough for me.  So I was going to make it ext3, but then it hit me that Windows 7 wouldn't be able to use it.  So...  I'm not going to hold off on that idea, I'm going to proceed with my plan, and if Windows doesn't offer support for an ext3 filesystem sometime...  I dunno, I'll find a hack --er-- ethically... coded... piece of software for it or something.

On top of that, I'm sure Novell would appreciate it with your new alliance that seems to be quite underground (alright, not an alliance, but you're cooperating, right?).

Reply:
Have you tried ext2ifs or ext2fsd? Ext2ifs didn't work well for me in Seven but fsd quite well

------------------------------------
Reply:
Ext2ifs will only work though if you have a 128 inode ext3 partition, and its not open source so we have to wait for the developers to help this along.  You should be fine with it as long as you partition your hard drive with an older version of linux, such as before intrepid ubuntu, but if not you have to either reformat or use different software.  windows 7 has these wonderful signed drivers that you can't really turn off permanently, at least to my knowledge, which makes installing freeware close to impossible.  Ext2fsd can run the 256 inode ext3 that intrepid on up formats into by default and runs perfectly in xp, but it has an unsigned driver.  thanks microsoft.  however, you can still install and use it, and like i said earlier sort of.

To error on the safe side first download ext2fsd http://ext2fsd.sourceforge.net/projects/projects.htm#ext2fsd (the .exe will do) and shut down cleanly.  on restart press F8 at the boot (for windows in case your dual booting) and select disable forced signed drivers at the bottom.  Sadly this is only a temporary fix and you will have to do so every time you start up and want to access your drive.  Then continue to install.  You may have to use either xp or vista settings, not sure which i used, but you will probably get an error in the install that the driver and program failed to load.  Just continue to install like normal and save the settings that you used for the install.  Then reboot redisabeling the forced signed drivers and then load up ext2fsd.  Unless you are going to need your hard drive every time i suggest not putting in on the startup, but if you aren't worried about accidently reformatting your hard drive when you don't start the unsigned driver it is handy to have it permanently mount the drive because then you can nock off one more step in getting your hard drive to work every time.

that should cover everything.  sorry if i went into to much detail, but this way other people should be able to get everything that they need.

------------------------------------
Reply:

just wondering, what kind of retarded OS doesn't have ext3 support?

Is there any way to ask for a feature in this M$ land?

THanks

Sebastian


------------------------------------

SCCM RSS feed broken

FYI, the "Top SCCM Solutions" RSS feed is broken; it has an unescaped ampersand.  See http://www.feedvalidator.org/check.cgi?url=http%3A%2F%2Fsupport.microsoft.com%2Frss%2Fsccm.xml for details.  Does anyone have a contact who can fix this?  Thanks.

Reply:

I think the link is question is found here http://support.microsoft.com/ph/13876 and the RRS feed is listed next to Top Solutions.


http://www.enhansoft.com/


------------------------------------

Copy Sharepoint 2010 sites to new server

I have a sharepoint sites on the main farm site collections (some with workflows), and want to copy them to another server that I have setup with same version.

What is the good way to do that.  thanks!


Reply:

Hi,

If the content databases of these sites are relatively small (say 10 GB or smaller), then take site collection backups from the source environment and restore these backups in the destination site.

You can take backups of Site Collections via PowerShell (Backup-SPSite) or via Central Admin. You may restore these sites only with PowerShell. You need to create blank site collections in the destination environment. Also are the urls of the current sites and proposed sites going to be same? You need to plan that as well.

If the content databases are huge, database attach will be better option. Basically, you will take latest backups of the content databases of the web applications that you want to move and then restore these databases in the destination environment. Then you will create new web applications in the destination environment, detach the default databases and reattach the restored databases. This can be done via Central Administration or via PowerShell.


Thanks, Soumya | MCITP, SharePoint 2010


------------------------------------
Reply:

this was very helpfull. I backed it up using CA and restore it with command line. As a note: the sql account that runs the SP has to have access to the backup file othewise you get access denied.

Thanks


------------------------------------

[INFO] MS12-20 CRITICA - Vulnerabilidades en Escritorio remoto podrían permitir la ejecución remota de código

Esta actualización de seguridad resuelve dos vulnerabilidades de las que se ha informado de forma privada en el protocolo de Escritorio remoto. La más grave de estas vulnerabilidades podría permitir la ejecución remota de código si un atacante envía una secuencia de paquetes RDP a un sistema afectado. De forma predeterminada, el protocolo de Escritorio remoto (RDP) no está habilitado en ningún sistema operativo Windows. Los sistemas que no tienen RDP habilitado no están expuestos.

Esta actualización de seguridad se considera crítica para todas las versiones compatibles de Microsoft Windows.

Boletín de seguridad de Microsoft MS12-020 - Crítica
Vulnerabilidades en Escritorio remoto podrían permitir la ejecución remota de código (2671387)
http://technet.microsoft.com/es-es/security/bulletin/ms12-020

MS12-020: Vulnerabilities in Remote Desktop could allow remote code execution: March 13, 2012
http://support.microsoft.com/kb/2671387


MS12-020: Description of the security update for Remote Desktop Protocol Vulnerability: March 13, 2012
http://support.microsoft.com/kb/2621440/

MS12-020: Description of the security update for Terminal Server Denial of Service Vulnerability: March 13, 2012
http://support.microsoft.com/kb/2667402/


Un saludo,

Tomas Hidalgo

Colobora con el foro: Si la respuesta es de utilidad para resolver tu duda/problema, usa la opción "Marcar como repuesta". Otros usuarios con dudas similares -en un futuro- lo agradecerán.

$($(gi function:$f).scriptblock).file property of a user defined function

Here's something I just learned today that will come in handy.

If $f has the name of a function defined by user supplied code, say
$f = 'prompt'
then this expression will return the file path from which it was defined
$($(gi function:$f).scriptblock).file


Reply:
Turns out there's more to those "scriptblock" things than just curly braces with some text in between.....

[string](0..33|%{[char][int](46+("686552495351636652556262185355647068516270555358646562655775 0645570").substring(($_*2),2))})-replace " "


------------------------------------
Reply:
LOL, you and your script blocks... ;-)

Al Dunbar


------------------------------------
Reply:

Hi,

Thanks for your sharing!

Best Regards,

Yan Li


Yan Li

TechNet Community Support


------------------------------------
Reply:

very interesting. But I'm not sure in which circumstances it would exercise its handiness, other than:

  1. if you are writing a powershell debugger in powershell
  2. if you have functions of the same name defined in multiple locations, this would help you determine which one was in effect.

Re 1: be my guest, but this is probably something of limited practicality, and definitely off my radar to do.

Re 2: yeah, but it would make more sense to avoid confusing oneself with such duplicity in the first place.

Oh, and here is a map to where in the file the beginning of the scriptblock can be found:

     $($(gi function:$f).scriptblock).startposition


Al Dunbar


------------------------------------

VDI - Configure visual performance settings via group policy

Hi,

For acceptable performance we have to tune Win7 display performance settings away from the default settings (eg disable animation, show window contents when dragging etc....)  This is not configurable via Win7 group Policy. We have to get involved in reg hackery eg: http://www.sevenforums.com/tutorials/1908-visual-effects-settings-change.html  Will we be able to centrally manage this in Win8?

For successful Win8 VDI proof of concepts, recommend make this config possible via group policy and document a simple way to deploy Win8 VM optimised for remote access.


Reply:

This is interesting.  Especially since the VDI players have different tuning recommendations for the VDI VMs.

View has some tuning tweaks that are specific to it (more protocol and experience oriented) and XenDesktop has different recommended tuning settings (more disk IO oriented and could be applied to any VDI deployment).

While your question is actually a bit closer to Group Policy it would be interesting to see what the MSFT folks have to say about extensions to AD to support this scenario.

I am sure that the MSFT answer will be to use PowerShell (seems to be the pill for everything in Win8) - but that is still hacking settings.


Brian Ehlert (hopefully you have found this useful)
http://ITProctology.blogspot.com
Learn. Apply. Repeat.
Disclaimer: Attempting change is of your own free will.


------------------------------------

Unable to save files to fully acceptable network

Hello,

Our office has 2 servers, 1 is windows 2000 the other 2011 smb essentials. I have about 8 windows 7 machines in the office. They all access both servers without issue. That was until earlier this week. One of the machines began having issues saving to network shares on the server running windows 2011 essentials. The problem started with excel then spread to all programs. I can access the drives fine, no permission issues or lag. I can copy and paste / drag and drop files to the network shares with no lag or issues. 

It is only when you try to save a file from a program such as notepad, word, excel, etc. directly to the network share does the process either have incredible lag, ( saving a 1 kb notepad file takes almost a full minute ) or fails completely and reports that the file is already open. I have removed the machine from the domain and re added it. I even went as far as to plug in a new hard drive and re-install windows 7 and rejoin the domain and the problem continues. I also tried changing the NIC and no change. 

I am hesitant to go into the registry on my new server to disable SMB 2.0, i feel if this was the issue then other Windows 7 machines would be affected. Does anyone have any ideas? 


Reply:

Hi,

Firstly, you can try this Hotfix and see how it works.

http://support.microsoft.com/?id=981872

Also, you can boot your system into Safe Mode with networking to see whether the issue will occur.

If issue persists, you can use Network Monitor and Resouce Monitor to troubleshoot the issue.

Hope this helps.


Please remember to click "Mark as Answer" on the post that helps you, and to click "Unmark as Answer" if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.


  • Edited by Jeremy_Wu Tuesday, March 13, 2012 5:22 PM

------------------------------------

Storage considerations for my HA/DR design

Hi,

I made an earlier post about a DAG design for my new Exchange 2010 deployment earlier post

The design I am going to aim for is shown below:


I am now trying to figure out the storage configuration for the Mailbox servers and would appreciate any feedback.

The current environment is as follows:
250 mailboxes, average of 750Mb per mailbox (some are >2GB and some are <100MB .... 750MB is just an average of our current mailboxes)
11 databases with total storage used 280GB

I have run the Exchange 2010 Calculator as well as the HP sizing tool but some of the options are a little confusing.

The design I'm thinking of for Mailbox Servers (from HP sizer) is as follows:
HP DL 380 G7
8GB RAM
Dual core CPU
5 x DAS disks (15K SAS)

2 x 72GB RAID10 System/Pagefile
2 x 900GB RAID10 Transaction Logs/Database
1 x 450GB RAID0 Restore LUN


My questions are:

- How does this config look ?
- I don't completely understand how 2x72GB and 2x900Gb can be RAID10. I thought RAID10 needs a minimum of 4 disks of equal size ...
- Does every Mailbox server need a dedicated restore LUN ?


Thanks again !


Reply:

My questions are:

- How does this config look ?
- I don't completely understand how 2x72GB and 2x900Gb can be RAID10. I thought RAID10 needs a minimum of 4 disks of equal size ...
- Does every Mailbox server need a dedicated restore LUN ?


You are correct about RAID10 need 4 disks of the same size. RAID1 is what I would have expected would be more appropriate and would actually fit with the number of disks in the servers.

Not every server needs a restore LUN. This is just a disk that is designated for the restoration of DB's when you need to mount a DB from a backup or for whatever other reason you might have. It is to ensure you have space availible in that instance and is not used in any replication or DAG configuration.

Other than that the config looks fine


Matt Cline - MCSE+M, MCITP: EA | EMA (2007, 2010) | Lync 2010 Blog: exchangeadventures.com


------------------------------------
Reply:

- I don't completely understand how 2x72GB and 2x900Gb can be RAID10. I thought RAID10 needs a minimum of 4 disks of equal size ...


Thanks again !

The RAID 10 thing:  You'll see that listed as it is how the vendor's interface works.  Put two disks in to the group and you'll get a mirror.  Put in four disks and it will do the mirror + stripe that you are thinking of. 

And on the witness server one thing, it will be there in the configuration -- just not used. As you add and remove nodes from the DAG the witness will be used when there is an even number of nodes.  You can also pre-stage the alternate file share witness to save some typing during a DR event. 


Cheers, Rhoderick


------------------------------------

LDAP including Child attributes

Hi All,

Is it possible to run LDAPs that interogate child attributes as well.  By this I mean, could I run a search for AD accounts that had the manager field populated and where that manager (in that field) was based in Newcastle.

I would really appreciate your thoughts.

Many Thanks


Reply:

Yes that is possible. Here is an example using get-aduser in PowerShell:

 get-aduser -filter * -property manager | where {$_.manager -ne $null}


------------------------------------
Reply:

I normally run LDAPs from .cmd files.  Could one of these be modified or am I constrained to using PowerShell ?

Many Thanks


------------------------------------
Reply:

You can use ldifde for this purpose which can be called from batch or .cmd:

ldifde -d "dc=contoso,DC=com" -f output.txt -r "(&(objectClass=user)(manager=*))


------------------------------------
Reply:

Thats looks fine, but then how can I add criteria about the manager, like where they are based.

I think what im asking isnt possible.


------------------------------------
Reply:

Thats looks fine, but then how can I add criteria about the manager, like where they are based.

I think what im asking isnt possible.

It can be done in PowerShell as has been demonstrated.  It cannot be easily dome with a CMD file.


¯\_(ツ)_/¯


------------------------------------
Reply:

How do you tell the manager is based in Newcastle? Is there an attribute of the manager user object that indicates this?

You can query for all users that have a specific manager. You can query for all users that any one of several managers assigned to them in AD. You can query for users that have any manager. However, if managers based in Newcastle have some attribute, such as the department attribute equal to "Newcastle", and you want all users that have any of these managers, it cannot be done in one query. This is true no matter whether PowerShell or anything else. You would need to run one query with (department=Newcastle), retrieve all the DN's from that query, then run a second query for the direct reports. This requires two queries, plus some code to construct the filter for the second query.


Richard Mueller - MVP Directory Services


------------------------------------
Reply:
The only way I could imagine you doing that from .cmd would be to parse the output from ldifde and creating a new query based on that either using ldifde or dsget user.

------------------------------------
Reply:
Thanks all.  Thats my question answered.  Will try the PowerShell route.

------------------------------------
Reply:

I would only note, that if I understand the question, PowerShell cannot do this in one query either. If some attribute of the manager user objects identifies them as based in Newcastle, you will need two queries to retrieve all users with any manager based in Newcastle. Code will need to take the results of the first query and construct a filter for the second. I've done similar in PowerShell and VBScript. How do you know if a user is based in Newcastle?


Richard Mueller - MVP Directory Services


------------------------------------
Reply:

Sorry, I just realized that this can be done in one query. The trick it to query for the managers. Then we can filter just on managers based in Newcastle. We can retrieve the directReports attribute and enumerate that. The manager attribute of the user is linked to the directReports attribute of the manager. A PowerShell V1 script follows, assuming that managers based in Newcastle have department equal to "Newcastle":

# Search entire domain.
$Domain = [System.DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain()
$Root = $Domain.GetDirectoryEntry()
$Searcher = [System.DirectoryServices.DirectorySearcher]$Root

$Searcher.PageSize = 200
$Searcher.SearchScope = "subtree"
$Searcher.PropertiesToLoad.Add("distinguishedName") > $Null
$Searcher.PropertiesToLoad.Add("directReports") > $Null

# Filter on all managers based in Newcastle.
# Managers are anyone with direct reports.
$Searcher.Filter = "(&(department=Newcastle)(directReports=*))"
$Results = $Searcher.FindAll()

# Enumerate managers based in Newcastle and their direct reports.
ForEach ($User In $Results)
{
    $DN = $User.properties.Item("distinguishedName")
    "Manager: $DN"
    $Reports = $User.properties.Item("directReports")
    ForEach ($Report In $Reports)
    {
        "  Direct Report: $Report"
    }
}

-----

Similar can be done in VBScript, or using PowerShell V2 and the Get-ADUser cmdlet. However Get-ADUser will restrict managers to users, so you may want to use Get-ADObject instead if managers can be groups or contacts. If you want attributes of the reports other than the Distinguished Names, you will need to bind to each report object to retrieve the other attributes (like "pre-Windows 2000 logon" name).


Richard Mueller - MVP Directory Services


------------------------------------

What happened to the Windows Technical Beta Program?

I've been a member of the technical beta program since Windows 3.11, Windows 8 is the first time I haven't received an invite to the Windows beta program and searching the web I've found some statements that the technical beta program was disbanded after Windows 7 but nothing official from Microsoft. I've emailed all of the beta aliases I know but never received any replies by Microsoft. Did the technical beta program get disbanded? If so that's very sad, I thought it brought quite a bite of value to MS as well as myself and my clients.

-Keith Elkin

  • Changed type Nicholas Li Monday, April 9, 2012 3:12 AM

Reply:

This is the most direct answer I have ever been able to find from Microsoft:

To apply to become a beta tester for Microsoft Corporation, visit the following Microsoft Web site: Use your Microsoft Passport Network credentials (the e-mail address and password that you use to sign in to the Passport Network) to sign in.

If you do not have a Microsoft Passport Network account, visit the following Microsoft Web site to create one: After you sign in to your Passport Network account, your request will be forwarded to the appropriate product group for review and consideration.

Because of the volume of requests that is received, you will be contacted only if you are chosen to participate.

Source: How to apply to become a beta tester for Microsoft


------------------------------------
Reply:

This doesn't answer my question, this just tells you how to sign up for the connect website which obviosuly as a previous technical beta tester I have already done. The question is what happened to the technical beta program.

Thanks,

-Keith


-Keith Elkin


------------------------------------
Reply:
I think it is as clear as an answer you are bound to find. Microsoft and most other companies are usually not very transparent about their closed beta programs. On this forum you mostly find enthusiasts like yourself, for whom the beta program is a black box as well. But you might be lucky and find a Microsoft employee with inside information about how the beta program works who is also allowed to share the information on the forums.

------------------------------------
Reply:

Hi,

Our Windows 8 Consumer Preview is already released to public, you can download the image and test it as well. If you encounter any problem, please ask at http://social.technet.microsoft.com/Forums/en-US/category/w8itpro.  

About that program, I donot know how it works, so I cannot tell more. Sorry.


Juke Chou

TechNet Community Support


------------------------------------
Reply:

Hi,

Can I ask for your priviledge to mark this thread as "Answered"? Also, if you have further questions on this, please let us know.


Juke Chou

TechNet Community Support


------------------------------------
Reply:

Hi,

Can I ask for your priviledge to mark this thread as "Answered"? Also, if you have further questions on this, please let us know.


Juke Chou

TechNet Community Support

If you must, even though the question has not been answered.



-Keith Elkin


------------------------------------
Reply:

Hi,

Can I ask for your priviledge to mark this thread as "Answered"? Also, if you have further questions on this, please let us know.


Juke Chou

TechNet Community Support

If you must, even though the question has not been answered.



-Keith Elkin

And you are not going to get an answer in this forum because it has absolutley nothing to do with the Microsoft Windows Technical Beta program!  This is what is referred to as a peer-to-peer forum for exchange of information directly related to Windows 7.

You will have to contact the section of Microsoft that is responsible for the Windows Technical Beta program if you want more information about it, including an answer to your question!


Please remember to click "Mark as Answer" on the post that helps you, and to click "Unmark as Answer" if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread. "


------------------------------------

Excel 2007 Links to Other Spreadsheets Change After Workbook is Saved

Having an issue with Excel 2007 spreadsheets containing links to other spreadsheets saved on a network share.  The links in the spreadsheets are being modified after being saved and part of the path is removed.  For example, cells may include a link to \\domain.com\dfsnamespace\sharename\folder\myfile.xlsx.  After the spreadsheet is saved and reopened, receive the following message...

This workbook contains one or more links that cannot be updated.

-To change the source of links, or attempt to update vales again, click Edit Links.

-To leave the links as is, click Continue.

I click Edit Links...  The Status column shows "Error: Source not found".  Highlight source and see that the link has been changed removing part of the path, ex. \\domain.com\folder\myfile.xlsx.

The users have been using search and replace to fix the broken links, but this is happening more often all of the time and it is getting annoying.  Not much out there about this specific issue.

The cell contents is fewer than 255 characters.

The links are being used in formulas like COUNTIF, SUMIF, VLOOKUP etc.

  • Changed type pdxsysadmin Monday, January 10, 2011 5:12 PM No responses as a question.

Reply:

We have been having the same issue in our office. 

Links paths become invalid in a similar way and users are forced to update the links via Date->Edit Links dialog.

Links also shift from their mapped path to the UNC mapping, for example, R:\my folder\test.xls becomes //nts123/rsch/my folder/test.xls. This is not a problem, since everybody is mapped to the network using the same drive letter, but we could not establish a pattern for when it happens.

After some research, we found the old registry fix that is supposed to have the links stick to absolute, non UNC drive mapping:

Add key DontUseUNC = 1  of type DWORD to 
HKEY_Current_User\Software\Microsoft\Office\12.0\Excel\Options

This fix, while not relevant to the issue, seems to help with broken links problems. We rolled it out to many users in our office, and the issue seems to happen less now. I am still researching it.

 


evgenia kagan

------------------------------------
Reply:

Just to follow up on this issue. We have idenitified that the registry fix above is not working to fix broken links in Excel 2007.

We have filed a ticket with Microsoft and were told to expect a preliminary release with a fix in a few  weeks.

A cumulative upgrade will be available to everyone in August 2011.

Here is how to reproduce the problem in Excel 2007:

- Assume that S: drive is mapped to \\NTSSVC1\sharename 

- Create an XLSX workbook, i.e, main.xlsx and in there, create a link to a file on the server, for example, "S:\Shared Files\subfolder\test.xlsx"

- Save the workbook under S:\Shared files\mainfolder and close the workbook.

- Open main.xlsx using its UNC path:  \\NTSSVC1\sharename\Shared files\mainfolder\main.xlsx

- The link will break and will now show up as \\NTSSVC1\Shared Files\subfolder\test.xlsx  (share name is missing from the path)

This only happens to XLSX and XLSM files. 

Again, Microsoft has accepted that this is a bug in Excel 2007. Hopefully, a fix will be available in August 2011.


evgenia kagan

------------------------------------
Reply:

Does anyone have an update for this? We are having the same problem in our office.

 

Can anyone tell me if an update was released that fixes this?

 

Thanks!


------------------------------------
Reply:

Sara-West,

 

The hotfix was released in August 30 2011.

Description and download  of the Excel 2007 hotfix package: http://support.microsoft.com/kb/2553026.

We have installed it on several machines and it appears to prevent links from breaking. 

FYI, it will not "fix" already broken links- you have to do it yourself.

 

The hotfix has several so-called regression issues, reported by Microsoft:

1. It may generate an false error when saving xls files - see Known Issues section in the above article. This is not a big problem: once you click OK on the message box, you can proceed.

2. If the files are saved on a patched machine, then opened and saved on a non-patched machine, then there is a possibility that the links may break again. In other words, you will have to be sure that the files are not shared with non-patched users.

 

Because of these issues Microsoft is not going to include this hotfix in their future Excel updates. This means that a routine update from Microsoft may remove the patch from the machine.

 

Microsoft is currently working on a new hotfix that will hopefully resolve these issues. They are targeting end of December.

 

In the meantime , we decided to keep the hotfix, but we are not rolling it out to the entire company just yet.

 

I will post my updates here.

Best,

Evgenia.

 


evgenia kagan

------------------------------------
Reply:
Do you know if this will work for Office 2010?

------------------------------------
Reply:

I do not know if this problem of broken links exists in Excel 2010 - will you let me know?

The hotfix has a lot of limitations and was designed to fix Excel 2007 issues only.


evgenia kagan

------------------------------------
Reply:
It is happening on 2010. I hope Microsoft knows this.

------------------------------------
Reply:

I am pretty sure Microsoft does not know about it. I will contact the people in Microsoft that I have been in touch with and let you know.


evgenia kagan

------------------------------------
Reply:
Great! Thanks!

------------------------------------
Reply:

I just downloaded the hotfix, but I was unable to install it. It said I did not have the correct version of the program installed. I have Office 2007 SP3 installed, and I believe the hotfix requires SP2. Is there a workaround?

 

Thanks,

 

Jody


------------------------------------
Reply:

Jody,

I had to remove Microsoft Office Visio Viewer 2007 & Office 2007 Compatibility Pack 12.0  before installing the hotfix. Check if you have them and remove them before the installation.

Let me know,

Evgenia.


evgenia kagan

------------------------------------
Reply:

We have a similar problem since last week in 2010 has there been a patch release yet


------------------------------------
Reply:

Yet, the final (hopefully) hotfix for both Excel 2007 and Excel 2010 that deals with the problem of Broken Links was released last week:

Excel 2010http://support.microsoft.com/?id=2597940

Excel 2007:  http://support.microsoft.com/?id=2598032

Testing it right now...


evgenia kagan


------------------------------------

Free Microsoft Private Cloud Training from Microsoft Learning

Are you ready for the Microsoft Private Cloud?

Sign up today at: http://mctreadiness.com/MicrosoftCareerConferenceRegistration.aspx?pid=298

Event Overview

Adopting this exciting new computing paradigm provides a whole new landscape of technology and career direction for IT professionals. Microsoft Learning and the Microsoft System Center 2012 team have partnered to bring you an exciting opportunity to learn what you need to know to deploy, manage and maintain Microsoft's private cloud solution. Leveraging the popular Jump Start virtual classroom approach, the industry's most gifted cloud experts will show attendees why this new private cloud solution, based on System Center 2012 and Windows Server, has garnered so much attention. Presenters include Symon Perriman, Sean Christensen, Adam Hall, Kenon Owens, Prabu Rambadran & Chris Van Wesep and there will be a live Q&A during the event.

Event Agenda

Day 1: Deployment & Configuration (Feb. 21)

·         Part 1: Understanding the Microsoft Private Cloud

·         Part 2: Deploying the Infrastructure Components

·         Part 3: Deploying the Private Cloud Infrastructure

·         Part 4: Deploying the Service Layer

·         Part 5: Deploying the Applications & VMs

Day 2: Management & Operations (Feb. 22)

·         Part 6: Managing the Infrastructure Components

·         Part 7: Managing the Private Cloud Infrastructure

·         Part 8: Managing the Service Layer

·         Part 9: Managing the Applications & VMs

Sign up today at: http://mctreadiness.com/MicrosoftCareerConferenceRegistration.aspx?pid=298

Jump Start Overview

This accelerated Jump Start sponsored by Microsoft Learning is tailored for IT professionals familiar with Windows Server technologies, Hyper-V virtualization, and the System Center management solutions. The course is designed to provide a fast-paced and technical understanding of how and why Microsoft's approach to the private cloud delivers scalability, security, flexibility and control. Here are few unique benefits of this course:

·         Students have the opportunity to learn from and interact with the industry's best cloud technologists!

·         This high-energy, demo-rich learning experience will help IT Professionals understand why Microsoft private cloud solutions are making a splash in the industry.

·         Students will see with their own eyes how Windows Server 2008 R2 and System Center 2012 work together to provide the best combination of security and scale.

·         Information-packed agenda! Day one of this two-day online course will focus on designing and deploying the right solutions for your organization, while day two will provide an in-depth look at the tools available to help monitor, secure and control the operational aspects of a private cloud.

Sign up today at: http://mctreadiness.com/MicrosoftCareerConferenceRegistration.aspx?pid=298

Thanks!
Symon Perriman

Technical Evangelist, Microsoft

TechNet Edge Blog & Videos

Twitter @SymonPerriman




  • Edited by Mr. Wharty Wednesday, March 7, 2012 12:31 AM Remove dates

Reply:

Two questions:

1) is this even online, or is it at a physical location?

2) if it is online, will it be cached so that we can view the training at a later date?


Fredrik V Coulter MOS (Excel 2007), MOCMI (2003), MOCE (Acess, PowerPoint, Word, Excel 97), MCP (2.0)

------------------------------------
Reply:

Two questions:

1) is this even online, or is it at a physical location?

2) if it is online, will it be cached so that we can view the training at a later date?


Fredrik V Coulter MOS (Excel 2007), MOCMI (2003), MOCE (Acess, PowerPoint, Word, Excel 97), MCP (2.0)

it's an online event and I'm still trying to track down whether this content will be made available as a Webcast after the event.

Jeff Wharton
MSysDev (C.Sturt), MDbDsgnMgt (C.Sturt), MCT, MCPD, MCITP, MCDBA
Blog: Mr. Wharty's Ramblings
MC ID: Microsoft Transcript

Please mark answered if I've answered your question and vote for it as helpful to help other user's find a solution quicker


------------------------------------
Reply:

Can some one Please Update the Link If this Webcast is available. Thanks in Advance


Nag Pal MCTS/MCITP (SQL Server 2005/2008) :: Please Mark Answer/vote if it is helpful ::


------------------------------------
Reply:

Can some one Please Update the Link If this Webcast is available. Thanks in Advance


Nag Pal MCTS/MCITP (SQL Server 2005/2008) :: Please Mark Answer/vote if it is helpful ::

I have updated the dates for this training however I have not been provided with a link for the content covered in the February 2012 sessions.

When you see answers and helpful posts, please click Vote As Helpful, Propose As Answer, and/or Mark As Answer

Jeff Wharton
MSysDev (C.Sturt), MDbDsgnMgt (C.Sturt), MCT, MCPD, MCSD, MCITP, MCDBA
Blog: Mr. Wharty's Ramblings
Twitter: @Mr_Wharty
MC ID: Microsoft Transcript


------------------------------------
Reply:

I think i have found the content online:

http://technet.microsoft.com/en-us/edge/Video/hh867522

Best Regards,

Jochem


------------------------------------

SBS 2008 / Exchange 2007 / Mailbox Database.edb : From 28 Gigs to 0 Kb

I've had this problem before. Exactly one year ago. Same server too.

One day everything seems ok. Then all of a sudden problems with Exchange. Mails not coming in and not going out. Store file not mounted. We go and check it and it's 0 Kb !

Only this time we found there was a faulty SAS hard drive in the RAID array. HP diagnostics for the controller doesnt detect anything but the regular tests (on the same CD) detected a problem with one of the disks. So we substituted.

After that, recovered the whole "First Storage Group" folder from backup. The restore went well, but when trying to mount them on Exchange Management Console without success. Two different errors (depending if restoring from backup just the EDB file or the whole folder, with logs, etc.):

--------------------------------------------------------  Microsoft Exchange Error  --------------------------------------------------------  Failed to mount database 'Mailbox Database'.    Mailbox Database  Failed  Error:  Exchange is unable to mount the database that you specified. Specified database: MYSERVER\First Storage Group\Mailbox Database; Error code: MapiExceptionCallFailed: Unable to mount database. (hr=0x80004005, ec=-550)  .
--------------------------------------------------------  Microsoft Exchange Error  --------------------------------------------------------  Failed to mount database 'Mailbox Database'.    Mailbox Database  Failed  Error:  Exchange is unable to mount the database that you specified. Specified database: MYSERVER\First Storage Group\Mailbox Database; Error code: MapiExceptionCallFailed: Unable to mount database. (hr=0x80004005, ec=-515)  .

.

We then ran eseutil /mh to check the file state, which came as "Dirty Shutdown".

E:\Program Files\Microsoft\Exchange Server\Mailbox\First Storage Group> eseutil /mh "Mailbox Database.edb" 

Extensible Storage Engine Utilities for Microsoft(R) Exchange Server  Version 08.03  Copyright (C) Microsoft Corporation. All Rights Reserved.    Initiating FILE DUMP mode...   Database: Mailbox Database.edb     File Type: Database   Format ulMagic: 0x89abcdef   Engine ulMagic: 0x89abcdef   Format ulVersion: 0x620,12   Engine ulVersion: 0x620,12  Created ulVersion: 0x620,12   DB Signature: Create time:10/09/2010 19:49:24 Rand:1506737 Computer:   cbDbPage: 8192   dbtime: 52680191 (0x323d5ff)   State: Dirty Shutdown   Log Required: 58115-58132 (0xe303-0xe314)   Log Committed: 0-58133 (0x0-0xe315)   Streaming File: No   Shadowed: Yes   Last Objid: 9199   Scrub Dbtime: 0 (0x0)   Scrub Date: 00/00/1900 00:00:00   Repair Count: 0   Repair Date: 00/00/1900 00:00:00   Old Repair Count: 0   Last Consistent: (0xCE89,2B9,76) 01/28/2012 14:21:16   Last Attach: (0xCE8B,9,86) 01/28/2012 14:30:42   Last Detach: (0x0,0,0) 00/00/1900 00:00:00   Dbid: 1   Log Signature: Create time:10/09/2010 19:49:22 Rand:1471753 Computer:   OS Version: (6.0.6002 SP 2 NLS 500100.50100)    Previous Full Backup:   Log Gen: 57985-57990 (0xe281-0xe286) - OSSnapshot   Mark: (0xE287,8,16)   Mark: 03/05/2012 01:00:35    Previous Incremental Backup:   Log Gen: 0-0 (0x0-0x0)   Mark: (0x0,0,0)   Mark: 00/00/1900 00:00:00    Previous Copy Backup:   Log Gen: 0-0 (0x0-0x0)   Mark: (0x0,0,0)   Mark: 00/00/1900 00:00:00    Previous Differential Backup:   Log Gen: 0-0 (0x0-0x0)   Mark: (0x0,0,0)   Mark: 00/00/1900 00:00:00    Current Full Backup:   Log Gen: 0-0 (0x0-0x0)   Mark: (0x0,0,0)   Mark: 00/00/1900 00:00:00    Current Shadow copy backup:   Log Gen: 0-0 (0x0-0x0)   Mark: (0x0,0,0)   Mark: 00/00/1900 00:00:00     cpgUpgrade55Format: 0   cpgUpgradeFreePages: 0  cpgUpgradeSpaceMapPages: 0     ECC Fix Success Count: none   Old ECC Fix Success Count: none   ECC Fix Error Count: none   Old ECC Fix Error Count: none   Bad Checksum Error Count: none  Old bad Checksum Error Count: none    Operation completed successfully in 0.624 seconds.

.

Trying to run eseutil /r E00 was giving the following message until we ran command prompt as admin!

Operation terminated with error -1032 (JET_errFileAccessDenied, Cannot access file, the file is locked or in use) after XX seconds.

.

After elevating, it went well:

E:\Program Files\Microsoft\Exchange Server\Mailbox\First Storage Group> eseutil /r E00

Extensible Storage Engine Utilities for Microsoft(R) Exchange Server  Version 08.03  Copyright (C) Microsoft Corporation. All Rights Reserved.    Initiating RECOVERY mode...   Logfile base name: E00   Log files: <current directory>   System files: <current directory>    Performing soft recovery...   Restore Status (% complete)     0 10 20 30 40 50 60 70 80 90 100   |----|----|----|----|----|----|----|----|----|----|   ...................................................        Operation completed successfully in 5.320 seconds.


A new test with eseutil /mh, the database now comes up as Clean Shutdown .

E:\Program Files\Microsoft\Exchange Server\Mailbox\First Storage Group> eseutil /mh "Mailbox Database.edb"

Extensible Storage Engine Utilities for Microsoft(R) Exchange Server  Version 08.03  Copyright (C) Microsoft Corporation. All Rights Reserved.    Initiating FILE DUMP mode...   Database: Mailbox Database.edb     File Type: Database   Format ulMagic: 0x89abcdef   Engine ulMagic: 0x89abcdef   Format ulVersion: 0x620,12   Engine ulVersion: 0x620,12  Created ulVersion: 0x620,12   DB Signature: Create time:10/09/2010 19:49:24 Rand:1506737 Computer:   cbDbPage: 8192   dbtime: 58058393 (0x375e699)   State: Clean Shutdown   Log Required: 0-0 (0x0-0x0)   Log Committed: 0-0 (0x0-0x0)   Streaming File: No   Shadowed: Yes   Last Objid: 9945   Scrub Dbtime: 0 (0x0)   Scrub Date: 00/00/1900 00:00:00   Repair Count: 0   Repair Date: 00/00/1900 00:00:00   Old Repair Count: 0   Last Consistent: (0xE316,8,1F) 03/13/2012 03:02:58   Last Attach: (0xCE8B,9,86) 01/28/2012 14:30:42   Last Detach: (0xE316,8,1F) 03/13/2012 03:02:58   Dbid: 1   Log Signature: Create time:10/09/2010 19:49:22 Rand:1471753 Computer:   OS Version: (6.0.6002 SP 2 NLS 500100.50100)    Previous Full Backup:   Log Gen: 57985-57990 (0xe281-0xe286) - OSSnapshot   Mark: (0xE287,8,16)   Mark: 03/05/2012 01:00:35    Previous Incremental Backup:   Log Gen: 0-0 (0x0-0x0)   Mark: (0x0,0,0)   Mark: 00/00/1900 00:00:00    Previous Copy Backup:   Log Gen: 0-0 (0x0-0x0)   Mark: (0x0,0,0)   Mark: 00/00/1900 00:00:00    Previous Differential Backup:   Log Gen: 0-0 (0x0-0x0)   Mark: (0x0,0,0)   Mark: 00/00/1900 00:00:00    Current Full Backup:   Log Gen: 0-0 (0x0-0x0)   Mark: (0x0,0,0)   Mark: 00/00/1900 00:00:00    Current Shadow copy backup:   Log Gen: 0-0 (0x0-0x0)   Mark: (0x0,0,0)   Mark: 00/00/1900 00:00:00     cpgUpgrade55Format: 0   cpgUpgradeFreePages: 0  cpgUpgradeSpaceMapPages: 0     ECC Fix Success Count: none   Old ECC Fix Success Count: none   ECC Fix Error Count: none   Old ECC Fix Error Count: none   Bad Checksum Error Count: none  Old bad Checksum Error Count: none    Operation completed successfully in 0.32 seconds.

Started all relevant Exchange Services (MS Exchange Information Store, System Attendant, Transport).

Then mounted the Store file again on Management Console.

It's working!

.

I created this thread only to explain what we did to solve the problem, for archiving purposes and to help others who might be in the same situation.



  • Changed type irahim Tuesday, March 13, 2012 2:47 AM it's not a question, it's a solved case.
  • Edited by irahim Tuesday, March 13, 2012 2:49 AM

Reply:

Great to see you checking the status of the shutdown status with /MH  :)

On a serious note, I don't want to see another post in 12 months time with the same issue.  You really need to work with the hardware vendor to determine why a single drive failure in your RAID 5 array corrupted the database (assuming that this is still the configuration, based off your other thread).  This is not normal and defeats the point of a RAID array. 


Cheers, Rhoderick


------------------------------------

Group Policy Preference Known Issues and Snag List

Hi,

I was wondering if it would be possible for MS to publish a list of known issues and snags related to GPP?

Now that the CSEs have been around for while, it would be nice to see a definitve list of known issues (a lot of which have been posted on this forum) to help stop people having to go through the same testing, searching and head scratching over and over again.

The lack of formal documentation from Microsoft on this subject would suggest that everything works perfectly.  I for one know this not to be the case.

Here are a few 'issues' off the top of my head that I know about (or at least remember) for the benefit of others who may be hitting brick walls:-

  • ODBC settings do not work properly - dropping the 'c' from 'cpassword' in the raw xml fixes this but only until you reopen/reedit the policy itself.
  • Computer Security Group Nesting does not work - if you have an ILT that references a security group which contains other security groups, then any computer objects within any nested groups WILL NOT be targeted by the ILT.  This is a particularly irritating problem which stops me being able to remove a lot of scripting within our environment.
  • Computer Power Preference Policy does not work properly - any settings made here are only applied when no one is logged onto the machine.  This makes it difficult to apply a 'real' per machine power preference policy - especially when you take the problem above into consideration.

If anyone else would like to add more snags etc that they have found with GPP then I at least would be grateful.  If anyone at MS would like to clarify my findings (and any others) as being correct then that would be a start at least.  Who knows, a formal KB article may follow!


Thanks in advance,
Bobby 

  • Changed type Mervyn Zhang Wednesday, September 2, 2009 2:01 AM

Reply:

Hi Bobby,

 

This is a good idea. We're collecting material and plan to publish an article about this topic. For your reference, here are some problems we have encountered:

 

Copy and Paste GPP does not apply with the "apply once and do not reapply" enabled.

 

Problem Description

Customer compains thatwhen using the copy & paste function in GPP editor for items tagged with "Apply once and do not reapply", the GUID which is used to flag a users/clients registry is duplicated. The result is the the 'copied' policy does not be applied. This will have the effect that GPP items created via "Copy&Paste" will not apply on a client that has already processed the original item.

 

Reproduce Steps

1. Try to create a shortcut User Configuration GPP policy "SC1". Enable "apply once and do not reapply". Run "gpupdate /force".
2. Test on clients, SC1 works as expected.
3. Copy "SC1" and paste it in the same policy, rename it to SC2 and rename the Name of shortcut to a new name. All other settings are not changed. Run "gpupdate /force".
4. Log off the user and log on again, SC2 doesn't apply.

 

Workaround

1. After a group policy preference item is pasted, uncheck the "Apply once and do not reapply" option, and click OK.
2. Reopen the property dialog again and recheck the "Apply once and do not reapply" option, and click OK.

 

Terminal Service Targeting item "Client TCP/IP address" does not work properly.

 

Problem Description

Terminal Service Targeting item "Client TCP/IP address" does not work properly..

 

Environment

Windows Server 2008 DC + Windows XP client with GPP extension installed

 

Reproduce Steps

Ø  Create a registry preference item in a GPO on the DC.

Ø  Enable "Item level targeting" and select "Terminal Session".

Ø  Select "Terminal Services" in the "Type or protocol" list box, select "Client TCP/IP address" in the Parameter list box, and fill in correct client IP address scope.

Ø  Logon remotely from a computer whose IP address is 192.168.0.1

Ø  Filters not passed. The preference policy does not apply to the client.

 

The resulting .xml file is like the following:

 

  <?xml version="1.0" encoding="utf-8" ?>

- <RegistrySettings clsid="{A3CCFC41-DFDB-43a5-8D26-0FE8B954DA51}">

- <Registry clsid="{9CD4B2F4-923D-47f5-A062-E897DD1DAD50}" name="stationskennung" status="stationskennung" image="6" changed="2009-06-11 10:26:02" uid="{E44BD141-9FF6-4EA1-89E8-5FEB053044C8}" bypassErrors="1">

  <Properties action="R" displayDecimal="1" default="0" hive="HKEY_CURRENT_USER" key="Software" name="stationskennung" type="REG_SZ" value="herbolzheim" />

- <Filters>

  <FilterTerminal bool="AND" not="0" type="TS" option="IP" min="192.168.0.1" max="192.168.0.10" />

  </Filters>

  </Registry>

  </RegistrySettings>

 

The same problem exists in Vista client even after we disable IPV6 in Vista client.

 

Results:

==============

Filters not passed. The preference policy does not apply to the user. Currently, this group policy preference filter will not work. We will fix it in the next version of Windows.

 

The secondary home page is lost after the "Internet Settings" group policy preference configuration is set even when the "Home Page" setting is deactivated.

 

 Problem Description

Customer uses Group Policy Preference to configure Internet Settings. Whenever users set multiple homepages to open at startup, the secondary homepage is lost after the next group policy refresh. The first homepage stays.

 

Reproduce Steps

1. On a Windows Server 2008 DC, create a group policy to configure the "Internet Settings" group policy preference policy.

[User Configuration\Preferences\Control Panel Settings\Internet Settings]

2. In the General tab, press F8 to ensure the "Home Page" setting is deactivated.

3. Configure any other settings.

4. On a Vista client, configure multiple home pages to start.

5. Refresh group policy by running "gpupdate /force".

6. Open IE and notice that the additional home pages are lost.

 

Workaround

In the InternetSettings.xml file, we noticed the following:

 

Reg id="Homepage" disable="1" type="REG_SZ" hive="HKEY_CURRENT_USER" key="Software\Microsoft\Internet Explorer\Main" name="Start Page" value=""

 

Reg id="SecondaryStartPages" type="REG_MULTI_SZ" hive="HKEY_CURRENT_USER" key="Software\Microsoft\Internet Explorer\Main" name="Secondary Start Pages" value=""

 

Although "Homepage" element has the disable="1" attribute, the "SecondaryStartPages" element does not have this attribute. As a result, the other home page are reset by group policy although customer has deactivated the "Home Page" setting in the Group Policy Preference configuration.

 

We can add the disable="1" attribute to the InternetSettings.xml file manually and it works. However, please note that whenever we change any other settings of "Internet Settings" policy, it is reset and the disable="1" attribute is lost.

 

Thanks.
This posting is provided "AS IS" with no warranties, and confers no rights.

------------------------------------
Reply:
Thanks for these Mervyn.  Glad to hear that something similar is being planned.  :-)

Could you also confirm there are issues with using LDAP ILTs?  If I try to bind to anything other than LDAP: it will fail.


Thanks,
Mike

------------------------------------
Reply:
I see that kb974266 - Group Policy Preferences Client-Side Extension Hotfix Rollup has been released recently.

Is the list of fixes in this hotfix exhaustive or are any of the above issues addressed with this hotfix too?

If not, is there a possibility that this hotfix will be superseeded at some point?


Thanks,
Bobby

------------------------------------
Reply:
Hi Bobby,

As far as I know, more hotfix should be available to fix more problem. It may take some time to test the hotfix before releasing. Thank you for your patient and understanding.

Regards.
This posting is provided "AS IS" with no warranties, and confers no rights.

------------------------------------
Reply:
I looked forward to a future hotfix.  We have group policy preferences active on our terminal servers and it has been causing all user sessions to freeze for several seconds when a user logs in.  Applying kb974266 greatly reduced the time, but a the freeze still occurs.  And the freeze still occurs at full length when manually running gpupdate.

------------------------------------
Reply:
I've confirmed it.  On our terminal servers, the background group policy refresh completely freezes all users for 5 - 11 seconds.  Removing the gpprefcl.dll file completely fixes the problem (but of course no more GPP.)

User policy is refreshed per-user; so 20 connected users means 20 refreshes every 90 minutes and a lot of angry users.  Before installing kb974266, we used to see this during login as well.  That appears to no longer occur. 

------------------------------------
Reply:
Hello,
Any chance that the targeting for Client IP Address will be fixed in a hotfix? Frankly, waiting for the next Windows release is a cop-out.
Thanx!

------------------------------------
Reply:
Hi Mervyn,


KB977983 has been released which fixes some of the problems that have been listed above......but only for Vista!

Is there an eta on a similar hotfix for XP ?  If so, will it be possible to deploy the hotfix using wsus?

Also, you mention a plan to publish a list of all known issues.  Did/will this ever happen?  It would be great to see such article.



Thanks again,

Bobby

------------------------------------
Reply:
Does anyone have any idea whether an equivalent of the KB977983 hotfix will be released for XP?


Bobby

------------------------------------
Reply:
Remember that Windows XP is out of support. Even when opening official support cases at Microsoft you will get this answer.
If they release anything (like KB974266) be thankful, but you cannot claim any fix for XP.
Patrick

------------------------------------
Reply:
I understand that XP is out of support.

However, I also think that if a faulty product is released by a manufacturer, it would be fixed before abandoning it because its now 'out of support'.  Microsoft released the GPP CSEs for XP and, however good/free they, should try to fix them if they are broken as they would for any other (newer) OS products.  I would be grateful if they did (maybe even thankful).

They know (maybe a little too well?) that corporate environments will be using XP for some time to come even if they really want to move to Win7.

I understand that Microsoft's focus will now be with Windows 7 but many companies simply don't have the resources available to move from XP to Windows 7 en masse.

In our environment, it would actually speed up any limited transitions to Windows 7 if the XP CSEs worked properly - we do not want to carry any of the necessary workarounds for XP clients to Windows 7 clients - better to get everything working in XP first.

Another reason would be that, if they do not work as advertised for XP, then how can we be sure they work for Win7?  Confidence is a big factor in any big transistion, even with extensive testing.

If Microsoft have finished with GPP fixes/rollups for XP/2003 maybe they should announce it explicitly.

Cheers,
Bobby 

------------------------------------
Reply:

Further to this, in September last year, Michael Kleef mentions that KB974266 was planned to be available through Windows Update (and therefore wsus?) in this article http://blogs.technet.com/grouppolicy/archive/2009/09/09/group-policy-preferences-client-side-extension-hotfix-rollup-released.aspx

If I search for this KB in the Update Catalog nothing comes back.

I was wondering if there was an eta on it on th release?

 

Cheers,

Bobby 


------------------------------------
Reply:

Further to this, in September last year, Michael Kleef mentions that KB974266 was planned to be available through Windows Update (and therefore wsus?) in this article http://blogs.technet.com/grouppolicy/archive/2009/09/09/group-policy-preferences-client-side-extension-hotfix-rollup-released.aspx

If I search for this KB in the Update Catalog nothing comes back.

I was wondering if there was an eta on it on th release?

 

Cheers,

Bobby 


------------------------------------
Reply:

Is anything ever going to be published regarding these issues?

I see that Windows 7 and Vista have had another hotfix released recently.  Its a pity that nothing got released for XP to fix these issues even though they have been known to lots of admins for quite some time.

If it is too much for Microsoft to release an equivalent hotfix for XP, then the least they should do is publish a 'GPP Known Issues' KB with known workarounds to match.

Maybe then we can turn over the page with GPP.

 

Cheers,

Bobby


------------------------------------
Reply:

He Bobby,

Did you receive any feedback on your request? I'm still searching for a solution regarding the internetsettings.xml (GPO) which can't handle multiple homepage's. I know that there is a workaround but i'm looking for a solution.

Let me know.

Regards,

Pascal


Pascal Vis Field Engineer

------------------------------------
Reply:
Does anyone have any idea whether an equivalent of the KB977983 hotfix will be released for XP?


Bobby
I tried requesting the fix for xp the other day but got fobbed off with the usual XP is out of support.........

------------------------------------

Deal with Sharepoint Throttle Limit in migrations

How is the list throttling case handled for mgiration projects, Normally when compared to other sharepoint project and development activities migrations carry a huge chunk of data from source CMS systems to target SharePoint 2010 sites. How are these cases handled with respect to throtling limit settings.


Regards, Aj (http://www.aj-sharepoint.blogspot.com/) MCTS

Beginning a site in SharePoint

Hi,
I am new to SharePoint. I have set up my server by means of help from some of you guys (here is my previous threads).

Now, here is were all the hard work starts :) Can anyone suggest from where I should start? I've been through some tutorials regarding creating sites, forms etc. 

Any help would be greatly appreciated. 

I think it best to start with a site which is available for all and it will include around 20 to 40 forms (documents) (which can be viewed by all). However, I would also like to create a workflow so if a form is chosen by someone they can fill it in and start a workflow (for approval etc). Obviously different forms would/could have different workflows assigned to them.

The next step is that users will be put into Groups.

For instance:

Group A:5 Users and 1 Manager

Group B:6 Users, 1 Manager etc..

If user 1 from Group A opens a form requesting vacation leave then the workflow should flow to user 4 then Manager from group A.

However, the same process would occur for any user in any group the difference is that the workflow would send it to user 4 of the group that particular user is in etc..

I guess those are the basic steps required at present. Then enhancements can be carried out further along the way. Of course if I am wrong please do let me know.

Thanks!


Reply:

if you are using MOSS 2007:

how to send an email using workflow.

http://office.microsoft.com/en-us/sharepoint-designer-help/send-e-mail-in-a-workflow-HA010239042.aspx

for workflows you can check this blog:

http://www.sheltonblog.com/archive/2007/11/21/how-to-video-building-a-basic-approval-workflow-with-sharepoint.aspx

there are lot of videos available in http://channel9.msdn.com

or if you want to start with SharePoint 2010

http://social.msdn.microsoft.com/Forums/en-US/sharepoint2010programming/thread/a593f71b-d8b9-4469-a146-d18ced0c8ec1

to achieve the workflow scenario you mentioned  .you can create initiation form and ask the user to enter the manager email id and use that email id to send the an request for approving the document.


MCTS,MCPD Sharepoint 2010. My Blog- http://sharepoint-journey.com


If a post answers your question, please click "Mark As Answer" on that post and "Vote as Helpful



------------------------------------
Reply:

Hi,

I have encountered a problem whilst trying to proceed with the above.

From my Central Admin it states that the SERVER FARM Configuration NOT Complete. So I am following the task list that was displayed in the admin task list.

However I have noticed that for some reason even though I am admin... I have limited rights or else something is not working correctly.

I am unable to start a task... i click on edit but nothing happens.. 

I tried to create a site collection but under Web Application am unable to change the selection (it is permanently set to No Selection)..

Am I doing something wrong? Please help me out as I am unable to proceed.. :(

Cheers! 


------------------------------------

USB Monitoring MP

I have created USB Monitoring MP witch detect is usb connected or not on windows computers.

If someone whant you can use it.

Create file with name USB.Monitoring.MP.xml  and put this code   It is for scom2012 (System Center Operations Manager 2012)

<?xml version="1.0" encoding="utf-8"?><ManagementPack ContentReadable="true" SchemaVersion="2.0" OriginalSchemaVersion="1.1" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">   <Manifest>    <Identity>     <ID>USB.Monitoring.MP</ID>     <Version>1.0.0.0</Version>    </Identity>    <Name>USB Monitoring MP</Name>    <References>     <Reference Alias="MicrosoftWindowsLibrary7585010">      <ID>Microsoft.Windows.Library</ID>      <Version>7.5.8501.0</Version>      <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>     </Reference>     <Reference Alias="System">      <ID>System.Library</ID>      <Version>7.5.8501.0</Version>      <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>     </Reference>     <Reference Alias="SystemCenter">      <ID>Microsoft.SystemCenter.Library</ID>      <Version>7.0.8425.0</Version>      <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>     </Reference>     <Reference Alias="Health">      <ID>System.Health.Library</ID>      <Version>7.0.8425.0</Version>      <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>     </Reference>    </References>   </Manifest>   <Monitoring>    <Rules>     <Rule ID="MomUIGeneratedRule575f93246d7b49ce910656b5da6e91eb" Enabled="true" Target="MicrosoftWindowsLibrary7585010!Microsoft.Windows.Computer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">      <Category>Custom</Category>      <DataSources>       <DataSource ID="WMIDS" TypeID="MicrosoftWindowsLibrary7585010!Microsoft.Windows.WmiEventProvider.EventProvider">        <NameSpace>Root\CIMV2</NameSpace>        <Query>select * from __InstanceCreationEvent within 1 where TargetInstance ISA 'Win32_PnPEntity' and TargetInstance.Description='USB Mass Storage Device'</Query>        <PollInterval>60</PollInterval>       </DataSource>      </DataSources>      <WriteActions>       <WriteAction ID="Alert" TypeID="Health!System.Health.GenerateAlert">        <Priority>2</Priority>        <Severity>0</Severity>        <AlertOwner />        <AlertMessageId>$MPElement[Name="MomUIGeneratedRule575f93246d7b49ce910656b5da6e91eb.AlertMessage"]$</AlertMessageId>        <AlertParameters>         <AlertParameter1>$Data/EventData/DataItem/Collection[@Name="TargetInstance"]/Property[@Name="SystemName"]$</AlertParameter1>        </AlertParameters>        <Suppression />        <Custom1 />        <Custom2 />        <Custom3 />        <Custom4 />        <Custom5 />        <Custom6 />        <Custom7 />        <Custom8 />        <Custom9 />        <Custom10 />       </WriteAction>      </WriteActions>     </Rule>     <Rule ID="MomUIGeneratedRuleae992a01ce0844e38cb378625951d15b" Enabled="true" Target="MicrosoftWindowsLibrary7585010!Microsoft.Windows.Computer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">      <Category>Custom</Category>      <DataSources>       <DataSource ID="WMIDS" TypeID="MicrosoftWindowsLibrary7585010!Microsoft.Windows.WmiEventProvider.EventProvider">        <NameSpace>Root\CIMV2</NameSpace>        <Query>select * from __InstanceDeletionEvent within 1 where TargetInstance ISA 'Win32_PnPEntity' and TargetInstance.Description='USB Mass Storage Device'</Query>        <PollInterval>60</PollInterval>       </DataSource>      </DataSources>      <WriteActions>       <WriteAction ID="Alert" TypeID="Health!System.Health.GenerateAlert">        <Priority>2</Priority>        <Severity>0</Severity>        <AlertOwner />        <AlertMessageId>$MPElement[Name="MomUIGeneratedRuleae992a01ce0844e38cb378625951d15b.AlertMessage"]$</AlertMessageId>        <AlertParameters>         <AlertParameter1>$Data/EventData/DataItem/Collection[@Name="TargetInstance"]/Property[@Name="SystemName"]$</AlertParameter1>        </AlertParameters>        <Suppression />        <Custom1 />        <Custom2 />        <Custom3 />        <Custom4 />        <Custom5 />        <Custom6 />        <Custom7 />        <Custom8 />        <Custom9 />        <Custom10 />       </WriteAction>      </WriteActions>     </Rule>    </Rules>   </Monitoring>   <Presentation>    <Folders>     <Folder ID="Folder_ccf693e7846c4a1a8ad9374ac1bfbbfb" Accessibility="Public" ParentFolder="SystemCenter!Microsoft.SystemCenter.Monitoring.ViewFolder.Root" />    </Folders>    <StringResources>     <StringResource ID="MomUIGeneratedRule575f93246d7b49ce910656b5da6e91eb.AlertMessage" />     <StringResource ID="MomUIGeneratedRuleae992a01ce0844e38cb378625951d15b.AlertMessage" />    </StringResources>   </Presentation>   <LanguagePacks>    <LanguagePack ID="ENU" IsDefault="false">     <DisplayStrings>      <DisplayString ElementID="USB.Monitoring.MP">       <Name>USB Monitoring MP</Name>       <Description>12/3/2012    USB Storage Device Is Connected or USB Storage Device Has Been Removed    Giorgi Matakheria - JSC Bank of Georgia</Description>      </DisplayString>      <DisplayString ElementID="Folder_ccf693e7846c4a1a8ad9374ac1bfbbfb">       <Name>USB Monitoring MP</Name>      </DisplayString>      <DisplayString ElementID="MomUIGeneratedRule575f93246d7b49ce910656b5da6e91eb">       <Name>USB Storage Device Is Connected</Name>       <Description>When USB Storage Device Is Connected alert will be generated and send mail.it monitors every 60 seconds .</Description>      </DisplayString>      <DisplayString ElementID="MomUIGeneratedRule575f93246d7b49ce910656b5da6e91eb.AlertMessage">       <Name>USB Storage Device Is Connected</Name>       <Description>Event Description: {0}</Description>      </DisplayString>      <DisplayString ElementID="MomUIGeneratedRule575f93246d7b49ce910656b5da6e91eb" SubElementID="Alert">       <Name>Alert</Name>      </DisplayString>      <DisplayString ElementID="MomUIGeneratedRule575f93246d7b49ce910656b5da6e91eb" SubElementID="WMIDS">       <Name>WMIDS</Name>      </DisplayString>      <DisplayString ElementID="MomUIGeneratedRuleae992a01ce0844e38cb378625951d15b">       <Name>USB Storage Device Has Been Removed</Name>       <Description>USB Storage Device Has Been Removed</Description>      </DisplayString>      <DisplayString ElementID="MomUIGeneratedRuleae992a01ce0844e38cb378625951d15b.AlertMessage">       <Name>USB Storage Device Has Been Removed</Name>       <Description>Event Description: {0}</Description>      </DisplayString>      <DisplayString ElementID="MomUIGeneratedRuleae992a01ce0844e38cb378625951d15b" SubElementID="WMIDS">       <Name>WMIDS</Name>      </DisplayString>      <DisplayString ElementID="MomUIGeneratedRuleae992a01ce0844e38cb378625951d15b" SubElementID="Alert">       <Name>Alert</Name>      </DisplayString>     </DisplayStrings>    </LanguagePack>   </LanguagePacks>  </ManagementPack>

Setup is Split Across Multiple CDs

Setup is Split Across Multiple CDs Lately I've seen a bunch of people hitting installation errors that have to do with the fact th...