Saturday, March 24, 2018

SharePoint 2010 TIP: List Web Application Pools and Identities using PowerShell

In SharePoint 2010, a single PowerShell commandlet, Get-SPServiceApplicationPool, will list all application pools and their identities for service applications.  However, there is no corresponding commandlet for directly listing application pools and their identities for web applications, but it can be done using piping:
Get-SPWebApplication | Select-Object DisplayName,{$_.ApplicationPool.Name},{$_.ApplicationPool.ID},{$_.ApplicationPool.UserName} | ft -auto
If you want to put the output directly into a file, just do this:

Get-SPWebApplication... | Export-CSV -Path "[Path]\[FileName.csv]"
The column headers will be the default property names or expressions that you used. You can customize and improve the output column headers by doing this:
Get-SPWebApplication | Select-Object DisplayName, @{N="Application Pool"; E={$_.ApplicationPool.Name}}, @{N="ID";E={$_.ApplicationPool.ID}}, @{N="Identity"; E={$_.ApplicationPool.UserName}} | ft -auto
 If you don't know the other ApplicationPool properties that you can get from Get-SPWebApplication, just do this:
$wa = Get-SPWebApplication -Identity "[web app name]"
$wa.ApplicationPool

References

Notes

  • This also works for SharePoint 2013 and 2016.

Saturday, March 17, 2018

SharePoint Online: Training Resources


  • SharePoint Online
    • General
    • Global Administrator
      • About the SharePoint Online admin role in Office 365 (view)
      • Change site collection version and upgrade settings (view)
      • Create a site collection (view)
      • Delete a site collection (view)
      • Manage site collection administrators (view)
      • Manage site creation in SharePoint Online (view)
      • Restore a deleted site collection (view)
      • SharePoint Online planning guide (view)
    • SharePoint Administrator
      • Learn best practices for managing and administering SharePoint Online and OneDrive for Business (watch)
      • Manage SharePoint and OneDrive in Office 365: A field guide for administrators (watch)
      • Manage SharePoint using the new Sharepoint Admin Center (watch)
      • SharePoint 2010: Microsoft SharePoint Online: An Overview for Enterprise IT Professionals (view)
      • SharePoint and Office 365 Cloud-Connected Hybrid Scenarios (watch)
      • SharePoint Conference 2014: SharePoint Online Management and Control (watch)
      • SharePoint Online and OneDrive for Business Management and Control (watch)
      • SharePoint Online: Get Started with SharePoint Online (view)
      • TechEd 2014: Microsoft SharePoint Online Management and Control (watch)
    • Site Collection Administrator
      • SharePoint Online video training (watch)
      • SharePoint (online) help center (view)
      • Site Owner vs Site Collection Administrator (View)
      • Create a team or communication site (watch)
    • Site (Web) Administrator
      • Add a page to a site (view)
      • Understanding permission levels in SharePoint (view)
      • End User Help Center (view)
    • User
      • Accessibility support for SharePoint Online (view)
      • Add or remove a news post (watch)
      • Create and share files in a library (watch)
      • Document collaboration and co-authoring (view)
      • Explore your team site (watch)
      • Fix problems opening documents in SharePoint libraries (view)
      • Manage large lists and libraries in SharePoint (view)
      • Move or copy items from a SharePoint document library (view)
      • Sign in to SharePoint Online (view)
      • Sync SharePoint files and folders (watch)
      • Use, filter and update a list (watch)
      • What is SharePoint Online? (watch)
  • SharePoint Onprem
    • General
      • tbd
    • Farm Administrator
      • tbd
    • Site Collection Administrator
      • tbd
    • Site Owner
      • tbd
    • User
      • tbd

Notes

  • Almost all links connect to Microsoft -drafted pages.
  • Many of these pages (particularly the SharePoint Online training articles and videos) present topics and training that are equally applicable to SharePoint Online as well as SharePoint Onprem.  Some pages also present tabs that enable you to quickly switch viewing the topic for both Online and Onprem.  

Thursday, March 15, 2018

SharePoint Online: unable to share a site with external users

Problem

