which country user step here?

Tag Cloud

MOSS (47) SharePoint 2007 (37) SharePoint 2013 (31) SharePoint 2010 (23) MOSS admin (17) PowerShell (17) admin (17) developer (16) List (15) WSS (14) sql query (14) MOSS SP2 (13) end user (11) scripting (11) wss V3 (11) permission (10) sql (9) Moss issue (8) search (8) database (7) RBS (6) Service Pack (6) reportadmin (6) workflow (6) CU (5) Excel (5) Patch (5) client object model (5) Client Code (4) Command (4) Cumulative Updates (4) IIS (4) SharePoint 2019 (4) SharePoint designer (4) office 365 (4) stsadm (4) user porfile (4) ASP.NET (3) Content Database (3) Groove (3) Host Named Site Collections (HNSC) (3) SharePoint 2016 (3) Tutorial (3) alert (3) authentication (3) batch file (3) codeplex (3) domain (3) error (3) incomming email (3) issue (3) restore (3) upload (3) Caching (2) DocAve 6 (2) Folder (2) Index (2) Internet (2) My Site Cleanup Job (2) My Sites (2) News (2) People Picker (2) Share Document (2) SharePoint admin (2) View (2) Web Development with ASP.NET (2) add user (2) audit (2) coding (2) column (2) deploy solution (2) download (2) enumsites (2) exam (2) export (2) june CU (2) load balance (2) mySites (2) network (2) orphan site (2) performance (2) profile (2) project server (2) query (2) security (2) server admin (2) theme (2) timer job (2) training (2) web master (2) web.config (2) wsp (2) 70-346 (1) 70-630 (1) AAM (1) Anonymous (1) Approval (1) AvePoint (1) Cerificate (1) Consultants (1) Content Deployment (1) Content Type (1) DOS (1) Document Library (1) Drive Sapce (1) Excel Services (1) Export to Excel (1) Feature (1) GAC (1) Get-SPContentDatabase (1) Get-WmiObject (1) HTML calculated column (1) ISA2006 (1) IT Knowledge (1) ITIL (1) Install (1) Link (1) MCTS (1) Macro (1) Masking (1) Migration (1) NLBS (1) Nintex (1) Office (1) Open with Explorer (1) ROIScan.vbs (1) Reporting Services (1) SPDisposeCheck.exe (1) SQL Instance name (1) SSRS (1) Sandbox (1) SharePoint Online (1) SharePoint farm (1) Shared Services Administration (1) Site Collection Owner (1) Site template (1) Skype for business (1) Steelhead (1) Teams (1) URLSCAN (1) VLOOKUP (1) WSS SP2 (1) XCOPY (1) abnormal incident (1) admi (1) app (1) application pool (1) aspx (1) availabilty (1) backup (1) binding (1) blob (1) branding sharepoint (1) cache (1) calendar (1) change password (1) connection (1) copy file (1) counter (1) crawl (1) custom list (1) domain security group (1) event (1) excel 2013 (1) facebook (1) filter (1) fun (1) group (1) iis log (1) import (1) import list (1) improment (1) interview (1) keberos (1) licensing (1) log in (1) metada (1) migrate (1) mossrap (1) notepad++ (1) onedrive for business (1) operation (1) owa (1) process (1) publishing feature (1) resource (1) send email (1) size (1) sps2003 (1) sql201 (1) sql2012 (1) sub sites (1) system (1) table (1) task list (1) today date (1) trial (1) vbs (1) video (1) web part (1) web server (1) widget (1) windows 2008 (1) windows 2012 R2 (1) windows Azura (1) windows account (1) windows2012 (1) wmi (1)

Sunday, August 16, 2015

Get Site Collections per Content Database one-liner

Copy from Here


