| Tonight's episode actually has some SharePoint content. I talk about a problem I encountered with service account permissions. Then I talk about a wrinkle in pointing your SharePoint servers at themselves. I also talk about a graceful way to bring your site down for maintenance. And since everyone is on the edge of their seats waiting to hear how my book's coming along, I give an update. I also mention a great way to help raise some money for charity.
MP3 File
WMV File
M4V (iPod) File
Running Time: 34:48
Links:
Edit Hosts blog post
App_offline file usage
Sponsored by

|
| Once again I’m honored to be speaking at SPTechCon. Those guys just never learn. Below is the sessions I’ll be presenting with my sidekick Shane. Please stop by. SharePoint 2010 Administration: An Advanced Look Full-Day Workshop Sunday, February 26 9:00 AM - 5:00 PM Keynote Monday, February 27 8:45 AM – 9:45 AM Upgrading to SharePoint 2010 Monday, February 27 11:30 AM - 12:45 PM Repeated: Upgrading to SharePoint 2010 Monday, February 27 3:15 PM - 4:30 PM Making peace with the User Profile Service Tuesday, February 28 8:30 AM - 9:45 AM Book Signing "Professional SharePoint 2010 Administration” Tuesday, February 28 11:00 am – 11:15 am SharePoint Storage: RBS for the Masses Tuesday, February 28 11:30 AM - 12:45 PM Because of overlap with the MVP Summit I have to leave Tuesday afternoon. If you’re going to SPTechCon please swing by the ShaerPoint911 booth early in the week and say "Hi.” |
| Today is the 2nd of January, and prime time to look at New Year’s Resolutions, or as I like to think of them, a list of things I’ll do for two, maybe three days tops, then forget all about for 363 (or in this case, 364) days. Losing weight is one of the more common ones. Since we all know none of us is actually going to stick with that (I type as I eat some Christmas fudge) I propose we do some other shrinking, reducing the space SharePoint takes on the C drive of your server. For production SharePoint 2010 servers, the C drive should be at least 80 GB, and this blog post doesn’t change that. However, we shouldn’t waste it. When I do SharePoint 2010 installs I always recommend to my customers that they have a secondary drive. That drive serves a few purposes, and one of them is to serve as a place to store stuff you can move off of your C drive. SharePoint’s logs are a great candidate for that. A couple of years ago I blogged how to do this for SharePoint 2007. Today’s post is how to do it for SharePoint 2010. There are two sets of logs you want to move, the diagnostic logs and the usage logs. An important note is that every machine in the farm must have the same paths for this to work. If one doesn’t have a D drive or something SharePoint will freak out. Here are the steps: Diagnostic logs: Central Admin > Monitoring > Configure Diagnostic Logging (/_admin/metrics.aspx). The setting is the “Trace Log” path at the bottom. I strongly recommend only changing the drive letter. Leave the path alone. It’ll make it easier for you to find things later on. You can also use PowerShell to change this. The cmdlet is Set-SPDiagnosticConfig and the parameter is –LogLocation.
With PowerShell: Set-SPDiagnosticConfig -LogLocation "E:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\LOGS” Usage logs: Central Admin > Monitoring > Configure web analytics and health data collection (/_admin/LogUsage.aspx). The setting is the “Log file location” setting. Set it to the same path you did the Trace Log above. Again, don’t get fancy and put it at something like “D:\SharePoint\Stuff\Things\LogsAreHiddenHere” The PowerShell cmdlet to alter this is Set-SPUsageService and the parameter is –UsageLogLocation.  With PowerShell: Set-SPUsageService -UsageLogLocation "E:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\LOGS\" How it looks:  Your disk savings won’t be crazy big, but every little bit counts. By way of comparison the Logs folder on this web server is taking up 3 GB:  The Usage logs get removed once they’re parsed and the Trace logs in that directory go back to 12/19/2011. Your server will certainly have more traffic than mine does, so your logs will probably be larger. Now, back to that fudge. It’s not going to eat itself, after all. tk |
| New to SharePoint 2010 is one of the most exciting bits of software that I’ve seen since Clippy, the Office Web Applications (OWAs). In case you haven’t heard of them, the OWAs are in browser versions of Word, Excel PowerPoint and OneNote. It gives you the ability to open any of those files inside of your browser without the programs actually installed on your computer. You can also use them on platforms where Office isn’t available, like Linux. They’re available at Docs.com, Windows Live as well as Office365, but the best part of all is that the OWAs can be installed in SharePoint. In YOUR SharePoint farm. I know, pretty exciting. Unfortunately the licensing and downloading of the OWAs is nearly as confusing as explaining the difference between a site collection and a web to your cat. There are good documents covering planning and deployment, but information how to download them is scant. Luckily for you, dear reader, not only have I cracked the code OWA download code, but I talked one of my customers into letting me take screenshots while we did it. I promised I wouldn’t mention their name. But thanks for the screenshots.  The OWAs are not licensed with SharePoint, nor can you buy licenses for it separately. It is only licensed with Office 2010 Pro Plus with volume licensing. That’s why the downloading of the software and licensing is not intuitive, it’s technically part of the Office client. To download the OWAs and their license key, start by browsing to the volume licensing site at https://www.microsoft.com/licensing. You’ll need to log in with your volume licensing account. Once you’re in there, click “Downloads and Keys” from the top menu.  Then filter on Office products, find the Office 2010 Professional Pro product and click Download.  Then choose “Web Browser” and verify the operating system type is set to “32 bit.”  Here’s where it gets hysterical. I hope you’re sitting down. We picked the 32 bit type, right? And SharePoint 2010 is only 64 bit, right? Yup, you have to pick the 32 bit architecture to get the 64 bit download. Once you navigate that little bit of ridiculousness, click the button to download the ISO. If you don’t see the OWA link, it probably means you aren’t licensed for it.  To install the software you’ll need a key. Click the Key link to get the installation key.  Like any good software these days, there’s a few patches available for the OWAs. Go to my SharePoint 2010 Builds page to see what the latest patch is. Then you can slipstream the patch into the OWA install directory. Now your users will be confounded and amazed when they can edit Office documents right in the browser. Expect to spend some time being hoisted around on their shoulders in appreciation. tk |
| We’ve all seen it, it happens every day. A coworker gets mad, throws a burrito at the boss and the next thing you know they’re getting escorted out by security. If that person know your SharePoint service account passwords, and the burrito was big enough, your boss might want you to change them all to make sure the burrito-thrower doesn’t get into SharePoint and cause some problems. In this blog post I’ll walk through how to change all of the passwords in a SharePoint 2010 farm without it exploding in your face Wiley Coyote style.
When writing this blog post I’m basing it on the accounts I suggest in my SharePoint 2010 Service Accounts blog post. If you didn’t follow that guide, your experience might be a little bit different. My intention with this guide is to allow you to change your passwords with as little trouble and user downtime as absolutely possible. I recently walked through all of these steps on a customer’s farm and it went very smoothly and with no problems. Without my guiding hand though, your mileage may vary.
It’s important to understand how SharePoint stores and changes passwords in case there’s trouble. The passwords themselves are stored, encrypted, in the Config DB. This is necessary so that you don’t have to enter every password when you join a new server to the farm. SharePoint 2003 was this way and it was maddening. In SharePoint 2010 (and SharePoint 2007 to a point) the passwords are stored in the Config DB, and the servers in the farm are updated via Timer Jobs. When you change any passwords they’re changed in the Config DB and then a Timer Job is created that is run on all the servers in the farm. When you’re executing the steps below, I highly recommend you do them one at a time, and make sure one password is changed on every machine before moving on to the next password. You can keep track of the Timer Jobs in Central Admin > Monitoring > Check Job Status (/admin/Timer.aspx). If one of the Password Timer Jobs fails, do not pass Go, do not collect $200, and do not change the next password. Figure out why the job failed and fix it before moving on.
With that, here’s a list of the accounts, the order I changed them in, how I changed them, and how I verified it worked.
Content crawl account (sp_content)
How to change it
This account is used by the search service to access the content it crawls. Since it isn’t a managed account we have to deal with it manually. We know it’s not a managed account because we didn’t pick it from a list, and we had to enter its password when we set it up. If you don’t have access at the domain level to change other account’s passwords, you can still change this one, as long as it can change its own password. On any domain machine hit Ctrl-Alt-Delete and click “Change a password…” When the change password box comes up, put domain\sp_search (or any of the other accounts we’re changing) in the account box and change the password. This is a pretty low profile account and can safely be changed during the work day.

