The well known way to do it is the IISreset command. Huge overhead given that it incorporates other IIS processes running on the FIM Server. Recently my IISreset began to fail with a 1018 error. It would still complete but I was getting all sorts of weird results afterwards. For instance for an RCDC change I would find that the changes will not reflect until I restart the FIm service.
Well what I really want is to restart my FIM App pool, there is a command tool that comes with IIS which can do this, its call “appcmd”. Its located in c:\windows\system32. So I wrote a batch file with two commands
C:\Windows\System32\inetsrv\appcmd.exe stop apppool /apppool.name:fimapppool
C:\Windows\System32\inetsrv\appcmd.exe start apppool /apppool.name:fimapppool
So I run the batch file for the refresh