Get-SPContentDatabase | %{Write-Output "- $($_.Name)”; foreach($site in $_.sites){write-Output $site.url}}

Now let’s say you want to save this output to a .txt file, you can add “> C:\sitecollections.txt”.
The full command would be:
Get-SPContentDatabase | %{Write-Output "- $($_.Name)”; foreach($site in $_.sites){write-Output $site.url}} > C:\sitecollections.txt

Friday, August 14, 2015

PowerShell script to list down all the site collection owner at web app level

copy from : http://geekswithblogs.net/bjackett/archive/2011/03/25/powershell-script-to-display-all-sharepoint-site-collection-administrators-in.aspx

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

$siteUrl = Read-Host "Enter Site URL"

$rootSite = New-Object Microsoft.SharePoint.SPSite($siteUrl)
$spWebApp = $rootSite.WebApplication

foreach($site in $spWebApp.Sites)
{
    foreach($siteAdmin in $site.RootWeb.SiteAdministrators)
    {
        Write-Host "$($siteAdmin.ParentWeb.Url) - $($siteAdmin.DisplayName)"
    }
    $site.Dispose()
}

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

Wednesday, August 12, 2015

The script appears to run outside administrator context

Scenario :

  • Running ROIScan.vbs and show the error message below 
  • Running PowerShell script check the serrver hard disk space unable to remote in

Error message  :


  • ROIScan.vbs : The script appears to run outside administrator context
  • PowerShelll : Get-WmiObject : Not found

Solution : copy from here

1. winmgmt /verifyrepository
 - Got error Repository inconsistent
2. winmgmt /salvagerepository
 - Once successful everything started working fine
/verifyrepository []
        Performs a consistency check on the WMI repository. When you add the
        /verifyrepository switch without the argument, then the live
        repository currently used by WMI is verified. When you specify the path
        argument, you can verify any saved copy of the repository. In this
        case, the path argument should contain the full path to the saved
        repository copy. The saved repository should be a copy of the entire
        repository folder.
/salvagerepository
        Performs a consistency check on the WMI repository, and if an
        inconsistency is detected, rebuilds the repository.  The content of the
        inconsistent repository is merged into the rebuilt repository, if it
        can be read. The salvage operation always works with the repository
        that the WMI service is currently using. MOF files that contain the
        #pragma autorecover preprocessor statement are restored to the
        repository.

Tuesday, August 11, 2015

PowerShell Script : copy file to multiple target Computer/Server

Scenario to be done :  Copy 4 file (ROIScan.vbs ,MspFixUp.vbs , wiCollectFiles.vbs, run fixup.txt) to target server.

target server list keep at "C:\Users\Desktop\Computers.txt"

Save below file as powershell file format .ps1 . run it . done.
========================================================================

$ServerName = Get-Content "C:\Users\Desktop\Computers.txt"


foreach ($Server in $ServerName) {

Copy-Item -Path D:\software\ROIScan.vbs         -Destination \\$Server\d$\software\
Copy-Item -Path D:\software\MspFixUp.vbs         -Destination \\$Server\d$\software\
Copy-Item -Path D:\software\wiCollectFiles.vbs    -Destination \\$Server\d$\software\


}
========================================================================


Monday, August 10, 2015

Script Creating SharePoint User MySites using PowerShell

While working on a large migration project (SharePoint 2010 to SharePoint 2013), I had a requirement to script the creation of user MySites for hundreds of users. I knocked this little PowerShell function together to do just that!

Function Create-MySite            
{            
 [CmdletBinding()]            
 Param            
 (            
  [Parameter(Mandatory = $True,Position=2,valueFromPipeline=$true)][String]$Username,            
     [Parameter(Mandatory = $True,Position=1)][String]$MySiteRootURL              
 )            
 [void][reflection.assembly]::Loadwithpartialname("Microsoft.Office.Server");               
 $site=new-object Microsoft.SharePoint.SPSite($MySiteRootURL);            
 try            
 {            
  $serviceContext = Get-SPServiceContext $site;            
  $upm = new-object Microsoft.Office.Server.UserProfiles.UserProfileManager($serviceContext);             
  if($upm.UserExists($Username) -eq $false)            
  {            
   Write-Host "User $Username was not found in the profile store." -f yellow;            
   return;            
  }            
  $userProfile = $upm.GetUserProfile($Username);            
  if($userProfile.PersonalSite -eq $Null)            
  {            
   Write-Host "Creating MySite for user $Username" -f darkyellow;            
   $userProfile.CreatePersonalSite();                  
   Write-host "Successfully created MySite for user $Username" -f green;            
  }            
  else            
  {            
   Write-Host "User $Username already has a MySite." -f darkgreen;            
  }            
 }            
 catch            
 {            
  Write-Host "Encountered an error creating a MySite for user $Username. Error:"$_.Exception -f Red;            
 }            
 finally            
 {            
  $site.Dispose();            
 }            
}

You can call the function like this (for a single user):

#Example - Create a MySite for user  "tonyj"            
Create-MySite -MySiteRootURL "http://mysite.bigintranet.com.au" -Username "tonyj"

Or call it like this, for a batch of users:

#To Create for an array of users            
$users = @('tonyj','bobh','markf','billd')            
$users | Foreach {Create-MySite -MySiteRootURL "http://mysite.bigintranet.com.au" -username $_}


this article copy from : Matthew Yarlett

Wednesday, August 5, 2015

Disable incoming email settings pages for SharePoint server 2007

TO restrict user to change incoming email settings, we must customize some of aspx files.

Implementation Instructions

1.         Logon to the servers, and open “C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\template\LAYOUTS”.

2.         Take back up following 2 aspx files, and place them on same directory.
*
new.aspx
* EmailSettings.aspx


3.         Change file name that you back up now as below
*
new.aspx                                                          new_xxx.aspx
* EmailSettings.aspx                                        EmailSettings_xxx.aspx

4.         Open new.aspx(Original). And add “disabled="disabled"” in the following code.

Around line 412…

disabled="disabled"
>
disabled="disabled">


Around line 504….

disabled="disabled">
disabled="disabled">


5.         Save and close.

6.         Open EmailSettings.aspx(Original). And change code as following.

Around line 97…
Original

function _spBodyOnLoad()
{
SetControlsDisabled(document.getElementById("<%= EnabledFalse.ClientID %>").checked);
}

New
function _spBodyOnLoad()
{
//SetControlsDisabled(document.getElementById("<%= EnabledFalse.ClientID %>").checked);
SetControlsDisabled(document.getElementById("<%= EnabledFalse.ClientID %>").disabled = true);
SetControlsDisabled(document.getElementById("<%= EnabledTrue.ClientID %>").disabled = true);
}

7.         Save and close.

8.         Repeat above step for all WFEs.


how to open the setting page 

1.       Open the document library you just created.
2.       Click Settingsdocument library settings.
3.       Under Communication Settings click E-Mail Settings.

4.       Change URL as below.
http:/xxx/sites/xxx/_layouts/EmailSettings.aspx?List=xxx
      ↓
http:/xxx/sites/xxx/_layouts/EmailSettings_xxx.aspx?List=xxx

Power Shell Script to get all the Drive space from remote server

copy the script from internet and edit accordingly to my own use , so like to share with other Server Admin for this .


  • List down all your target server name at the text file at Computers.txt 
  • Save below script as checkDisk.ps1 format.

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

$ServerName = Get-Content "C:\Users\Desktop\Computers.txt"


foreach ($Server in $ServerName) {

Copy-Item -Path D:\software\ROIScan.vbs         -Destination \\$Server\d$\software\
Copy-Item -Path D:\software\MspFixUp.vbs         -Destination \\$Server\d$\software\
Copy-Item -Path D:\software\wiCollectFiles.vbs    -Destination \\$Server\d$\software\
Copy-Item -Path "D:\software\run fixup.txt"    -Destination \\$Server\d$\software\


}
========================================================================


This version is customize by my own use with header:
========================================================================
$ServerName = Get-Content "C:\Users\admSin_Peow_Ng\Desktop\Computers.txt"
$ConvertToGB = (1024 * 1024 * 1024)

"Server Name "+ " C drive Space" + " C drive Free Space"+ " D drive Space" + " D drive Free Space"
"===============" + " ==============" + " ==================" + " =============" + " =================="


$report = foreach ($Server in $ServerName) {

    $diskC = Get-WmiObject Win32_LogicalDisk -ComputerName $Server -Filter "DeviceID='C:'" | Select-Object Size,FreeSpace
    $diskD = Get-WmiObject Win32_LogicalDisk -ComputerName $Server -Filter "DeviceID='D:'" | Select-Object Size,FreeSpace



    $Server +" " + (($diskC.Size/ $ConvertToGB)).tostring("###.###") + " GB " + (($diskC.FreeSpace / $ConvertToGB)).tostring("###.###")+ " GB         " + (($diskD.Size / $ConvertToGB)).tostring("###.###") + " GB " + (($diskD.FreeSpace / $ConvertToGB)).tostring("###.###")+ " GB "

}

$report
========================================================================


Lastly open you Windows PowerShell and run the checkDisk.ps1 .
*if have server connection problem ,you will see the error message

if you want write the output to text file , just run the below command:
*if you write to text file then will skip the error but the output will remain no data for the server have connection problem

PS : checkDisk.ps1 > report.txt

you can just copy and paste to excel to manipulate the data.




Monday, August 3, 2015

Can't activate feature because of an existing column in a child site

Problem :


  • Manage Content and Structure shortcut not show at Site Actions
    • Need activate feature 
      • SharePoint Server Publishing Infrastructure
      • SharePoint Server Publishing
  • Activate publishing feature but fail

Error message :

When activating the publishing feature :


Enable-SPFeature : The field with Id {51d39414-03dc-4bd0-b777-d3e20cb350f7} defined in feature {aebc918d-b20f-4a11-a1db-9ed84d79c87e} was found in the current site collection or in a subsite.


Resolution : From different source 

http://sharepoint.stackexchange.com/questions/31597/cant-activate-feature-because-of-an-existing-column-in-a-child-site
http://sharepoint.stackexchange.com/questions/27196/activating-ootb-features-fails

Summary of resolution :
Run the script to found out which sub site to delete :

It seems like your problem is that a site column with ID is already exist at root or sub sites. This site is created typically by SharePoint publishing infrastructure and it corresponds to PublishingStartDate site column. This is (typically) installed by a hidden FEATURE when publishing feature is activated.


Use following script to find the webs in which it exists:

 $url = Read-Host -Prompt "Provide Url for the web";
$fieldID = "51d39414-03dc-4bd0-b777-d3e20cb350f7"
$site = Get-SPSite $url
foreach ($web in $site.AllWebs)
{   
    foreach ($field in $web.Fields)
    {
        if ($field.Id -eq $fieldID)
        {
            $msg = [String]::Format("{0} contains the field.", $web.Url);
            Write-Host $msg
        }
    }
}
 2. Run the Poweshell script :


 $urlSite = "http://server/sitecollection"

$urlSubWeb = "http://server/sitecollection/subweb" #sub web identify by above step
$tempPath = "d:\temp"
$featId = "f6924d36-2fa8-4f0b-b16d-06b7250180fa" # Publishing feature
# Backup the site collection in case something goes wrong


Backup-SPSite -Identity $urlSite -Path "$tempPath\sitecoll.bak"


Export-SPWeb -Identity $urlSubWeb -Path "$tempPath\subweb.cmp" -IncludeUserSecurity -IncludeVersions All


Remove-SPWeb  -
$url SubWeb


Enable-SPFeature -Identity $featId -Url $urlSite 

after enable the Feature still unable to resolve the issues: Run below command

Manually deactivate the both feature 


Run Below command :


stsadm -o activatefeature -name PublishingSite -url 
$url -force 

stsadm -o activatefeature -name PublishingWeb -url 
$url -force 

stsadm -o activatefeature -name PublishingResources -url 
$url -force

Lastly manually activate the feature  and test on it.


#final step restore the sub site

New-SPWeb -Url $urlSubWeb -Language 1033

Import-SPWeb -Identity $urlSubWeb -Path "$tempPath\subweb.cmp"  -IncludeUserSecurity