Once the password is changed in AD we can change it in SharePoint. Go to Central Admin > Application Management > Manage Service Applications (/_admin/ServiceApplications.aspx). Click your Search Service App. For each of your Search service applications there is a Default Content Crawl account. It’s listed on the front of the Search Admin page. Click it to change its password (or identity). Put the new password in. If you have any Crawl Rules that define another account, you’ll need to go through this process again. Also, if you have multiple search service apps, and they use different default crawl accounts you’ll need to repeat the process.
How to check it
This one is pretty easy to check. After AD and SharePoint have both been updated, just kick off a full crawl. If the passwords aren’t correct or don’t match the crawl will end very quickly and you’ll get lots of top level errors.
User Profile Sync Account (sp_userprofile)
This account is used by the User Profile Sync Service to read the Active Directory changelog, read user information and optionally write user information back to Active Directory. Like the sp_search account above this one is pretty safe to do during the day.
How to change it
You may also have to use the Ctrl-Alt-Delete trick above to change the password for this account in AD. After the password is changed go to your User Profile Service App (UPA) and go to the Configure Synchronization Connections page. Choose the domain connection that uses sp_userprofile and click Edit. Type the new password twice and click Populate Containers. If the password works, your OUs will show up along with the ones you’re syncing will be checked. Click OK to save the new password.
How to check it
Go back into the User Profile Sync service application and manually start a profile sync. A full or incremental will work. If you want to watch the sync as it happens, fire up "C:\Program Files\Microsoft Office Servers\14.0\Synchronization Service\UIShell\miisclient.exe" on the machine where the User Profile Sync Service Instance (UPS) is running. That’ll give you more information than Central Admin. If they sync runs, the password change is good.
Managed Accounts (sp_farm, sp_webapp, sp_serviceapps, sp_search)
This section should be how every account in SharePoint 2010 is handled. There should be no need for this blog post at all because of the magic of managed accounts. This functionality is new to SharePoint 2010 and the idea is that you enter a username and password in one place, then pick it from a list everywhere in SharePoint where you need it. There is also the option for SharePoint to manage the passwords. Since the username and password only exist in one place, it’s easy to update. They’re halfway there in this version. You’ll notice the sp_content and sp_userprofile accounts are not managed accounts, so we still have to change them manually. We’re getting closer though, there is hope.
How to change it
To change a managed account password go to Central Admin > Security > Configure Managed Accounts (/_admin/MangedAccounts.aspx). Click the Edit icon next to the account whose password you want to change.