You are a farm administrator.  A site administrator reports that a new administrator to the site is unable to share the site with external users.  She indicates that she granted the new administrator full control to the site, but that the new administrator is still unable to share the site.  You begin troubleshooting.

Troubleshooting

  1. Request site collection administrator permission to the site.
    1. Administrator reports that "site collection administrator" could not be found but granted your account Full Control to site.
    2. Navigated to Settings > Site Settings.
    3. You note that Site collection administrator link is not shown, nor is Site Collection Administration link group presented.
    4. Navigate to Settings > Site Settings > Users and Permissions > Site permissions.
    5. You find three site groups and a number of user accounts granted permissions directly.
    6. You can view the members of the site's Owner group, but not the members of the site's Visitors or Members groups.
    7. When you click the Access Request Settings button, the Access Request Settings dialog appears and an error message is displayed: Members cannot share this site because this site is missing a default members group.
      .
    8. This findings suggests cause of issue is due to a default group not being set that external users are automatically added to,
  2. Search on error message.
    1. You find this reference, regarding setting default groups.
  3. Check site's default groups.
    1. Using "<siteURL>/_layouts/permsetup.aspx", you discover that none of the site's default groups have been set, even though the site does have the usual three user groups.
  4. Request the site collection administrator set the site's default groups.
    1. The site collection administrator sets the default groups.
    2. The site collection administrator reports that though the new site administrator cannot share the site with external users, the original site administrator still can add external users and has been doing so for years.  This finding suggests a different cause, possibly a permissions issue.
  5. Request detailed description plus screenshots.
    1. User provides additional description and also provides screen shot of the "Share [site name]" dialog.  On this dialog, the user entered the email address of an external user, a welcome text, and selected the site's Members group to add the external user's account to, below which is displayed the error message: You do not have permission to add users to the selected SharePoint group.
    2. Navigate to Settings > Site Settings > Users and Permissions > Site permissions and then click on the Members group, but are denied.  You click on the Visitors group and are denied.  You click on the Owners group and are able to view the members and you note your own account listed.
    3. Navigate to Settings > Site Settings > Users and Permissions > People and groups > [in Current navigation, click on More...].  You then try to click on the Edit icon for each of the site's groups, Visitors, Members and Owners, but are denied.
    4. This finding suggests the cause of the issue may be site user group configuration.
    5. You then contact the site collection administrator to request site collection administrator permission level.
  6. Request site collection administrator permission.
    1. The site collection administrator adds your account to the Site Collection Administrators group.
    2. Navigate to Settings > Site Settings > Users and Permissions > People and groups > [in Current navigation, click on More...].  You then try to click on the Edit icon for each of the site's groups, Visitors, Members and Owners and are now successful.
  7. Check configuration of each site group.
    1. The site collection administrator is the owner of all site groups.
    2. All groups are configured to allow only group members to be able to view the group's membership.
    3. The Owners group is configured to only allow the group's owner to be able to edit group membership.
    4. The Visitors and Members groups are configured to allow members of the group to edit group membership.
    5. These findings further indicate that the cause of the issue involves site group configuration.
  8. Check site administrator permissions and group memberships.
    1. Navigate to Settings > Site Settings > Users and Permissions > Site permissions.
    2. Using the Check Permission capability (button in the ribbon), you check the permissions for both the current and new site administrators.  While doing so, while you enter their names, you discover that the new site administrator has multiple different user accounts, including personal, customer and employer accounts.  You also find that the current site administrator also has multiple different user accounts, including customer and employer user accounts.
    3. You review the site collection's User Information List to positively identify all accounts for each user.  You then check the permissions for each of these accounts.  Reviewing the results, you find that the current site administrator's customer account has been added to the site's Members group, but that the new site administrator's customer account has not.  Both site administrators have been granted full control permission level directly.
    4. You add the new site administrator's customer account to the site's Members group and then request that the new site administrator try to share the site again.
  9. Request new site sharing attempt.
    1. You request the new site administrator to attempt to share the site with an external user.  The user then reports that this attempt was successful.

Solution

  • As site collection administrator, ensure that your site administrators are members of those site groups that they are authorized to add new users to when sharing the site with new users.
  • Use your site collection's User Information List and the Check Permissions capability to explore and troubleshoot user permissions and group memberships.

