“Automating SharePoint 2010 with Windows PowerShell 2.0” Now Available (and the Bruins win the Cup!)
This week was a particularly good week – one that I’ve been waiting to have for a *very* long time. Many who know me know that I’m a huge Boston Bruins fan – I grew up in New Hampshire and have bled black and gold my whole life (even during those late ‘90s and early ‘00 years when many were ashamed to admit they were Bruins fans); well this past Wednesday, after 39 years, the Bruins finally brought Lord Stanley’s Cup home to Boston! For those that don’t follow hockey this probably doesn’t mean much – but to a true hockey fan this is way greater than the Super Bowl or the World Cup or anything like that – and for someone from Boston, the first US based NHL team, it’s that much greater. So with that win my week was looking pretty good – and then Thursday came and, still high from the win, I finally got my own physical copy of the book which I (and my co-author, Shannon Bray) spent so much time working on over the last year. And that brings me to the real purpose of this post – to officially announce the release of the book!
The book actually released earlier last week but due to a minor miscommunication I didn’t get my author copy of the book until just this Thursday – and I didn’t want to put this together until I actually had the thing in my hands. Before I say anything else I want to first thank my co-author, Shannon Bray – I can get pretty nit-picky with technical stuff like this and Shannon was great in how receptive he was to any feedback I had with his chapters. I also want to thank Spencer Harbar for helping with the technical reviews of the book – Spence wasn’t able to review everything we wrote due to the way the edit process works with Sybex but I believe that the book is greatly improved due to his contributions (if there’s an error in the book you can assume that’s something Spence didn’t get to review
). And of course I need to thank the whole Sybex team for making the book possible.
Okay, enough of that – let’s talk about what’s in the book. Let me first provide you with some helpful links to where you can purchase the book or download the supporting materials and preview chapters and whatnot:
- Buy the book from Amazon
- Buy the book from Sybex – this is also the “official” book site and where you can find all the downloads
- Chapter 1 – Windows PowerShell 101 (PDF)
- Index (PDF)
- Table of Contents (PDF)
- Appendix A – Creating Custom Cmdlets (PDF)
There’s also supposed to be a ton of sample scripts available for download but for some reason those haven’t made it up on the book’s site yet (I’ve got an inquiry into Sybex to see what’s up – as soon as they are posted I’ll send out a tweet with the download link – follow me on twitter for updates: @glapointe). Also, from the Amazon site you can use the “Look Inside” feature (just click the book logo) to view some additional content as well as the first few pages of most chapters.
One note about Appendix A – this particular chapter is actually my favorite chapter – it was the most fun to write and includes a *ton* of information that is not documented anywhere. When Shannon and I put the original chapter outline together we did not have this chapter included as the original target audience was supposed to be IT administrators – as a result, Sybex did not budget for the additional page count and the chapter got dropped (I was upset that it got labeled as an Appendix and then more upset that it got dropped, but Sybex is running a business and I respect their decision, I’m just bummed that I couldn’t see it in print).
Also, those of you that pay close attention to details might note that the book title changed slightly (I didn’t know this until I got it in my hands). The book was originally “Automating SharePoint 2010 with Windows PowerShell 2.0” but it got changed to “Automating SharePoint 2010 Administration with Windows PowerShell 2.0” (I know, it’s verbose). It’s a subtle change meant to bring the title in line with other books that Sybex is releasing. However, what I want to be clear about is that this book is not just meant for IT administrators – true, they will benefit from it the most, but remember, I’m a developer, that’s where my passion is, and as such I tried to include as many nuggets as I could to make this book a value to both IT administrators and developers (heck, just the first three chapters on Windows PowerShell in general should be a must read for both audiences).
Now let’s take a look at what is in the book. I’ve pasted below the chapter details as found in the front section of the book; one thing I added is who was responsible for each chapter. I should note that, in order to help enforce a sense of consistency and technical accuracy, I did provide Shannon with a lot of assistance on his chapters, so though I’ve only called out the chapters that I was primarily responsible for, I was in fact a major contributor on all chapters.
Part 1 - Getting Started With Windows PowerShell Basics
- Chapter 1, “Windows PowerShell 101,” begins with a basic understanding of Windows PowerShell: the shell, cmdlets, variables, and types and how to work with and output data. (Gary)
- Chapter 2, “Filtering and Iterating Your Data,” expands on the concepts of Chapter 1 by showing how to add structure and logic to commands. (Gary)
- Chapter 3, “Making Your PowerShell Reusable,” completes the basic Windows PowerShell run-through by explaining how to turn a series of commands into functions, scripts, and modules. (Gary)
Part 2 - Installing and Configuring a SharePoint 2010 Environment
- Chapter 4, “Deploying New Installations and Upgrades,” details how to create an installation script for new Farm installations and presents upgrade scenarios and scripts that can ease the upgrade process. (Gary)
- Chapter 5, “Configuring Server Communications,” builds on the information learned in Chapter 4 by detailing the various settings that affect the communication of SharePoint with and through dependent resources, such as network adapters, the firewall, and Active Directory. (Shannon)
- Chapter 6, “Configuring Farm Application Settings,” shows how to use Windows PowerShell to configure some of the core configuration options available on the General Application Settings page of the Central Administration site. (Shannon)
Part 3 - Deploying and Managing Applications
- Chapter 7, “Managing Web Applications,” covers the creation and manipulation of Web Applications and the various configurable properties that are scoped to the Web Application level. (Shannon)
- Chapter 8, “Managing Site Collections and Sites,” continues where Chapter 7 left off by covering the creation and manipulation of Site Collections and Sites and the various configurable properties that are scoped the Site Collection or Site level. (Shannon)
- Chapter 9, “Understanding Authentication,” builds on the information from Chapter 7 by detailing the Classic and Claims authentication modes that must be taken into account when provisioning and working with Web Applications. (Shannon)
- Chapter 10, “Managing Features and Solutions,” details how to manage SharePoint Solution Packages and Features, including those deployed to the Solutions Gallery (Sandbox Solutions). (Shannon)
Part 4 - Services and Service Applications
- Chapter 11, “Managing Service Applications,” introduces the Service Application concepts and foundational information necessary to understand the subsequent chapters that focus on provisioning individual Service Applications. (Gary)
- Chapter 12, “Provisioning Support Services,” covers the provisioning of the core Service Applications that are necessary for SharePoint and/or other Service Applications to function properly, including: Web Analytics Services, State Services, Secure Store Services, User Code Services, Claims to Windows Token Services, and the Usage and Health Data Collection Services. (Shannon)
- Chapter 13, “Provisioning Business Intelligence, Business Connectivity, and Word Automation Services,” continues the Service Application provisioning with the Business Intelligence–focused Service Applications (Excel, Access, Visio, and PerformancePoint) and the Business Connectivity Services (BCS) and Word Automation Services Applications. (Gary)
- Chapter 14, “Provisioning Search Services,” tackles what is undoubtedly the most complex Service Application, the Enterprise Search Services Service Application, and it concludes with the Foundation Search, the only place where STSADM will be used in the book. (Shannon)
- Chapter 15, “Provisioning Metadata and User Profile Services,” completes the Service Application provisioning story with the Managed Metadata Services Service Application and the User Profile Services Service Application, including coverage of the many issues oft en experienced with the User Profile Synchronization Service. (Gary)
Part 5 - Managing and Maintaining a SharePoint Environment
- Chapter 16, “Managing Operational Settings,” covers monitoring SharePoint, including how to work with Unified Logging Service (ULS) logs and the Health Analyzer, and Timer Jobs, and concludes with coverage of the Developer Dashboard. (Shannon)
- Chapter 17, “Back Up and Restore a SharePoint Environment,” details the various backup and restore cmdlets available for backing up the Farm, Site Collections, Sites, and lists. (Shannon)
- Chapter 18, “Optimizing the Performance of a SharePoint Environment,” walks through the most common areas where performance gains can be had, including resource throttling, caching, and remote binary large object (BLOB) storage. (Shannon)
Part 6 - Advanced Administration
- Chapter 19, “Remote Administration,” shows how to connect remotely to and work with a SharePoint Farm using Windows PowerShell, thus reducing the need for direct server access. (Gary)
- Chapter 20, “Multi-Tenancy,” builds on the previous chapters by demonstrating how to build a SharePoint hosting Farm. (Gary)
- Appendix A, “Creating Custom Cmdlets,” takes the SharePoint PowerShell story to the next level by showing how to extend the
out-of-the-box capabilities by adding new cmdlets, views, and extensions. (Gary)
The book came in at 737 pages - for my first attempt at writing a book this was rather immense (it will make a great doorstop some day
). Shannon and I did our best to make the book informative and technically accurate – hopefully readers of the book will agree – that said, if you find something you disagree with or that is simply wrong/inaccurate/incomplete/total bullsh**/whatever, please let us know (just please be kind
). You can either fill out the errata form on the Sybex site or post a comment here (there were many, *many* late nights and weekends involved with the writing of this book and, as such, it’s quite possible that I brain farted a thing or two).
Shannon and I hope you enjoy the book – if you do, please tell a friend, if you don’t, well, um, the book’s already printed so not much I can do to fix it but maybe I can do some more blogging to make up for it
.
-Gary
I'm Back! (more or less)
Update 12/31/2010: "AdsensePro Kathy" from Google's AdSense team has pulled through for me and recovered my account and all associated services! Her timing was great--just a few hours after launching this new site
. I'm going to keep my blog here and I've put in a note and redirect on my old blog (I'm liking the WordPress capabilities more than the Blogger ones so ultimately I think this is a good move).
As hopefully everyone has discovered by now, my old blog at was inadvertently deleted due to a screw up with how Google links accounts. I had created a new Google account to work with Google TV and must have used my old account's email as the alternate email (or something - still not sure what the connection was) and when I ditched Google TV (an hour later but that's another story) I went and deleted this new account that I created. Unfortunately this caused not only the new account but also my old, critical, account to be deleted. As a result I've lost my blog, images, and numerous other services that I had associated with the new account. I've tried everything I can think of to get them restored but at this point I've given up hope and resigned to creating a new blog (not hosted by Google!). If by some miracle my old blog is ever resurrected I will simply update the template to direct people here as this is now my new home, regardless of what the final outcome of my old blog is.
Because I had no way to directly recover any of my posts I was forced to use Bing, and in some cases Google, to search for all my posts and pull up the cached copies. I then saved each post locally and, naturally, used some PowerShell to parse the posts and strip out the post title, date, body, and comments. I had to manually enter and tag each post to get them in the system initially, but then I could leverage the WordPress export/import features to get all the posts as XML so that I could then add in all the comments. Needless to say it was a very tedious and annoying task that I hope to never, ever, have to do again! The only thing I haven't been able to recover is the images associated with my articles. I had a small number from a recent post, but all the images from my previous posts are gone - I'll do my best to get some of them recreated but my priority right now is finishing my book so that I can start writing some new blog posts (I'd planned to spend this week finishing the book but that didn't quite work out the way I anticipated).
Thanks to everyone that has, in one way or another, tried to help me get my blog up and running again! If you have links that you need to update I've created a table that shows the old link and what it should now point to. If you could help me out by updating your links and spreading the word that my blog has moved I would very much appreciate it:
| Title | Old Link (http://stsadm.blogspot.com) | New Link (http://blog.falchionconsulting.com) |
|---|---|---|
| 10/12 - General Update | /2007/10/1012-general-update.html | /index.php/2007/10/1012-general-update/ |
| 4th Grade Math and PowerShell | /2010/02/4th-grade-math-and-powershell.html | /index.php/2010/02/4th-grade-math-and-powershell/ |
| Activating Features at Different Scopes Using STSADM | /2008/11/activating-features-at-different-scopes.html | /index.php/2008/11/activating-features-at-different-scopes-using-stsadm/ |
| Add List Item | /2007/12/add-list-item.html | /index.php/2007/12/add-list-item/ |
| Creating a List via STSADM | /2008/07/add-list.html | /index.php/2008/07/creating-a-list-via-stsadm/ |
| Add Site Administrator | /2007/09/add-site-administrator.html | /index.php/2007/09/add-site-administrator/ |
| Add User 2 | /2007/12/add-user-2.html | /index.php/2007/12/add-user-2/ |
| Add User Policy for Web Application | /2007/12/add-user-policy-for-web-application.html | /index.php/2007/12/add-user-policy-for-web-application/ |
| Adding Event Receivers using STSADM | /2008/09/adding-event-receivers-using-stsadm.html | /index.php/2008/09/adding-event-receivers-using-stsadm/ |
| Adding a List View Web Part to a Page | /2008/08/adding-list-view-web-part-to-page.html | /index.php/2008/08/adding-a-list-view-web-part-to-a-page/ |
| Announcing Aptillon | /2010/08/announcing-aptillon.html | /index.php/2010/08/announcing-aptillon/ |
| Announcing My SharePoint 2010 PowerShell Cmdlets & STSADM Commands Now Available for Download | /2010/05/announcing-my-sharepoint-2010.html | /index.php/2010/05/announcing-my-sharepoint-2010-powershell-cmdlets-stsadm-commands-now-available-for-download/ |
| Anyone Been Counting? | /2008/04/anyone-been-counting.html | /index.php/2008/04/anyone-been-counting/ |
| Apply Theme | /2008/01/apply-theme.html | /index.php/2008/01/apply-theme/ |
| Apply Upgrade Area Url Mappings | /2007/10/apply-upgrade-area-url-mappings.html | /index.php/2007/10/apply-upgrade-area-url-mappings/ |
| Assigning Rules to Audiences via STSADM | /2008/08/assigning-rules-to-audiences-via-stsadm.html | /index.php/2008/08/assigning-rules-to-audiences-via-stsadm/ |
| Backup Site Collections | /2008/04/backup-site-collections.html | < a href="http://blog.falchionconsulting.com/index.php/2008/04/backup-site-collections/">/index.php/2008/04/backup-site-collections/ |
| Backup/Restore Now Supported Between Farms (via April CU) | /2009/05/backuprestore-now-supported-between.html | /index.php/2009/05/backuprestore-now-supported-between-farms-via-april-cu/ |
| A Better Delete Web | /2007/09/better-delete-web.html | /index.php/2007/09/a-better-delete-web/ |
| A Better execadmsvcjobs STSADM Command | /2008/10/better-execadmsvcjobs-stsadm-command.html | /index.php/2008/10/a-better-execadmsvcjobs-stsadm-command/ |
| A Better Import | /2007/10/better-import.html | /index.php/2007/10/a-better-import/ |
| Big Changes | /2010/07/big-changes.html | /index.php/2010/07/big-changes/ |
| Breaking Change to My Extensions | /2008/04/breaking-change-to-my-extensions.html | /index.php/2008/04/breaking-change-to-my-extensions/ |
| BUG: Absolute Path Information Required | /2008/03/bug-absolute-path-information-required.html | /index.php/2008/03/bug-absolute-path-information-required/ |
| Change Password Script | /2008/10/change-password-script.html | /index.php/2008/10/change-password-script/ |
| Changing the Application Pool Identity via STSADM | /2008/10/changing-application-pool-identity-via.html | /index.php/2008/10/changing-the-application-pool-identity-via-stsadm/ |
| Colorado Springs SharePoint User Group Meeting Slides | /2008/10/colorado-springs-sharepoint-user-group.html | /index.php/2008/10/colorado-springs-sharepoint-user-group-meeting-slides/ |
| Configuring SSO via STSADM | /2009/04/configuring-sso-via-stsadm.html | /index.php/2009/04/configuring-sso-via-stsadm/ |
| Content Deployment QFE Pack Now Available | /2008/05/content-deployment-qfe-pack-now.html | /index.php/2008/05/content-deployment-qfe-pack-now-available/ |
| Convert a Sub-site to a Site Collection | /2007/09/convert-sub-site-to-site-collection.html | /index.php/2007/09/convert-a-sub-site-to-a-site-collection/ |
| Copy Content Types | /2007/08/copy-content-types.html | /index.php/2007/08/copy-content-types/ |
| Copy List Security (permissions) Settings | /2007/11/copy-list-security-permissions-settings.html | /index.php/2007/11/copy-list-security-permissions-settings/ |
| Create Content Database | /2008/01/create-content-database.html | /index.php/2008/01/create-content-database/ |
| Create a Publishing Page via STSADM | /2008/09/create-publishing-page-via-stsadm.html | /index.php/2008/09/create-a-publishing-page-via-stsadm/ |
| Create Site in Database | /2008/01/create-site-in-database.html | /index.php/2008/01/create-site-in-database/ |
| Create Web Application | /2007/10/create-web-application.html | /index.php/2007/10/create-web-application/ |
| Creating Audiences via STSADM | /2008/08/creating-audiences-via-stsadm.html | /index.php/2008/08/creating-audiences-via-stsadm/ |
| Creating Custom SharePoint 2010 Cmdlets using Visual Studio 2010 | /2009/10/creating-custom-sharepoint-2010-cmdlets.html | /index.php/2009/10/creating-custom-sharepoint-2010-cmdlets-using-visual-studio-2010/ |
| Creating Default Site Groups After Creating Site Collections Using STSADM | /2009/04/creating-default-site-groups-after.html | /index.php/2009/04/creating-default-site-groups-after-creating-site-collections-using-stsadm/ |
| Creating List/Library Folders Programmatically | /2008/07/creating-listlibrary-folders.html | /index.php/2008/07/creating-listlibrary-folders-programmatically/ |
| Creating a SharePoint 2010 Enterprise Search Service Application using PowerShell | /2009/12/creating-sharepoint-2010-enterprise.html | /index.php/2009/12/creating-a-sharepoint-2010-enterprise-search-service-application-using-powershell/ |
| Creating a SharePoint 2010 Site Structure Using PowerShell | /2009/12/creating-sharepoint-2010-site-structure.html | /index.php/2009/12/creating-a-sharepoint-2010-site-structure-using-powershell/ |
| Custom Field Types and WSS 4.0’s XSLT-based Field Type | /2008/12/custom-field-types-and-wss-40s-xslt.html | /index.php/2008/12/custom-field-types-and-wss-4-0s-xslt-based-field-type/ |
| Custom List Views and WSS 4.0’s XSLT-based List View | /2008/12/custom-list-views-and-wss-40s-xslt.html | /index.php/2008/12/custom-list-views-and-wss-4-0s-xslt-based-list-view/ |
| Custom SharePoint 2007 Site Collection Creation Page | /2009/07/custom-sharepoint-2007-site-collection.html | /index.php/2009/07/custom-sharepoint-2007-site-collection-creation-page/ |
| Customizing MySites | /2007/11/customizing-mysites.html | /index.php/2007/11/customizing-mysites/ |
| Deactivating Features at Different Scopes Using STSADM | /2008/11/deactivating-features-at-different.html | /index.php/2008/11/deactivating-features-at-different-scopes-using-stsadm/ |
| -debug Parameter | /2007/11/debug-parameter.html | /index.php/2007/11/debug-parameter/ |
| Delete All Users from a Site Collection | /2008/08/delete-all-users-from-site-collection.html | /index.php/2008/08/delete-all-users-from-a-site-collection/ |
| Delete List Field | /2007/09/delete-list-field.html | /index.php/2007/09/delete-list-field/ |
| Delete List (forget about forcedeletelist) | /2007/11/delete-list-forget-about.html | /index.php/2007/11/delete-list-forget-about-forcedeletelist/ |
| Delete a List Using "forcedeletelist" | /2007/11/delete-list-using-forcedeletelist.html | /index.php/2007/11/delete-a-list-using-forcedeletelist/ |
| Delete Web Application | /2007/10/delete-web-application.html | /index.php/2007/10/delete-web-application/ |
| Deleting an Audience via STSADM | /2008/08/deleting-audience-via-stsadm.html | /index.php/2008/08/deleting-an-audience-via-stsadm/ |
| Deleting an Event Receiver using STSADM | /2008/09/deleting-event-receiver-using-stsadm.html | /index.php/2008/09/deleting-an-event-receiver-using-stsadm/ |
| Deleting Orphaned Event Receivers using PowerShell | /2009/03/deleting-orphaned-event-receivers-using.html | /index.php/2009/03/deleting-orphaned-event-receivers-using-powershell/ |
| Deploying SharePoint 2010 Solution Packages Using PowerShell | /2010/06/deploying-sharepoint-2010-solution.html | /index.php/2010/06/deploying-sharepoint-2010-solution-packages-using-powershell/ |
| Deploying SharePoint Files Not Handled by the WSP Solution Schema | /2009/07/deploying-sharepoint-files-not-handled.html | /index.php/2009/07/deploying-sharepoint-files-not-handled-by-the-wsp-solution-schema/ |
| Discovering Who Has Access to SharePoint 2010 Securable Objects | /2010/04/discovering-who-has-access-to.html | /index.php/2010/04/discovering-who-has-access-to-sharepoint-2010-securable-objects/ |
| Displaying Audience Rules via STSADM | /2008/08/displaying-audience-rules-via-stsadm.html | /index.php/2008/08/displaying-audience-rules-via-stsadm/ |
| Don’t Use the PrepareToMove STSADM Command | /2009/01/dont-use-preparetomove-stsadm-command.html | /index.php/2009/01/dont-use-the-preparetomove-stsadm-command/ |
| Download My Custom Extensions Source From CodePlex | /2009/07/download-my-custom-extensions-source.html | /index.php/2009/07/download-my-custom-extensions-source-from-codeplex/ |
| Downloads | /2009/02/downloads.html | /index.php/downloads/ |
| Enabling Audience Targeting on a List | /2008/08/enabling-audience-targeting-on-list.html | /index.php/2008/08/enabling-audience-targeting-on-a-list/ |
| Ensuring a Valid SPContext via Feature Activation | /2008/12/ensuring-valid-spcontext-via-feature.html | /index.php/2008/12/ensuring-a-valid-spcontext-via-feature-activation/ |
| Enumerate Av ailable Page Layouts | /2007/08/enumerate-available-page-layouts.html | /index.php/2007/08/enumerate-available-page-layouts/ |
| Enumerate Effective Base Permissions | /2007/10/enumerate-effective-base-permissions.html | /index.php/2007/10/enumerate-effective-base-permissions/ |
| Enumerate Features | /2007/08/enumerate-features.html | /index.php/2007/08/enumerate-features/ |
| Enumerate Page Web Parts | /2007/10/enumerate-page-web-parts.html | /index.php/2007/10/enumerate-page-web-parts/ |
| Enumerate Timer Job Definitions | /2007/09/enumerate-timer-job-definitions.html | /index.php/2007/09/enumerate-timer-job-definitions/ |
| Enumerating Email Enabled Lists via STSADM | /2008/08/enumerating-email-enabled-lists-via.html | /index.php/2008/08/enumerating-email-enabled-lists-via-stsadm/ |
| Export Content Types | /2008/02/export-content-types.html | /index.php/2008/02/export-content-types/ |
| Export, Import, and Update List Fields | /2007/11/export-import-and-update-list-fields.html | /index.php/2007/11/export-import-and-update-list-fields/ |
| Export Site Columns | /2008/02/export-site-columns.html | /index.php/2008/02/export-site-columns/ |
| Exporting and Importing List Folders | /2008/05/exporting-and-importing-list-folders.html | /index.php/2008/05/exporting-and-importing-list-folders/ |
| Exporting Audiences using STSADM | /2009/04/exporting-audiences-using-stsadm.html | /index.php/2009/04/exporting-audiences-using-stsadm/ |
| Exporting List Security Settings | /2008/04/exporting-list-security-settings.html | /index.php/2008/04/exporting-list-security-settings/ |
| Extend Web Application | /2008/03/extend-web-application.html | /index.php/2008/03/extend-web-application/ |
| Fix Publishing Pages Page Layout URL | /2007/08/fix-publishing-pages-page-layout-url.html | /index.php/2007/08/fix-publishing-pages-page-layout-url/ |
| Fix Variation Relationships List | /2008/04/fix-variation-relationships-list.html | /index.php/2008/04/fix-variation-relationships-list/ |
| Fixing Invalid Page Contacts | /2008/05/fixing-invalid-page-contacts.html | /index.php/2008/05/fixing-invalid-page-contacts/ |
| Follow Me On Twitter | /2009/03/follow-me-on-twitter.html | /index.php/2009/03/follow-me-on-twitter/ |
| Fun with Variations | /2008/04/fun-with-variations.html | /index.php/2008/04/fun-with-variations/ |
| General Update | /2007/09/general-update.html | /index.php/2007/09/general-update/ |
| Getting an Inventory of All SharePoint Documents Using Windows PowerShell | /2010/08/getting-inventory-of-all-sharepoint.html | /index.php/2010/08/getting-an-inventory-of-all-sharepoint-documents-using-windows-powershell/ |
| Getting an SPFarm object using PowerShell | /2009/04/getting-spfarm-object-using-powershell.html | /index.php/2009/04/getting-an-spfarm-object-using-powershell/ |
| Getting an SPWebApplication object using PowerShell | /2009/04/getting-spwebapplication-object-using.html | /index.php/2009/04/getting-an-spwebapplication-object-using-powershell/ |
| Getting Started with STSADM Extensions | /2007/08/getting-started-with-stsadm-extensions.html | /index.php/2007/08/getting-started-with-stsadm-extensions/ |
| gl-fixpagecontact Deprecated!!! | /2008/12/gl-fixpagecontact-deprecated.html | /index.php/2008/12/gl-fixpagecontact-deprecated/ |
| I'll be Speaking at the SharePoint Best Practices Conference | /2008/12/i-be-speaking-at-sharepoint-best.html | /index.php/2008/12/ill-be-speaking-at-the-sharepoint-best-practices-conference/ |
| I’m speaking at TEC 2010 - See you there! | /2010/02/im-speaking-at-tec-2010-see-you-there.html | /index.php/2 010/02/i%e2%80%99m-speaking-at-tec-2010-see-you-there/ |
| Import, Export, Copy, and Delete List Items | /2007/11/import-export-copy-and-delete-lists.html | /index.php/2007/11/import-export-copy-and-delete-list-items/ |
| Import List Security | /2008/04/import-list-security.html | /index.php/2008/04/import-list-security/ |
| Import Site Columns | /2008/02/import-site-columns.html | /index.php/2008/02/import-site-columns/ |
| Import/Export/Copy Lists | /2007/09/importexportcopy-lists.html | /index.php/2007/09/importexportcopy-lists/ |
| Importing Audiences using STSADM | /2009/04/importing-audiences-using-stsadm.html | /index.php/2009/04/importing-audiences-using-stsadm/ |
| Importing Profile Properties | /2008/08/importing-profile-properties.html | /index.php/2008/08/importing-profile-properties/ |
| Include IIS with Disaster Recovery Backup | /2008/04/include-iis-with-disaster-recovery.html | /index.php/2008/04/include-iis-with-disaster-recovery-backup/ |
| Initial Release of My SharePoint PowerShell Cmdlets | /2008/12/initial-release-of-my-sharepoint.html | /index.php/2008/12/initial-release-of-my-sharepoint-powershell-cmdlets/ |
| List All Welcome Pages | /2008/01/list-all-welcome-pages.html | /index.php/2008/01/list-all-welcome-pages/ |
| Listing Event Receivers using STSADM | /2008/09/listing-event-receivers-using-stsadm.html | /index.php/2008/09/listing-event-receivers-using-stsadm/ |
| Manage Content Database Settings | /2007/09/manage-content-database-settings.html | /index.php/2007/09/manage-content-database-settings/ |
| Migrate Profile Data from SPS 2003 to MOSS 2007 | /2007/08/migrate-profile-data-from-sps-2003-to.html | /index.php/2007/08/migrate-profile-data-from-sps-2003-to-moss-2007/ |
| Minor Update | /2008/05/minor-update.html | /index.php/2008/05/minor-update/ |
| More Site Navigation Settings Commands | /2007/09/more-site-navigation-settings-commands.html | /index.php/2007/09/more-site-navigation-settings-commands/ |
| Move a Site Collection | /2008/01/move-site-collection.html | /index.php/2008/01/move-a-site-collection/ |
| Move a Web Part on a Page | /2007/10/move-web-part-on-page.html | /index.php/2007/10/move-a-web-part-on-a-page/ |
| Move Web | /2007/09/move-web.html | /index.php/2007/09/move-web/ |
| Moving Databases, the Easy Way! | /2008/06/moving-databases-easy-way.html | /index.php/2008/06/moving-databases-the-easy-way/ |
| MVP for Another Year! | /2009/01/mvp-for-another-year.html | /index.php/2009/01/mvp-for-another-year/ |
| MVP Summit 2009 | /2009/03/mvp-summit-2009.html | /index.php/2009/03/mvp-summit-2009/ |
| My New PowerShell Cmdlets for SharePoint 2007: Feedback Requested! | /2008/11/my-new-powershell-cmdlets-for.html | /index.php/2008/11/my-new-powershell-cmdlets-for-sharepoint-2007-feedback-requested/ |
| My Site Settings | /2007/09/my-site-settings.html | /index.php/2007/09/my-site-settings/ |
| Namespace and Filename Changes (plus 5 new commands) | /2008/01/namespace-and-filename-changes-plus-5.html | /index.php/2008/01/namespace-and-filename-changes-plus-5-new-commands/ |
| New CRM Blog | /2008/08/new-crm-blog.html | /index.php/2008/08/new-crm-blog/ |
| New Issue with STSADM MergeContentDB | /2009/03/new-issue-with-stsadm-mergecontentdb.html | /index.php/2009/03/new-issue-with-stsadm-mergecontentdb/ |
| New STSADM Commands and Parameters with SharePoint 2007 SP2 | /2009/05/new-stsadm-commands-and-parameters-with.html | /index.php/2009/05/new-stsadm-commands-and-parameters-with-sharepoint-2007-sp2/ |
| November 2010 SharePoint Connections Decks and Code | /2010/11/november-2010-sharepoint-connections.html | /index.php/2010/11/november-2010-sharepoint-connections-decks-and-code/ |
| Personalization Service Permissions | /2007/11/personalization-service-permissions.html | /index.php/2007/11/personalization-service-permissions/ |
| Portal Site Connection | /2007/08/portal-site-connection.html | /index.php/2007/08/portal-site-connection/ |
| PowerShell CmdLet Name Changes | /2009/04/powershell-cmdlet-name-changes.html | /index.php/2009/04/powershell-cmdlet-name-changes/ |
| Presetting Lookup Field Values via a Link | /2008/06/presetting-lookup-field-values-via-link.html | /index.php/2008/06/presetting-lookup-field-values-via-a-link/ |
| Profile Import Timer Job | /2008/05/profile-import-timer-job.html | /index.php/2008/05/profile-import-timer-job/ |
| Programmatically Setting Web Part Audience Targeting | /2008/04/programmatically-setting-web-part.html | /index.php/2008/04/programmatically-setting-web-part-audience-targeting/ |
| Propagate Content Type Changes | /2008/05/propagate-content-type-changes.html | /index.php/2008/05/propagate-content-type-changes/ |
| Publish Items | /2007/10/publish-items.html | /index.php/2007/10/publish-items/ |
| Re-Ghosting Pages | /2007/09/re-ghosting-pages.html | /index.php/2007/09/re-ghosting-pages/ |
| Real World SharePoint 2010 Released! | /2010/11/real-world-sharepoint-2010-released.html | /index.php/2010/11/real-world-sharepoint-2010-released/ |
| Recalculating Usage Statistics via STSADM or PowerShell | /2009/01/recalculating-usage-statistics-via.html | /index.php/2009/01/recalculating-usage-statistics-via-stsadm-or-powershell/ |
| Recent Custom STSADM Extensions Bug Fixes | /2009/07/recent-custom-stsadm-extensions-bug.html | /index.php/2009/07/recent-custom-stsadm-extensions-bug-fixes/ |
| Replace Field Values | /2007/10/replace-field-values.html | /index.php/2007/10/replace-field-values/ |
| Replace Web Part Content | /2007/10/replace-web-part-content.html | /index.php/2007/10/replace-web-part-content/ |
| Replacing Navigation URLs Using STSADM | /2009/01/replacing-navigation-urls-using-stsadm.html | /index.php/2009/01/replacing-navigation-urls-using-stsadm/ |
| Retarget Content Query Web Part | /2007/10/retarget-content-query-web-part.html | /index.php/2007/10/retarget-content-query-web-part/ |
| Retarget Grouped Listings Web Parts | /2008/01/retarget-grouped-listings-web-parts.html | /index.php/2008/01/retarget-grouped-listings-web-parts/ |
| Roll your own custom stsadm extensions | /2008/03/roll-your-own-custom-stsadm-extensions.html | /index.php/2008/03/roll-your-own-custom-stsadm-extensions/ |
| Sample Install Script | /2008/03/sample-install-script.html | /index.php/2008/03/sample-install-script/ |
| Save List Items and Files to Disk | /2007/12/save-list-items-and-files-to-disk.html | /index.php/2007/12/save-list-items-and-files-to-disk/ |
| Search Scopes and Rules | /2007/11/search-scopes-and-rules.html | /index.php/2007/11/search-scopes-and-rules/ |
| Security for Web Part Pages | /2007/08/security-for-web-part-pages.html | /index.php/2007/08/security-for-web-part-pages/ |
| Self Service Site Creation | /2007/08/self-service-site-creation.html | /index.php/2007/08/self-service-site-creation/ |
| Service Accounts and Managed Service Accounts in SharePoint 2010 | /2010/10/service-accounts-and-managed-service.html | /index.php/2010/10/service-accounts-and-managed-service-accounts-in-sharepoint-2010/ |
| SharePoint 2010 Service Application Charts | /2010/06/service-application-charts.html | /index.php/2010/06/sharepoint-2010-service-application-charts/< /td> |
| Set Anonymous Access | /2008/03/set-anonymous-access.html | /index.php/2008/03/set-anonymous-access/ |
| Set Audit Settings for Site Collection | /2007/11/set-audit-settings-for-site-collection.html | /index.php/2007/11/set-audit-settings-for-site-collection/ |
| Set Available Site Templates | /2007/08/set-available-site-templates.html | /index.php/2007/08/set-available-site-templates/ |
| Set Local Site Directory | /2007/10/set-local-site-directory.html | /index.php/2007/10/set-local-site-directory/ |
| Set My Sites Naming Format | /2007/08/set-my-sites-naming-format.html | /index.php/2007/08/set-my-sites-naming-format/ |
| Set Navigation Settings | /2007/11/set-navigation-settings.html | /index.php/2007/11/set-navigation-settings/ |
| Set Picture URL Property | /2007/08/set-picture-url-property.html | /index.php/2007/08/set-picture-url-property/ |
| Set Search Center | /2007/10/set-search-center.html | /index.php/2007/10/set-search-center/ |
| Set Site General Settings | /2007/09/set-site-general-settings.html | /index.php/2007/09/set-site-general-settings/ |
| Set Usage Analysis | /2007/12/set-usage-analysis.html | /index.php/2007/12/set-usage-analysis/ |
| Set User Profile Import Schedule | /2007/08/set-user-profile-import-schedule.html | /index.php/2007/08/set-user-profile-import-schedule/ |
| Set User Profile Picture URL Property using STSADM (revisited) | /2008/09/set-user-profile-picture-url-property.html | /index.php/2008/09/set-user-profile-picture-url-property-using-stsadm-revisited/ |
| Set Web Part State | /2007/10/set-web-part-state.html | /index.php/2007/10/set-web-part-state/ |
| Set the Welcome Page for a Web | /2008/01/set-welcome-page-for-web.html | /index.php/2008/01/set-the-welcome-page-for-a-web/ |
| Setting the Audience Compilation Schedule via STSADM | /2008/08/setting-audience-compilation-schedule.html | /index.php/2008/08/setting-the-audience-compilation-schedule-via-stsadm/ |
| Setting Back Connection Host Names for SharePoint 2007 Using STSADM | /2009/09/setting-back-connection-host-names-for.html | /index.php/2009/09/setting-back-connection-host-names-for-sharepoint-2007-using-stsadm/ |
| Setting List Content Types using STSADM | /2008/08/setting-list-content-types-using-stsadm.html | /index.php/2008/08/setting-list-content-types-using-stsadm/ |
| Setting List Properties using STSADM | /2009/07/setting-list-properties-using-stsadm.html | /index.php/2009/07/setting-list-properties-using-stsadm/ |
| Setting the Master Page Using STSADM | /2009/02/setting-master-page-using-stsadm.html | /index.php/2009/02/setting-the-master-page-using-stsadm/ |
| Setting the Master Site Directory | /2007/08/setting-master-site-directory.html | /index.php/2007/08/setting-the-master-site-directory/ |
| Setting Metadata | /2008/05/setting-metadata.html | /index.php/2008/05/setting-metadata/ |
| Setting PowerShell Switch Parameters Dynamically | /2009/08/setting-powershell-switch-parameters.html | /index.php/2009/08/setting-powershell-switch-parameters-dynamically/ |
| SharePoint 2010: PSConfig and PowerShell | /2009/10/sharepoint-2010-psconfig-and-powershell.html | /index.php/2009/10/sharepoint-2010-psconfig-and-powershell/ |
| SharePoint 2010: STSADM and PowerShell | /2009/10/sharepoint-2010-stsadm-and-powershell.html | /index.php/2009/10/sharepoint-2010-stsadm-and-powershell/ |
| SharePoint Best Practices Conference Wrap Up | /2009/02/sharepoint-best-practices-conference.html | /index.php/2009/02/sharepoint-best-practices-conference-wrap-up/ |
| SharePoint Conference 2008 | /2008/03/sharepoint-conference-2008.html | /index.php/2008/03/sharepoint-conference-2008/ |
| SharePoint Saturday Denver 2009 Slide Deck | /2009/12/sharepoint-saturday-denver-2009-slide.html | /index.php/2009/12/sharepoint-saturday-denver-2009-slide-deck/ |
| Site Collection Title | /2007/08/site-collection-title.html | /index.php/2007/08/site-collection-title/ |
| Site Directory Links Scan | /2007/09/site-directory-links-scan.html | /index.php/2007/09/site-directory-links-scan/ |
| Site Navigation Settings | /2007/08/site-navigation-settings.html | /index.php/2007/08/site-navigation-settings/ |
| Solution Package (WSP) | /2008/03/solution-package-wsp.html | /index.php/2008/03/solution-package-wsp/ |
| SPDisposeCheck Released | /2009/01/spdisposecheck-released.html | /index.php/2009/01/spdisposecheck-released/ |
| SPLimitedWebPartManager.Dispose() bug | /2007/11/splimitedwebpartmanagerdispose-bug.html | /index.php/2007/11/splimitedwebpartmanager-dispose-bug/ |
| SPTechCon Decks | /2010/10/sptechcon-decks.html | /index.php/2010/10/sptechcon-decks/ |
| Starting the SharePoint 2010 Foundation Search Service using PowerShell | /2010/04/starting-sharepoint-2010-foundation.html | /index.php/2010/04/starting-the-sharepoint-2010-foundation-search-service-using-powershell/ |
| Quota Templates | /2007/08/stsadm-commands.html | /index.php/2007/08/quota-templates/ |
| Command Index | /2007/08/stsadm-commands_09.html | /index.php/stsadmpowershell-commands/ |
| Synchronizing Quota Settings via STSADM | /2009/02/synchronizing-quota-settings-via-stsadm.html | /index.php/2009/02/synchronizing-quota-settings-via-stsadm/ |
| Why an STSADM Blog? | /2007/08/test.html | /index.php/2007/08/why-an-stsadm-blog/ |
| Trace Log Settings | /2008/06/trace-log-settings.html | /index.php/2008/06/trace-log-settings/ |
| Un-Extend Web Application | /2008/04/un-extend-web-application.html | /index.php/2008/04/un-extend-web-application/ |
| Update List View | /2007/11/update-list-view.html | /index.php/2007/11/update-list-view/ |
| Update V2 to V3 Area Url Mappings | /2007/09/update-v2-to-v3-area-url-mappings.html | /index.php/2007/09/update-v2-to-v3-area-url-mappings/ |
| Updating the Default Content Access Account via STSADM | /2008/08/updating-default-content-access-account.html | /index.php/2008/08/updating-the-default-content-access-account-via-stsadm/ |
| Upgrade2 | /2007/09/upgrade2.html | /index.php/2007/09/upgrade2/ |
| User Permissions for Web Applications | /2007/08/user-permissions-for-web-applications.html | /index.php/2007/08/user-permissions-for-web-applications/ |
| User Profile Default Access Account | /2007/08/user-profile-default-access-account.html | /index.php/2007/08/user-profile-default-access-account/ |
| User Profile Privacy Policies | /2007/11/user-profile-privacy-policies.html | /index.php/2007/11/user-profile-privacy-policies/ |
| User Profile Properties | /2007/11/user-profile-properties.html | /index.php/2007/11/user-profile-properties/ |
| Web Part Page History CodePlex Project | /2008/07/web-part-page-history-codeplex-project.html | /index.php/2008/07/web-part-page-history-codeplex-project/ |
| Webinars, Pod Shows, and User Group Meetings | /2010/03/webinars-pod-shows-and-user-group.html | /index.php/2010/03/webinars-pod-shows-and-user-group-meetings/ |
| Why I don’t use OpenWeb() | /2009/03/why-i-dont-use-openweb.html | /index.php/2009/03/why-i-dont-use-openweb/ |
| Windows Server 2008 Default Impersonation Level Must Be Identify | /2008/09/windows-server-2008-default.html | /index.php/2008/09/windows-server-2008-default-impersonation-level-must-be-identify/ |
| Working with SPSite(Info) Objects Using PowerShell | /2009/01/working-with-spsiteinfo-objects-using.html | /index.php/2009/01/working-with-spsiteinfo-objects-using-powershell/ |
| Working with SPWeb(Info) Objects Using PowerShell | /2009/04/working-with-spwebinfo-objects-using.html | /index.php/2009/04/working-with-spwebinfo-objects-using-powershell/ |
| WSS Build of My STSADM Extensions | /2008/06/wss-build-of-my-stsadm-extensions.html | /index.php/2008/06/wss-build-of-my-stsadm-extensions/ |
Real World SharePoint 2010 Released!
Today I got the great news that the Real World SharePoint 2010 book has finally been released! This is my first ever publication and I’m truly excited to see it finally available. To have my first publication be this particular book where so many stellar folks have contributed is just an incredible honor for me. I was one of the few contributors that had a very early delivery date for their chapters and as such I finished my chapter in December of 2009 so I’ve been waiting a long time (almost a full year) for this sucker to finally get out. Now I just have to get my second publication finished
Thanks again to everyone who contributed or otherwise helped organize and make this book happen and a special thanks to all those who choose to purchase it
Announcing Aptillon
Today I finally get to spill the beans on a secret I’ve been wanting to share for a while: today myself and six of my good SharePoint friends are announcing that we have formed a new consulting company! You can read the full announcement on the News page of our new site http://www.aptillon.com/ but I’ve also quoted it here:
Today we are happy to publicly announce a project that we’ve been working on for several months – Aptillon – a new SharePoint consulting company created to fill the need for a dedicated, talented, and respected SharePoint consulting firm with the track record for successful delivery. While the name Aptillon is new, we think you’ll recognize the names of our principals: Todd Baginski, Darrin Bishop, Dan Holme, Gary Lapointe, David Mann, Matthew McDermott, and Maurice Prather.
Each of our principals has depth in many areas of SharePoint. Together our team has depth and breadth across the entire product as well as the supporting technologies like Office, Silverlight, Windows Server, Exchange, SQL Server and more. Between us, we have over 50 years of experience with SharePoint. We are Microsoft Certified Masters, Most Valuable Professionals and Microsoft Certified Professionals aligned to deliver SharePoint solutions for projects of any size. We are passionate about “technology done right”, applying technology smarts to business solutions and having fun while we do it.
We are open for business and already delivering solutions for clients. Please let us know if we can help you.
To help celebrate the launch of Aptillon, we are giving away a “SharePoint 2010 Bookshelf” – 5 books on SharePoint 2010 that the Aptillon founders had a hand in producing. If you’re attending the Best Practices Conference in Washington DC this week, track down Darrin, David or Maurice (they’re all delivering sessions) and exchange business cards with them. After the conference, we’ll draw one lucky winner and ship them the books. It’s just one little way that Aptillon is helping the SharePoint community.
Look for more information in the next few weeks.
- Aptillon founders: Dan, Darrin, David, Gary, Matthew, Maurice, Todd
So I know what your thinking, “but Gary, you just went independent! What about Falchion? I could never pronounce it but you’ve got that sword and those cool business cards, what’s going on?” Have no fear – Falchion isn’t going away – I, like the others, are still independent consultants and still own our own companies. Aptillon is just sliding in on top – it is a way for us to work as a team when it makes sense to do so – we can go after projects together that we couldn’t as individuals and we can do so as one company making it significantly easier on our collective clients.
For me the relationship is a perfect one – I still determine what projects I work on but now I have an extraordinary team that I can leverage and call upon to help me with projects or to feed me projects. We all have a vested interest in seeing each other succeed as our success is Aptillon’s success and Aptillon’s success is our success. To date we’ve already had several projects that we’ve jointly worked on in various capacities and they’ve all gone incredibly well. With this team of individuals I have full confidence that there will be many more to come…
Big Changes
Astute readers of my blog may have noticed that my blog header and byline have changed just a bit in the past week. For the past year I’ve been working as a Senior Architect at ShareSquared, a small SharePoint consultancy – last week I decided that the time was right for me to take a bit of a risk and leave the comfort of ShareSquared to pursue a goal that I’ve had for over 10 years: I’ve decided to go out on my own as an independent consultant!
I’ve enjoyed my time at ShareSquared and made a lot of friends and got to help build what I hope will be a great product for the company but despite all that I felt that if ever I was going to give this whole independent thing a try now was the time. SharePoint 2010 has already proven to be a very popular product and considerably more complex than 2007 so there’s a lot of people out there looking for help – hopefully now is the right time for me to take advantage of this unique time in the product life cycle.
As part of going solo I’ve formed my own company called “Falchion Consulting, LLC”. I don’t yet have a website up but it will eventually be at http://www.falchionconsulting.com (for now it just redirects to this blog). I currently already have some work lined up for the short term but I am looking for that next opportunity so if you’re interested in talking to me about how I can help you with your SharePoint 2007 or SharePoint 2010 deployment or custom development please don’t hesitate to email me at gary@falchionconsulting.com.
This is certainly a big step for me and there’s a part of me that is scared to death but I’ve got a great support network of friends and my wife and daughter are being extremely supportive so at this point I’m very optimistic that everything will fall into place – wish me luck and please keep me in mind as you look for someone to help with your SharePoint work
MVP for Another Year!
I just found out that I’ve been renewed as an MVP for another year! It’s been a crazy year – I started a new job allowing me to focus on SharePoint, I released somewhere around one hundred new STSADM commands, new PowerShell Cmdlets, lots of sample scripts, and two CodePlex projects (and that’s just the stuff I did on the side during my “free” time). I’m looking forward to this new year and hopefully, as I start doing more speaking at conferences, I’ll have a chance to see and thank a lot of the people that have supported my efforts with their great feedback through this blog.
Happy New Year!!!
Windows Server 2008 Default Impersonation Level Must Be Identify
If you're configuring a Windows Server 2008 environment with SharePoint 2007 and are planning on using Kerberos make sure that you do NOT set the default impersonation level for the server to delegate as recommended in this support article: http://support.microsoft.com/kb/953130 (note that Microsoft is working on updating this support article to reflect the differences with Windows Server 2008). If you do make this change then you will run into all kinds of issues with timer job related activities such as creating web applications and applying hotfixes or service packs.
The following is an example of what you'll find in your log files if you attempt install a hotfix or service pack:
SPHierarchyManager] [DEBUG] [8/5/2008 1:00:48 PM]: ------------------- Begin Growing Tree -------------------
[SPManager] [DEBUG] [8/5/2008 1:00:48 PM]: Using cached [SPWebApplication Name=SharePoint Teams (80) Parent=SPWebService] CanUpgrade value: True.
[SPManager] [DEBUG] [8/5/2008 1:00:48 PM]: Using cached [SPWebApplication Name=SharePoint Teams (80) Parent=SPWebService] NeedsUpgrade value: False.
[SPManager] [ERROR] [8/5/2008 1:00:48 PM]: Upgrade [SPWebApplication Name=SharePoint Teams (80) Parent=SPWebService] failed.
[SPManager] [ERROR] [8/5/2008 1:00:48 PM]: Access is denied.
[SPManager] [ERROR] [8/5/2008 1:00:48 PM]: at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)
at System.DirectoryServices.DirectoryEntry.Bind()
at System.DirectoryServices.DirectoryEntry.get_IsContainer()
at System.DirectoryServices.DirectoryEntries.ChildEnumerator..ctor(DirectoryEntry container)
at System.DirectoryServices.DirectoryEntries.GetEnumerator()
at Microsoft.SharePoint.Administration.SPIisWebSite.LookupByServerComment(String serverComment, Int32& instanceId)
at Microsoft.SharePoint.Administration.SPWebApplication.GetLocalIisWebSites()
at Microsoft.SharePoint.Upgrade.SPWebApplicationSequence.AddNextLevelObjects()
at Microsoft.SharePoint.Upgrade.SPHierarchyManager.Grow(SPTree`1 root, Boolean bRecursing)
at Microsoft.SharePoint.Upgrade.SPHierarchyManager.Grow(SPTree`1 root)
at Microsoft.SharePoint.Upgrade.SPManager.Upgrade(Object o, Boolean bRecurse)
The following is an example of some of the errors you may find in your event logs as the result of various timer job failures:
Log Name: Application
Source: Windows SharePoint Services 3
Date: 7/21/2008 5:34:52 PM
Event ID: 6398
Task Category: Timer
Level: Error
Keywords: Classic
User: N/A
Computer: Test-SPWFE1
Description:
The Execute method of job definition Microsoft.Office.Server.Administration.ApplicationServerAdministrationServiceJob (ID 7d6130ec-41cf-4c9c-9fe2-1d1d43c276e0) threw an exception. More information is included below.Access is denied.
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="Windows SharePoint Services 3" />
<EventID Qualifiers="0">6398</EventID>
<Level>2</Level>
<Task>964</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2008-07-21T23:34:52.000Z" />
<EventRecordID>3106</EventRecordID>
<Channel>Application</Channel>
<Computer>Test-SPWFE1</Computer>
<Security />
</System>
<EventData>
<Data>Microsoft.Office.Server.Administration.ApplicationServerAdministrationServiceJob</Data>
<Data>7d6130ec-41cf-4c9c-9fe2-1d1d43c276e0</Data>
<Data>Access is denied.
</Data>
</EventData>
</Event>-------------------------------
Log Name: Application
Source: Office SharePoint Server
Date: 7/21/2008 5:34:52 PM
Event ID: 7076
Task Category: Office Server Shared Services
Level: Error
Keywords: Classic
User: N/A
Computer: Test-SPWFE1
Description:
An exception occurred while executing the Application Server Administration job.Message: Access is denied.
Techinal Support Details:
System.Runtime.InteropServices.COMException (0x80070005): Access is denied.at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)
at System.DirectoryServices.DirectoryEntry.Bind()
at System.DirectoryServices.DirectoryEntry.get_IsContainer()
at System.DirectoryServices.DirectoryEntries.CheckIsContainer()
at System.DirectoryServices.DirectoryEntries.Find(String name, String schemaClassName)
at Microsoft.SharePoint.Metabase.MetabaseObjectCollection`1.Find(String name)
at Microsoft.SharePoint.Metabase.MetabaseObjectCollection`1.get_Item(String name)
at Microsoft.SharePoint.Administration.SPProvisioningAssistant.ProvisionIisApplicationPool(String name, ApplicationPoolIdentityType identityType, String userName, SecureString password, TimeSpan idleTimeout, TimeSpan periodicRestartTime)
at Microsoft.SharePoint.Administration.SPMetabaseManager.ProvisionIisApplicationPool(String name, Int32 identityType, String userName, SecureString password, TimeSpan idleTimeout, TimeSpan periodicRestartTime)
at Microsoft.Office.Server.Administration.SharedWebServiceInstance.CreateSharedWebServiceApplicationPool(SharedResourceProvider srp)
at Microsoft.Office.Server.Administration.ApplicationServerJob.ProvisionLocalSharedServiceInstances(Boolean isAdministrationServiceJob)
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="Office SharePoint Server" />
<EventID Qualifiers="0">7076</EventID>
<Level>2</Level>
<Task>1328</Task>
<Keywords>0x80000000000000</Keywords>
160; <TimeCreated SystemTime="2008-07-21T23:34:52.000Z" />
<EventRecordID>3105</EventRecordID>
<Channel>Application</Channel>
<Computer>Test-SPWFE1</Computer>
<Security />
</System>
<EventData>
<Data>Access is denied.
</Data>
<Data>System.Runtime.InteropServices.COMException (0x80070005): Access is denied.at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)
at System.DirectoryServices.DirectoryEntry.Bind()
at System.DirectoryServices.DirectoryEntry.get_IsContainer()
at System.DirectoryServices.DirectoryEntries.CheckIsContainer()
at System.DirectoryServices.DirectoryEntries.Find(String name, String schemaClassName)
at Microsoft.SharePoint.Metabase.MetabaseObjectCollection`1.Find(String name)
at Microsoft.SharePoint.Metabase.MetabaseObjectCollection`1.get_Item(String name)
at Microsoft.SharePoint.Administration.SPProvisioningAssistant.ProvisionIisApplicationPool(String name, ApplicationPoolIdentityType identityType, String userName, SecureString password, TimeSpan idleTimeout, TimeSpan periodicRestartTime)
at Microsoft.SharePoint.Administration.SPMetabaseManager.ProvisionIisApplicationPool(String name, Int32 identityType, String userName, SecureString password, TimeSpan idleTimeout, TimeSpan periodicRestartTime)
at Microsoft.Office.Server.Administration.SharedWebServiceInstance.CreateSharedWebServiceApplicationPool(SharedResourceProvider srp)
at Microsoft.Office.Server.Administration.ApplicationServerJob.ProvisionLocalSharedServiceInstances(Boolean isAdministrationServiceJob)</Data>
</EventData>
</Event>----------------------------------
Log Name: Application
Source: Office SharePoint Server
Date: 7/21/2008 5:34:51 PM
Event ID: 6482
Task Category: Office Server Shared Services
Level: Error
Keywords: Classic
User: N/A
Computer: Test-SPWFE1Description:
Application Server Administration job failed for service instance Microsoft.Office.Server.Search.Administration.SearchAdminSharedWebServiceInstance (c8e14f74-dd92-4c7e-8ab0-f696e65886e5).Reason: Access is denied.
Techinal Support Details:
System.Runtime.InteropServices.COMException (0x80070005): Access is denied.at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)
at System.DirectoryServices.DirectoryEntry.Bind()
at System.DirectoryServices.DirectoryEntry.get_IsContainer()
at System.DirectoryServices.DirectoryEntries.CheckIsContainer()
at System.DirectoryServices.DirectoryEntries.Find(String name, String schemaClassName)
at Microsoft.SharePoint.Metabase.MetabaseObjectCollection`1.Find(String name)
at Microsoft.SharePoint.Metabase.MetabaseObjectCollection`1.get_Item(String name)
at Microsoft.SharePoint.Administration.SPProvisioningAssistant.ProvisionIisApplicationPool(String name, ApplicationPoolIdentityType identityType, String userName, SecureString password, TimeSpan idleTimeout, TimeSpan periodicRestartTime)
at Microsoft.SharePoint.Administration.SPMetabaseManager.ProvisionIisApplicationPool(String name, Int32 identityType, String userName, SecureString password, TimeSpan idleTimeout, TimeSpan periodicRestartTime)
at Microsoft.Office.Server.Administration.SharedWebServiceInstance.Synchronize()
at Microsoft.Office.Server.Administration.ApplicationServerJob.ProvisionLocalSharedServiceInstances(Boolean isAdministrationServiceJob)
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="Office SharePoint Server" />
<EventID Qualifiers="0">6482</EventID>
<Level>2</Level>
<Task>1328</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2008-07-21T23:34:51.000Z" />
<EventRecordID>3104</EventRecordID>
<Channel>Application</Channel>
<Computer>Test-SPWFE1</Computer>
<Security />
</System>
<EventData>
<Data>Microsoft.Office.Server.Search.Administration.SearchAdminSharedWebServiceInstance</Data>
<Data>c8e14f74-dd92-4c7e-8ab0-f696e65886e5</Data>
<Data>Access is denied.
</Data>
<Data>System.Runtime.InteropServices.COMException (0x80070005): Access is denied.at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)
at System.DirectoryServices.DirectoryEntry.Bind()
at System.DirectoryServices.DirectoryEntry.get_IsContainer()
at System.DirectoryServices.DirectoryEntries.CheckIsContainer()
at System.DirectoryServices.DirectoryEntries.Find(String name, String schemaClassName)
at Microsoft.SharePoint.Metabase.MetabaseObjectCollection`1.Find(String name)
at Microsoft.SharePoint.Metabase.MetabaseObjectCollection`1.get_Item(String name)
at Microsoft.SharePoint.Administration.SPProvisioningAssistant.ProvisionIisApplicationPool(String name, ApplicationPoolIdentityType identityType, String userName, SecureString password, TimeSpan idleTimeout, TimeSpan periodicRestartTime)
at Microsoft.SharePoint.Administration.SPMetabaseManager.ProvisionIisApplicationPool(String name, Int32 identityType, String userName, SecureString password, TimeSpan idleTimeout, TimeSpan periodicRestartTime)
at Microsoft.Office.Server.Administration.SharedWebServiceInstance.Synchronize()
at Microsoft.Office.Server.Administration.ApplicationServerJob.ProvisionLocalSharedServiceInstances(Boolean isAdministrationServiceJob)</Data>
</EventData>
</Event>
Moving Databases, the Easy Way!
I've seen this come up a lot so I figured I'd write a short post about it. A lot of people have been asking how to move their databases to a new server and to do this the way most people are prescribing you've got a lot of reading and a lot of steps to perform. The following two post provide just a couple of examples of the numerous steps and issues to consider: http://techacid.spaces.live.com/blog/cns!6D62FC28E76BE4B!230.entry and http://blogs.technet.com/corybu/archive/2007/06/01/detaching-databases-in-moss-2007-environments.aspx.
But that's all just way too much work - who wants to deal with all those steps and what if something goes wrong and, oh, I have to rebuild my configuration database because you can't move it using the typical approaches. Shouldn't there be an easier way? Well, there is - use SQL Aliasing. SQL Aliasing basically just involves installing the SQL Server Configuration Manager on each server and configuring an Alias to point to your SQL Server and the good news is that Microsoft now recognizes this as a supported configuration for SharePoint.
So say you have an existing farm with all the databases on a server called MOSSSQL1 and you want to move all the databases to MOSSSQL2. To do this you can either install the SQL Server Configuration Manager on each server or if you have MDAC installed (which you should) then simply open up c:\windows\system32\cliconfg.exe (recommended over installing the SQL Configuration Manager). Go to the Alias tab and click "Add". In the dialog that appears you can then configure your alias (Alias Name=MOSSSQL1, Server=MOSSSQL2 if using Named Pipes or the IP address if using TCP/IP). Then click "OK" to save the alias (be sure to do this during off hours as once you click OK SharePoint will now start looking to your new server for the databases).
Once you have the alias configured you can now simply detach all the databases from your old server and then copy and re-attach the databases to the new server. If you're using Kerberos make sure you remember to create your SPNs for the new server. Keep in mind though that using this approach will mean that all of your databases will need to be moved (even non-SharePoint databases if you are connecting to those databases from any of your SharePoint servers). You can get around this if you use aliases prior to building your farm (keep reading). One thing to watch out for is your permissions - make sure you take note of what permissions each database has as some may change with the re-attach.
That's it - your done! Wasn't that easier than all the other crap you'd have to deal with otherwise? But wait, there's more! If you are in a position where you haven't yet built your farm then why not preemptively configure aliases? So perhaps you have just one SQL Server today but you anticipate the need to eventually distribute the databases across servers in the future to address future performance needs or maybe you just want to isolate the SharePoint databases from other databases in a shared server situation? Simply create the aliases that you anticipate needing and point them all to the same server for now - then when you need to move a database group you can just change the alias and move the databases in that group. If you want ultimate flexibility (perhaps you just don't have a clue as to how you will need to distribute your databases in the future) then create an alias for each database (not sure I'd take it this far myself but it would give you the most flexibility in allowing you to very easily move any one or more databases to any other server with ease).
I've been using this approach for years with both 2003 and 2007 and it's always worked great for me and hopefully others will benefit as well.
Content Deployment QFE Pack Now Available
I just saw a couple of posts from AC and Spence regarding the release of the Content Deployment QFE Pack:
I won't reiterate what they've already done a good job stating. My point of this post is to ask those who have previously commented on my blog about issues with the CD to please post any follow-up information you may have if you end up deploying the QFE and re-run the scenario that caused the errors you experienced. The most popular commands I've got are all related to those that use the content deployment API and they are the ones with the most issues that I simply can't do anything about so any feedback folks can provide would be greatly appreciated.
Anyone Been Counting?
I just reached a milestone - 100 commands!!! And that's not counting the 6 additional that are code complete but just not documented yet! When I originally set out creating this thing I expected that maybe I'd have a dozen or so commands but who knew that I'd keep finding so many things to do with STSADM?
I thought that I'd share some interesting stats about the usage of this blog and it's commands - here's a screen shot from Google Analytics showing the activity since I started tracking it in September of 2007:
I'm currently seeing just under 600 visitors a day during the week (which probably doesn't sound like much to some people but for me is pretty dang good). The commands have been downloaded over 4400 times from people in 119 countries. There have been 27,500 unique visitors and approximately 43,000 visits to the site. The most visited page (and therefore the most popular command) is the gl-convertsubsitetositecollection command with 4,371 views. The gl-importlist, gl-exportlist, and gl-copylist commands are the next most popular with 3,662 views. Of course, these commands have been around a lot longer than many but their stats continue to grow. The thing that I think is the coolest though - 10% of my traffic is direct traffic - people who know my blog and are explicitly checking it out (most likely because they've subscribed to my feed which is really cool too)!
I've really enjoyed working on all these commands and I truly appreciate all the great feedback and questions that so many people have posted to the blog. SharePoint is such a large product and I'm learning new things every day so I expect that I'll have plenty more to contribute (whether in the form of new extensions or other "stories from the field"). Thanks for hanging with me and keep posting your comments - I love hearing that this stuff is helping people - it makes it worth the effort!!!
-Gary