This brings up the next screen.

There are three options for changing the password. The first, “Generate New Password,” tells SharePoint to go ahead and make up a password, set it in AD and change SharePoint’s stored copy of the password to match it. I was curious how strong these passwords are. Using a script I had (link removed due to a request from the script’s author) I decrypted the password SharePoint generated. I was pleasantly surprised.

The password SharePoint generated is 35 characters long, with mixed case letters, numbers, symbols and I can’t be sure, but I think a couple of clicking sounds. As this script shows, should you ever need to discover that password, it’s possible. Be careful using this option with the sp_farm account. If you don’t have the script I have (and I can’t give it to you, sorry ) you won’t be able to discover the sp_farm account’s password and you’ll need to know it for the next section.
Your second option, “Set account to new value,” is like the first option, except you need to come up with the password on your own. SharePoint will change the password in AD and in SharePoint. It should be noted that for option #1 or #2 to work, the service account must have permission to change its own password, which is the Active Directory default.
The third option, “Use existing password” is what you’d use if the password has already been changed in AD and you just need to update SharePoint.
On a side note, at the bottom of this page is a list of all the components in the farm that are using this account as a managed account. This gives you a quick list of things to check after you’ve change the password.
Change these service accounts one at a time. After you’ve changed one account monitor the Timer Job and make sure it succeeds on every member of the farm. Then check its functionality to make sure everything work. Once that’s done, move on to the next managed account.
How to check it
Check the services that use each managed account to see if the password change made its way through. If you want to be super positive, reboot all your boxes. The ensures all the processes are restarted and forced to log back in with the new password.
User Profile Sync Service account (sp_farm)
The farm account (sp_farm) is a managed account, and we changed its password in the previous step. However, the Farm account is used by the User Profile Sync Service (UPS), but not as a managed account. Because we had to manually enter the password when we started the UPS we’ll have to enter the new one there too.
How to change it
Go to Central Admin > System Settings > Manage Services on Server (/_admin/Server.aspx). This page lets you start and stop service instances on each machine in your farm. From the “Server” dropdown choose the server that the UPS is running on. Hopefully its state is “started.” Click “Stop” and let the UPS stop. After it has stopped, click start to start it back up. Hopefully you’re at the June 2011 CU (14.0.6106) or later. The UPS could be a bit of a bugger to get started in earlier builds. Use Spence’s guide to brush up on getting it started. The UPS must run as the Farm account, and you must supply that account when you start it back up. If you chose the “Generate a password” option in the previous step for the Farm account you might be in a bit of a pickle, since you don’t know what the password is. If you have access to the script I referenced above (still can’t give it to you, still sorry about that) you will be able to discover it. If not, you’ll need to change it to something you do know. After you’ve put the new Farm account password in let the UPS start. If everything goes well this will take a few minutes. You can use the MSDN ULS Log Viewer to watch the service instance start and watch for errors.
How to check it
The first check is to make sure the User Profile Sync Service does indeed start. If it does, that’s a good sign. If it does not, it might not necessarily be a password issue. Reference Spence’s post above for troubleshooting steps. After the UPS is started, do a profile sync to be absolutely sure the password change is working.
Install Account (sp_install)
This is the account that’s used to install SharePoint. This is an easy one, as SharePoint (2010, at least) doesn’t store its password anywhere.
How to change it
Log in as sp_install, hit Ctrl-Alt-Delete and Change Password. Type in your new password. Twice. Correctly.
How to check it
Log out, log back in as sp_install. 
Farm Passphrase
Not really an account, but I thought I’d include it just the same. This passphrase is created when the farm is created, and is needed when a SharePoint server is added to a farm.
How to change it
Since this isn’t an account, you don’t need to do anything in Active Directory. To change the farm passphrase, use the PowerShell cmdlet Set-SPPassphrase. Since PowerShell hates it when you enter passwords in plain text there a couple of hoops you have to jump through. Type “help set-sppassphrase –examples” to see how to use it.
How to check it
I don’t know of any way to check this other than adding a new machine to the farm.
Secure Store Password
Like the farm passphrase, this isn’t a user account, but it’s a password that’s used to encrypt settings
How to change it
Go to Central Admin > Application Management > Manage Service Applications (/_admin/ServiceApplications.aspx). Click your Secure Store Service App. Click “Generate New Key” in the ribbon.