References

Friday, March 2, 2018

SharePoint 2016: Install Prerequisites Offline Using an Arguments File


Introduction

This posting consolidates notes regarding offline installation of SharePoint Server 2016 Enterprise prerequisites.  The approach used here for offline installation of the prerequisites involves using PrerequisiteInstaller.exe along with a PrerequisiteInstaller.Arguments.txt file specifying the local or network location of the prerequisite files to be installed. The prerequisite installation files are identified in the arguments file in the order in which PrerequisiteInstaller.exe attempts to actually install them. The prerequisite file URLs are those used by PrerequisiteInstaller.exe itself to download the prerequisites, not necessarily the ones provided in the TechNet references listed below.  A few of the prerequisites downloaded from these references were found to be different than the ones downloaded using the URLs provided by PrerequisiteInstaller.exe.

Procedure

  1. Copy the SharePoint Server 2016 Enterprise installation media to the server's data drive, D.
  2. Download all prerequisite files, using the URLs indicated by the PrerequisiteInstaller.exe and placed them in a local folder on the server, call it:
    D:\prereqs
  3. Number them in the order in which they are installed by PrerequisiteInstaller.exe:
    01.sqlncli64.msi
    02.msodbcsql.msi
    03.Synchronization.msi
    04.WindowsServerAppFabricSetup_x64.exe
    05.MicrosoftIdentityExtensions-64.msi
    06.setup_msipc_x64.exe
    07.WcfDataServices.exe
    08.AppFabric-KB3092423-x64-ENU.exe
    09.vcredist_x64.exe
    10.vc_redist.x64.exe
    
  4. Create a new text file, naming it
    PrerequisiteInstaller.Arguments.txt
  5. Add the list of switches to this file in the order in which the prerequisite installer attempts to install them:
    /SQLNCli:
    /ODBC:
    /Sync:
    /AppFabric:
    /IDFX11:
    /MSIPCClient:
    /WCFDataServices56:
    /KB3092423:
    /MSVCRT11:
    /MSVCRT14:
    
  6. Add the appropriate file path and name to each switch, making sure that there is no space between the colon ":" and the quotation mark """ next to it:
    /SQLNCli:"D:\prereqs\01.sqlncli.msi" 
    /ODBC:"D:\prereqs\02.msodbcsql.msi" 
    /Sync:"D:\prereqs\03.Synchronization.msi" 
    /AppFabric:"D:\prereqs\04.WindowsServerAppFabricSetup_x64.exe" 
    /IDFX11:"D:\prereqs\05.MicrosoftIdentityExtensions-64.msi" 
    /MSIPCClient:"D:\prereqs\06.setup_msipc_x64.exe" 
    /WCFDataServices56:"D:\prereqs\07.WcfDataServices.exe" 
    /KB3092423:"D:\prereqs\08.AppFabric-KB3092423-x64-ENU.exe" 
    /MSVCRT11:"D:\prereqs\09.vcredist_x64.exe" 
    /MSVCRT14:"D:\prereqs\10.vc_redist.x64.exe"
    
  7. Lastly, backspace each switch so that everything is put onto one line, making sure that one space comes before each switch (except for the first switch), and then save and close the file.
  8. Copy the file to the same location as the PrerequisiteInstaller.exe.
  9. Open an elevated DOS shell, navigate to the folder containing the installation media, and then run PrerequisiteInstaller.exe.  It will automatically detect if a PrerequisiteInstaller.Arguments.txt file is the same folder.  Installation and configuration is quick and completes in less than five minutes.  There will be at least two reboots.

References

Notes

  • The process used for obtaining the PrerequisiteInstaller.exe URLs for prerequisite file downloads involved iteratively running PrerequisiteInstaller.exe in an offline environment, identifying where the preprequisite file failed to download by reviewing the log file, noting down the URL, downloading and installing that prerequisite, and then  rerunning PrerequisiteInstaller.exe again.  Apparently, PrerequisiteInstaller.exe stops at the first error it experiences when trying to download a prerequisite file, and only then does it provide the URL!.  After working through ten prerequisites successively, all prerequisites and their URLs were finally identified.