Type the new password in twice and click ok. SharePoint will reencrypt the contents of the Secure Store database.
How to check it
I haven’t tested this one, but I assume if the password is not correct, the service application won’t display the targets. That’s how it acts when you attach a Secure Store database but haven’t put in the password yet.
Bonus! SQL Server Reporting Services
This isn’t a SharePoint account, but I like you guys, so I thought I’d include it anyway. The customer I was doing this with (no burritos were involved, I made all that up) also had SSRS running. In a weird twist, SSRS was NOT running in SharePoint integrated mode.
How to change it
The directions for changing the SSRS password were pretty simple. Simply rerun the SSRS config tool and put in the new password. I followed the instructions in this MSDN article.
How to check it
Hit the SSRS Reports URL. If it comes up, the password change worked.
Those of you that attempted to change passwords in SharePoint 2007 can appreciate how simple and straightforward this process is in SharePoint 2010. There’s still room for improvement, but it’s pretty solid. The process I used above worked the very first time for every account involved, and resulted in very little end user downtime. While changing all the service account passwords is a big deal, using these steps can make it a low impact, and low stress event.
tk
Edit: Removed references to a PowerShell script that decrypts passwords. I was asked by the script’s author not to publish it. 12/18/2011 |
| There comes a time in every SharePoint 2010 admin’s life when they must make a choice. Continue to be pushed around by that bully the User Profile Service Application (UPA) , or fight back, give it a bloody nose and show it who’s boss. Today’s blog post is about the latter. At various times the UPA gets fuzz in its head and won’t behave. When that’s the case, you can often fix the issue by blowing the UPA away and recreating it. When you do that you lose all your existing profile information. If your profile information consists entirely of information pulled from Active Directory then it’s no big loss. That’s not the case with most farms though. Users have augmented their profile information with pictures or other information, and there’s also the whole social aspect. The UPA stores all the tags and notes and activities. You don’t want to lose that. When things go missing in SharePoint, users lose faith in the platform. We don’t want that. This blog post will walk you through how to rebuild your UPA without losing any previous data.
The first step is to copy down your existing settings. This is part of what we lose when we rebuild the UPA, so we need to scribble them down so we can put them back in when we rebuild. This usually is just your AD connection settings, though there may also be some connection filters or BCS connections to keep track of. You should probably also eyeball your other settings like preferred search center, MySite host, and any audiences you may have added.
After you have copied down your settings it's time to bite the bullet and delete the offending Service App. Go to Central Admin > Manage Service Applications and highlight User Profile Service Application. Then click Delete in the Ribbon.

This next part is INCREDIBLY important. Please pay very close attention. No NOT click the checkbox in the dialog box that pops up. That leaves the databases that we need in place.

Verify that box is NOT checked and click OK.
After the Service Application is deleted, head over to SQL Management Studio, and attach to the database instance where your UPA databases are. You will see three UPA related databases; profile, social and sync. Here’s a rough breakdown of what each database does:
Profile – Stores user information and activity feed
Social – Stores tags and notes
Sync – Staging area for FIM while it’s syncing between AD and SharePoint
You can find more information about each database in the TechNet article Database types and descriptions (SharePoint Server 2010).
The Profile and Social DBs have the important stuff in them, and thankfully the User Profile service can reuse them. The Sync database is trash, so we can delete it.

Go ahead, delete that mother.
You might have to make a couple of changes to the delete options:

Now the destructive part is over. The demons have been exorcized. You can breathe easy. The worst part is over.
Now it’s time for the phoenix to rise. We need to rebuilt our UPA, bigger, stronger than before. Go to back to Central Admin > Manage Service Applications and create a new User Profile Service Application.

When the dialog comes up, we’re going to give it the same database names the old UPA had. The new UPA will reuse the Profile and Social DBs, which will maintain that information. Since we deleted the Sync DB it can’t reuse that, so it will recreate it.Here are some shoddy screenshots that show the settings.




You’ll notice I also had to put in the My Site Host URL and My Site Managed Path location.
After the new service application is created you may have to refresh the Service Applications page before it will show up. While you’re in there let’s go ahead and give the Search crawler account permission to crawl our new server application. To do that, highlight the new service application and click “Administrators” in the Ribbon.

Then add your default crawl account and give it the “Retrieve People Data for Search Crawlers” permission.

Now click the service application and finish its configuration. In most cases this will mostly be recreating the Active Directory connection. When you open the UPA and look in the upper right corner you should see a bunch of profiles already exist. This is proof that the old profile database is being used, and that we still have all the old profile information.

At this point go ahead and recreate your AD connection and any other settings you copied down earlier. After you get those set, run a full sync and verify it all works. The profile count shouldn’t change, since we’re using the same Profile DB. You’ll have to watch the Sync in miisclient.exe to see how it goes. After the Sync gets finished run a full crawl with Search to make sure that all works.
Now hopefully whatever problem you had with the UPA is now fixed, and you have another notch on your keyboard from where you’ve done battle with the User Profile Service and won.
tk
edit: I meant to mention in this that this same technique can be used to replicate the UPA in another environment. That environment could be testing or even a disaster recovery site. |
ShortUrl \_layouts\Images\ShortUrl\ShortUrl.png /_LAYOUTS/ShortUrl/Default.aspx?ListItemID={ItemId}&ItemUrl={ItemUrl} 0x0 0x0 ContentType 0x01 105 Copy ShortUrl \_layouts\Images\ShortUrl\ShortUrl_Copy.png /_layouts/ShortUrl/copytoclipboard.aspx?ListItemID={ItemId}&ItemUrl={ItemUrl} 0x0 0x0 ContentType 0x01 106 Copy OWA ShortUrl \_layouts\Images\ShortUrl\ShortUrl_Copy.png /_layouts/ShortUrl/CopyToClipBoardOWA.aspx?ListItemID={ItemId}&ItemUrl={ItemUrl} 0x0 0x0 ContentType 0x0101 106 Email ShortUrl \_layouts\Images\ShortUrl\ShortUrl_Send.png /_layouts/ShortUrl/EmailLink.aspx?ListItemID={ItemId}&ItemUrl={ItemUrl} 0x0 0x0 ContentType 0x01 106 Edit in Browser /blog/_layouts/xlviewer.aspx?id={ItemUrl}&DefaultItemOpen=1&Edit=1 0x0 0x25 FileType xlsx 256 Edit in Browser /blog/_layouts/xlviewer.aspx?id={ItemUrl}&DefaultItemOpen=1&Edit=1 0x0 0x25 FileType xlsm 256 Edit in Browser /blog/_layouts/xlviewer.aspx?id={ItemUrl}&DefaultItemOpen=1&Edit=1 0x0 0x25 FileType xlsb 256 Edit in Browser /blog/_layouts/xlviewer.aspx?id={ItemUrl}&DefaultItemOpen=1&Edit=1 0x0 0x25 FileType ods 256 Edit in Browser /blog/_layouts/PowerPoint.aspx?PowerPointView=EditView&PresentationId={ItemUrl}&source={Source} 0x0 0x4 FileType pptx 256 Edit in Browser /blog/_layouts/PowerPoint.aspx?PowerPointView=EditView&PresentationId={ItemUrl}&source={Source} 0x0 0x4 FileType ppsx 256 Edit in Browser /blog/_layouts/PowerPoint.aspx?PowerPointView=EditView&PresentationId={ItemUrl}&source={Source} 0x0 0x4 FileType odp 256 View in Browser {SiteUrl}/_layouts/WordViewer.aspx?id={ItemUrl}&source={Source} 0x0 0x1 FileType docx 255 Edit in Browser {SiteUrl}/_layouts/WordEditor.aspx?id={ItemUrl}&source={Source} 0x0 0x4 FileType docx 255 View in Browser {SiteUrl}/_layouts/WordViewer.aspx?id={ItemUrl}&source={Source} 0x0 0x1 FileType doc 255 View in Browser {SiteUrl}/_layouts/WordViewer.aspx?id={ItemUrl}&source={Source} 0x0 0x1 FileType dotx 255 View in Browser {SiteUrl}/_layouts/WordViewer.aspx?id={ItemUrl}&source={Source} 0x0 0x1 FileType dot 255 View in Browser {SiteUrl}/_layouts/WordViewer.aspx?id={ItemUrl}&source={Source} 0x0 0x1 FileType dotm 255 View in Browser {SiteUrl}/_layouts/WordViewer.aspx?id={ItemUrl}&source={Source} 0x0 0x1 FileType docm 255 Edit in Browser {SiteUrl}/_layouts/WordEditor.aspx?id={ItemUrl}&source={Source} 0x0 0x1 FileType docm 255 View in Browser {SiteUrl}/_layouts/WordViewer.aspx?id={ItemUrl}&source={Source} 0x0 0x1 FileType odt 255 Edit in Browser {SiteUrl}/_layouts/WordEditor.aspx?id={ItemUrl}&source={Source} 0x0 0x4 FileType odt 255 View in Browser {SiteUrl}/_layouts/OneNote.aspx?id={ItemUrl}&Edit=0&source={Source} 0x0 0x1 FileType one 255 Edit in Browser {SiteUrl}/_layouts/OneNote.aspx?id={ItemUrl}&Edit=1&source={Source} 0x0 0x4 FileType one 255 View in Browser {SiteUrl}/_layouts/OneNote.aspx?id={ItemUrl}&Edit=0&source={Source} 0x0 0x1 ProgId OneNote.Notebook 252 Edit in Browser {SiteUrl}/_layouts/OneNote.aspx?id={ItemUrl}&Edit=1&source={Source} 0x0 0x4 ProgId OneNote.Notebook 254 Compliance Details javascript:commonShowModalDialog('{SiteUrl}/_layouts/itemexpiration.aspx?ID={ItemId}&List={ListId}', 'center:1;dialogHeight:500px;dialogWidth:500px;resizable:yes;status:no;location:no;menubar:no;help:no', function GotoPageAfterClose(pageid){if(pageid == 'hold') {STSNavigate(unescape(decodeURI('{SiteUrl}'))+'/_layouts/hold.aspx?ID={ItemId}&List={ListId}'); return false;} if(pageid == 'audit') {STSNavigate(unescape(decodeURI('{SiteUrl}'))+'/_layouts/Reporting.aspx?Category=Auditing&backtype=item&ID={ItemId}&List={ListId}'); return false;} if(pageid == 'config') {STSNavigate(unescape(decodeURI('{SiteUrl}'))+'/_layouts/expirationconfig.aspx?ID={ItemId}&List={ListId}'); return false;}}, null); return false; 0x0 0x1 ContentType 0x01 898 View in Browser /blog/_layouts/xlviewer.aspx?id={ItemUrl}&DefaultItemOpen=1 0x0 0x1 FileType xlsx 255 View in Browser /blog/_layouts/xlviewer.aspx?id={ItemUrl}&DefaultItemOpen=1 0x0 0x1 FileType xlsm 255 View in Browser /blog/_layouts/xlviewer.aspx?id={ItemUrl}&DefaultItemOpen=1 0x0 0x1 FileType xlsb 255 View in Browser /blog/_layouts/xlviewer.aspx?id={ItemUrl}&DefaultItemOpen=1 0x0 0x1 FileType ods 255 View in Browser /blog/_layouts/PowerPoint.aspx?PowerPointView=ReadingView&PresentationId={ItemUrl}&source={Source} 0x0 0x1 FileType pptx 255 View in Browser /blog/_layouts/PowerPoint.aspx?PowerPointView=ReadingView&PresentationId={ItemUrl}&source={Source} 0x0 0x1 FileType ppt 255 View in Browser /blog/_layouts/PowerPoint.aspx?PowerPointView=ReadingView&PresentationId={ItemUrl}&source={Source} 0x0 0x1 FileType pptm 255 View in Browser /blog/_layouts/PowerPoint.aspx?PowerPointView=ReadingView&PresentationId={ItemUrl}&source={Source} 0x0 0x1 FileType ppsx 255 View in Browser /blog/_layouts/PowerPoint.aspx?PowerPointView=ReadingView&PresentationId={ItemUrl}&source={Source} 0x0 0x1 FileType ppsm 255 View in Browser /blog/_layouts/PowerPoint.aspx?PowerPointView=ReadingView&PresentationId={ItemUrl}&source={Source} 0x0 0x1 FileType pps 255 View in Browser /blog/_layouts/PowerPoint.aspx?PowerPointView=ReadingView&PresentationId={ItemUrl}&source={Source} 0x0 0x1 FileType potx 255 View in Browser /blog/_layouts/PowerPoint.aspx?PowerPointView=ReadingView&PresentationId={ItemUrl}&source={Source} 0x0 0x1 FileType potm 255 View in Browser /blog/_layouts/PowerPoint.aspx?PowerPointView=ReadingView&PresentationId={ItemUrl}&source={Source} 0x0 0x1 FileType pot 255 View in Browser /blog/_layouts/PowerPoint.aspx?PowerPointView=ReadingView&PresentationId={ItemUrl}&source={Source} 0x0 0x1 FileType odp 255 |
|
|
|
|
|
My latest book has been released. I present... Inside SharePoint Administration. Shane Young, Steve Caravajal and I packed every trick and tip we know into this little number. You can order it from Amazon, or wherever you buy books.
Enjoy,
tk
|
|
|
|
|
2/26/2012 12:00 AM
| |
SPTechCon
SPTechCon in San Francisco. Shane and I will be pouring out the SharePoint kool-aid in large glasses and will be doing the keynote address too.
|
|
3/19/2012 12:00 AM
| |
MS Project Conference
|
|
5/14/2012 12:00 AM
| |
SharePoint Summit
|
|
ShortUrl \_layouts\Images\ShortUrl\ShortUrl.png /_LAYOUTS/ShortUrl/Default.aspx?ListItemID={ItemId}&ItemUrl={ItemUrl} 0x0 0x0 ContentType 0x01 105 Copy ShortUrl \_layouts\Images\ShortUrl\ShortUrl_Copy.png /_layouts/ShortUrl/copytoclipboard.aspx?ListItemID={ItemId}&ItemUrl={ItemUrl} 0x0 0x0 ContentType 0x01 106 Copy OWA ShortUrl \_layouts\Images\ShortUrl\ShortUrl_Copy.png /_layouts/ShortUrl/CopyToClipBoardOWA.aspx?ListItemID={ItemId}&ItemUrl={ItemUrl} 0x0 0x0 ContentType 0x0101 106 Email ShortUrl \_layouts\Images\ShortUrl\ShortUrl_Send.png /_layouts/ShortUrl/EmailLink.aspx?ListItemID={ItemId}&ItemUrl={ItemUrl} 0x0 0x0 ContentType 0x01 106 Edit in Browser /blog/_layouts/xlviewer.aspx?id={ItemUrl}&DefaultItemOpen=1&Edit=1 0x0 0x25 FileType xlsx 256 Edit in Browser /blog/_layouts/xlviewer.aspx?id={ItemUrl}&DefaultItemOpen=1&Edit=1 0x0 0x25 FileType xlsm 256 Edit in Browser /blog/_layouts/xlviewer.aspx?id={ItemUrl}&DefaultItemOpen=1&Edit=1 0x0 0x25 FileType xlsb 256 Edit in Browser /blog/_layouts/xlviewer.aspx?id={ItemUrl}&DefaultItemOpen=1&Edit=1 0x0 0x25 FileType ods 256 Edit in Browser /blog/_layouts/PowerPoint.aspx?PowerPointView=EditView&PresentationId={ItemUrl}&source={Source} 0x0 0x4 FileType pptx 256 Edit in Browser /blog/_layouts/PowerPoint.aspx?PowerPointView=EditView&PresentationId={ItemUrl}&source={Source} 0x0 0x4 FileType ppsx 256 Edit in Browser /blog/_layouts/PowerPoint.aspx?PowerPointView=EditView&PresentationId={ItemUrl}&source={Source} 0x0 0x4 FileType odp 256 View in Browser {SiteUrl}/_layouts/WordViewer.aspx?id={ItemUrl}&source={Source} 0x0 0x1 FileType docx 255 Edit in Browser {SiteUrl}/_layouts/WordEditor.aspx?id={ItemUrl}&source={Source} 0x0 0x4 FileType docx 255 View in Browser {SiteUrl}/_layouts/WordViewer.aspx?id={ItemUrl}&source={Source} 0x0 0x1 FileType doc 255 View in Browser {SiteUrl}/_layouts/WordViewer.aspx?id={ItemUrl}&source={Source} 0x0 0x1 FileType dotx 255 View in Browser {SiteUrl}/_layouts/WordViewer.aspx?id={ItemUrl}&source={Source} 0x0 0x1 FileType dot 255 View in Browser {SiteUrl}/_layouts/WordViewer.aspx?id={ItemUrl}&source={Source} 0x0 0x1 FileType dotm 255 View in Browser {SiteUrl}/_layouts/WordViewer.aspx?id={ItemUrl}&source={Source} 0x0 0x1 FileType docm 255 Edit in Browser {SiteUrl}/_layouts/WordEditor.aspx?id={ItemUrl}&source={Source} 0x0 0x1 FileType docm 255 View in Browser {SiteUrl}/_layouts/WordViewer.aspx?id={ItemUrl}&source={Source} 0x0 0x1 FileType odt 255 Edit in Browser {SiteUrl}/_layouts/WordEditor.aspx?id={ItemUrl}&source={Source} 0x0 0x4 FileType odt 255 View in Browser {SiteUrl}/_layouts/OneNote.aspx?id={ItemUrl}&Edit=0&source={Source} 0x0 0x1 FileType one 255 Edit in Browser {SiteUrl}/_layouts/OneNote.aspx?id={ItemUrl}&Edit=1&source={Source} 0x0 0x4 FileType one 255 View in Browser {SiteUrl}/_layouts/OneNote.aspx?id={ItemUrl}&Edit=0&source={Source} 0x0 0x1 ProgId OneNote.Notebook 252 Edit in Browser {SiteUrl}/_layouts/OneNote.aspx?id={ItemUrl}&Edit=1&source={Source} 0x0 0x4 ProgId OneNote.Notebook 254 Compliance Details javascript:commonShowModalDialog('{SiteUrl}/_layouts/itemexpiration.aspx?ID={ItemId}&List={ListId}', 'center:1;dialogHeight:500px;dialogWidth:500px;resizable:yes;status:no;location:no;menubar:no;help:no', function GotoPageAfterClose(pageid){if(pageid == 'hold') {STSNavigate(unescape(decodeURI('{SiteUrl}'))+'/_layouts/hold.aspx?ID={ItemId}&List={ListId}'); return false;} if(pageid == 'audit') {STSNavigate(unescape(decodeURI('{SiteUrl}'))+'/_layouts/Reporting.aspx?Category=Auditing&backtype=item&ID={ItemId}&List={ListId}'); return false;} if(pageid == 'config') {STSNavigate(unescape(decodeURI('{SiteUrl}'))+'/_layouts/expirationconfig.aspx?ID={ItemId}&List={ListId}'); return false;}}, null); return false; 0x0 0x1 ContentType 0x01 898 View in Browser /blog/_layouts/xlviewer.aspx?id={ItemUrl}&DefaultItemOpen=1 0x0 0x1 FileType xlsx 255 View in Browser /blog/_layouts/xlviewer.aspx?id={ItemUrl}&DefaultItemOpen=1 0x0 0x1 FileType xlsm 255 View in Browser /blog/_layouts/xlviewer.aspx?id={ItemUrl}&DefaultItemOpen=1 0x0 0x1 FileType xlsb 255 View in Browser /blog/_layouts/xlviewer.aspx?id={ItemUrl}&DefaultItemOpen=1 0x0 0x1 FileType ods 255 View in Browser /blog/_layouts/PowerPoint.aspx?PowerPointView=ReadingView&PresentationId={ItemUrl}&source={Source} 0x0 0x1 FileType pptx 255 View in Browser /blog/_layouts/PowerPoint.aspx?PowerPointView=ReadingView&PresentationId={ItemUrl}&source={Source} 0x0 0x1 FileType ppt 255 View in Browser /blog/_layouts/PowerPoint.aspx?PowerPointView=ReadingView&PresentationId={ItemUrl}&source={Source} 0x0 0x1 FileType pptm 255 View in Browser /blog/_layouts/PowerPoint.aspx?PowerPointView=ReadingView&PresentationId={ItemUrl}&source={Source} 0x0 0x1 FileType ppsx 255 View in Browser /blog/_layouts/PowerPoint.aspx?PowerPointView=ReadingView&PresentationId={ItemUrl}&source={Source} 0x0 0x1 FileType ppsm 255 View in Browser /blog/_layouts/PowerPoint.aspx?PowerPointView=ReadingView&PresentationId={ItemUrl}&source={Source} 0x0 0x1 FileType pps 255 View in Browser /blog/_layouts/PowerPoint.aspx?PowerPointView=ReadingView&PresentationId={ItemUrl}&source={Source} 0x0 0x1 FileType potx 255 View in Browser /blog/_layouts/PowerPoint.aspx?PowerPointView=ReadingView&PresentationId={ItemUrl}&source={Source} 0x0 0x1 FileType potm 255 View in Browser /blog/_layouts/PowerPoint.aspx?PowerPointView=ReadingView&PresentationId={ItemUrl}&source={Source} 0x0 0x1 FileType pot 255 View in Browser /blog/_layouts/PowerPoint.aspx?PowerPointView=ReadingView&PresentationId={ItemUrl}&source={Source} 0x0 0x1 FileType odp 255 |
|
|
|