Search This Blog

Google Analytics

Showing posts with label Microsoft. Show all posts
Showing posts with label Microsoft. Show all posts

Friday, November 07, 2025

Recursively List All Files with PowerShell

If you are working with PowerShell and need a fast way to list all files in a directory, including those buried in subfolders, this one-liner will work:
Get-ChildItem -Path . -Recurse -File | Select-Object FullName
This script performs a recursive search starting from the current directory (.), finds all files (excluding folders), and outputs their full paths.

Tuesday, October 14, 2025

PowerShell Tip: Bulk Appending File Extensions with One-Liner Magic

Ever found yourself staring at a folder full of files and wishing you could batch append them all with a .txt suffix? PowerShell makes this delightfully simple with a one-liner:
Get-ChildItem -File | Rename-Item -NewName {$_.Name + '.txt'}
To expand further to include files in all sub folders, use below instead.
Get-ChildItem -File -Recurse | Rename-Item -NewName { $_.Name + '.txt' }
If you wish to rollback what you just did, use the following:
Get-ChildItem -Path . -Recurse -File -Filter "*.txt" | ForEach-Object {
    $newName = [System.IO.Path]::GetFileNameWithoutExtension($_.Name)
    Rename-Item -Path $_.FullName -NewName $newName
}
Feel free to replace the txt with a different one based on your needs!

Tuesday, August 15, 2017

Group Internet Explorer Tabs Into One Icon In Taskbar

One annoying default "feature" of Internet Explorer is it displays each tab as separate taskbar icon. This is unlike other browsers like Chrome and Firefox. To get around this, try the following steps:
  1. Tools → Internet Options
  2. Under the General tab, click on Tabs button.
  3. Make sure 'Show previews for individual tabs in the taskbar' option is unchecked.
  4. Click OK to apply changes.
  5. Re-launch Internet Explorer.
IE tabs should now be grouped into one single icon in the taskbar.

Wednesday, July 26, 2017

Windows - Icon Not Showing Correctly Fix

If you find that icons of your applications are not showing correctly on your Windows 7, your Icon Cache may be corrupted. The Icon Cache or IconCache.db is a special database file that Windows uses to make drawing icons of applications faster without having to get from individual application each time.

To be able to get the icons displayed correctly again, IconCache.db has to be rebuilt.
  1. Launch Task Manager.
  2. Look for explorer.exe process and end it.
  3. Locate IconCache.db and delete it. In Windows 7/8, the IconCache.db file can be found at C:\Users\%Username%\AppData\Local\. (you may need to enable to show hidden files before you can locate IconCache.db).
  4. From Task Manager, click on File > New Task (Run).
  5. Type explorer.exe and then click on OK button.

Your icons should be back!

Monday, July 17, 2017

Restore Database Backup Over a Network Drive

How do you restore a Microsoft SQL database backup over a network drive without having to download to local? Since the database server is run as a service under an account that often without network access permission, it wouldn't be possible to be able to select the network drive/path when you are performing a restore. Nonetheless, we are not left without workaround.

To restore database backup over a network, you will need to run the following SQL statements using your SQL Management Studio.

--enable to show advanced options
EXEC sp_configure 'show advanced options', 1
GO
--apply changes for show advanced options
RECONFIGURE
GO
--enable xp_cmdshell
EXEC sp_configure 'xp_cmdshell', 1
GO
--apply changes for xp_cmdshell
RECONFIGURE
GO
--replace network path, username and password accordingly
EXEC xp_cmdshell 'NET USE Z: \\SERVER\Path password /USER:Domain\Username'
GO

Once the above are executed, you should be able to choose Z:\ network drive to restore your database backup file. I hope it helps.

Tuesday, May 16, 2017

SharePoint 2013 Site Template ID List for PowerShell

If you are creating a new SharePoint site collection using PowerShell, you can specify the template to be applied. To do that, PowerShell expects you to provide the Template ID. The following is a list of template ids which may come handy.

Template IDTitle
GLOBAL#0Global template
STS#0Team Site
STS#1Blank Site
STS#2Document Workspace
MPS#0Basic Meeting Workspace
MPS#1Blank Meeting Workspace
MPS#2Decision Meeting Workspace
MPS#3Social Meeting Workspace
MPS#4Multipage Meeting Workspace
CENTRALADMIN#0Central Admin Site
WIKI#0Wiki Site
BLOG#0Blog
SGS#0Group Work Site
TENANTADMIN#0Tenant Admin Site
APP#0App Template
APPCATALOG#0App Catalog Site
ACCSRV#0Access Services Site
ACCSRV#1Assets Web Database
ACCSRV#3Charitable Contributions Web Database
ACCSRV#4Contacts Web Database
ACCSRV#5Projects Web Database
ACCSRV#6Issues Web Database
ACCSVC#0Access Services Site Internal
ACCSVC#1Access Services Site
BDR#0Document Center
DEV#0Developer Site
DOCMARKETPLACESITE#0Academic Library
EDISC#0eDiscovery Center
EDISC#1eDiscovery Case
OFFILE#0(obsolete) Records Center
OFFILE#1Records Center
OSRV#0Shared Services Administration Site
PPSMASite#0PerformancePoint
BICenterSite#0Business Intelligence Center
SPS#0SharePoint Portal Server Site
SPSPERS#0SharePoint Portal Server Personal Space
SPSPERS#2Storage And Social SharePoint Portal Server Personal Space
SPSPERS#3Storage Only SharePoint Portal Server Personal Space
SPSPERS#4Social Only SharePoint Portal Server Personal Space
SPSPERS#5Empty SharePoint Portal Server Personal Space
SPSMSITE#0Personalization Site
SPSTOC#0Contents area Template
SPSTOPIC#0Topic area template
SPSNEWS#0News Site
CMSPUBLISHING#0Publishing Site
BLANKINTERNET#0Publishing Site
BLANKINTERNET#1Press Releases Site
BLANKINTERNET#2Publishing Site with Workflow
SPSNHOME#0News Site
SPSSITES#0Site Directory
SPSCOMMU#0Community area template
SPSREPORTCENTER#0Report Center
SPSPORTAL#0Collaboration Portal
SRCHCEN#0Enterprise Search Center
PROFILES#0Profiles
BLANKINTERNETCONTAINER#0Publishing Portal
SPSMSITEHOST#0My Site Host
ENTERWIKI#0Enterprise Wiki
PROJECTSITE#0Project Site
PRODUCTCATALOG#0Product Catalog
COMMUNITY#0Community Site
COMMUNITYPORTAL#0Community Portal
SRCHCENTERLITE#0Basic Search Center
SRCHCENTERLITE#1Basic Search Center
SRCHCENTERFAST#0FAST Search Center
visprus#0Visio Process Repository

» SharePoint 2013 Site Template ID List for PowerShell | Absolute SharePoint Blog

Thursday, April 28, 2016

SharePoint - Site URL Inaccessible from the Server

Despite you having set the 'alternate access mapping' e.g. http://domain.com/, and added the domain url into the server's hosts file, accessing the SharePoint site may encounter HTTP 401 authentication error from the server itself. This issue does not happen if you accessed it from outside.

One cause of this behaviour is related to the loopback security check the Windows server is doing. There are two workarounds as described by an article from Microsoft KB and the following are sufficient to make it work great for me.

  1. Click Start, click Run, type regedit, and then click OK.

  2. In Registry Editor, locate and then click the following registry key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa

  3. Right-click Lsa, point to New, and then click DWORD Value.

  4. Type DisableLoopbackCheck, and then press ENTER.

  5. Right-click DisableLoopbackCheck, and then click Modify.

  6. In the Value data box, type 1, and then click OK.

  7. Quit Registry Editor, and then restart your computer.

Wednesday, April 27, 2016

Unable to view Roles and Features in Server Manager after Windows Update

Server Manager on Windows Server 2008 or Windows Sever 2008 R2 may not be able to view Roles and Features after a Windows update. Did a Google search and chanced upon an article on Microsoft Knowledge base.

The cause of this issue is said to be due to some catalog files, manifest files or MUM files being corrupted on the computer. To resolve, you will need to download and run Microsoft Update Readiness Tool, run it, check %Systemroot%\Windows\logs\CBS\Checksur.log for corrupt information after the scan is completed, then replace corrupted package(s) that remains unfixed.

Read in details on Microsoft KB.

Saturday, April 23, 2016

How to find out which w3wp.exe PID corresponds to which application pool?

Should we have more than one website hosted on IIS, it may be difficult to identify which web application is the one listed on the task manager especially when the application pools are all on Network Service.

Task Manager showing multiple w3wp.exe processes

Each w3wp.exe process has a PID (process identifier), but to tell which PID belongs to which application pool, it is not straightforward.

One method to find out the application pool is to run the appcmd command on command prompt from C:\Windows\system32\inetsrv directory.

appcmd list wp

appcmd command to show application pool of a PID

Simply match the PID against the application pool name. I hope it helps.

Tuesday, March 01, 2016

How do I enable ASP.NET 4.5 on Windows 10?

Despite you may have installed Microsoft .NET Framework 4.5 on your Windows, IIS has to be installed and ASP.NET to be enabled separately.

To install IIS, you will need to turn on Internet Information Services feature.

The next step to get ASP.NET running is to enable ASP.NET. Prior to Windows 8, we used to run aspnet_regiis /i command. Unfortunately, this command no longer works. I have tried the following command instead to get ASP.NET enabled.

dism /online /enable-feature /all /featurename:IIS-ASPNET45

Tuesday, November 24, 2015

MsSQL: Shrink ALL Databases Using 1 Single Line of SQL Statement

Over time, the database logs on your database server may take up significant amount of disk space especially if there are many databases with lots of transactions. One quick method to free up disk space is to "shrink" your databases. Instead of shrinking one database at a time using the GUI, you can run a single line of SQL statement to do just that.

EXEC sp_MSForEachDB 'DBCC SHRINKDATABASE (''?'' , 0)'

Hope it helps.

Monday, November 09, 2015

Find the Wi-Fi network password in your saved list on Windows

There may be occasion you may have a second mobile device and would like to be connected to the Wi-Fi network but sadly, you could have forgotten the password completely. What you need to do now is to run a command on the Windows command prompt in administrative mode to reveal the already added Wi-Fi network password in clear.

Replace THE_SSID with your own Wi-Fi SSID.

The below will show details of the Wi-Fi network.

netsh wlan show profile name=THE_SSID key=clear

To see only the password ignoring the rest of the details, feed it with the findstr command like below.

netsh wlan show profile name=THE_SSID key=clear | findstr Key

For similar hack for Mac and Linux, read How to Find the Wi-Fi Password of your Current Network.

Thursday, October 15, 2015

Wednesday, September 30, 2015

Unlink Skype from Outlook.com

It is time to find a way to find out how to stop Skype from logging in automatically whenever I visits Outlook.com for the sake of just wanting to check my email. This is just so infringing my privacy!

To disable Skype from logging in automatically, you will need to unlink Skype from your Microsoft account. This is how you can do it:

  1. Sign in to Skype.com
  2. Under Settings and preferences, click Account settings
  3. Beside your Microsoft account, click on Unlink

I hope this helps.

» How do I unlink my Skype account from my Microsoft or Facebook account? | Skype Help

Monday, September 21, 2015

Skype is down web.skype.com is still working #skypedown

Skype seems to be experiencing a global outage with desktop users, including myself, having reported unable to login. While waiting for the service to be up again, you may try to login through their web version - web.skype.com instead.

Tuesday, June 30, 2015

Rebuild all Indexes on a Microsoft SQL Server

As part of database maintenance, a DBA may wish to do periodical rebuild of all indexes. The below may come handy.
EXEC sp_MSForEachTable 'ALTER INDEX ALL ON ? REBUILD'

Wednesday, April 15, 2015

MsSQL Split Function

The following demonstrates how to do a string Split using a character delimiter.

Edited: [dbo].[Split_PerformanceEnhanced] added - better performance results (31 July 2017).

--SQL function to do split (performance enhanced)
CREATE FUNCTION [dbo].[Split_PerformanceEnhanced]
(
 @List NVARCHAR(MAX),
 @Delimiter VARCHAR(5)
)  
RETURNS @RtnValue TABLE
(
 ID INT IDENTITY(1,1),
 Data VARCHAR(MAX)
) 
AS
BEGIN
 INSERT INTO @RtnValue(Data)
  SELECT [Value] FROM 
    ( 
    SELECT 
     [Value] = LTRIM(RTRIM(SUBSTRING(@List, [Number],
     CHARINDEX(@Delimiter, @List + @Delimiter COLLATE Latin1_General_100_BIN2, [Number]) - [Number])))
    FROM (SELECT Number = ROW_NUMBER() OVER (ORDER BY name)
     FROM sys.all_objects) AS x
     WHERE Number <= LEN(@List)
     AND SUBSTRING(@Delimiter + @List, [Number], LEN(@Delimiter)) = @Delimiter
    ) AS y

 RETURN;
END
GO
--Test out the SQL function
SELECT * FROM dbo.Split_PerformanceEnhanced('one|two|three|four', '|')
GO
Below SQL function still works but prefer the above new performance enhanced version.
--SQL function to do split
CREATE FUNCTION [dbo].[Split]
(
 @RowData NVARCHAR(MAX),
 @SplitOn CHAR(1)
)  
RETURNS @RtnValue TABLE
(
 ID INT IDENTITY(1,1),
 Data VARCHAR(MAX)
) 
AS
BEGIN
 DECLARE @count INT
 SET @count = 1

 WHILE (CHARINDEX(@SplitOn COLLATE Latin1_General_100_BIN2, @RowData) > 0)
 BEGIN
  INSERT INTO @RtnValue (data)
  SELECT Data = LTRIM(RTRIM(SUBSTRING(@RowData, 1, CHARINDEX(@SplitOn COLLATE Latin1_General_100_BIN2, @RowData) - 1)))
  SET @RowData = SUBSTRING(@RowData, CHARINDEX(@SplitOn COLLATE Latin1_General_100_BIN2, @RowData) + 1, LEN(@RowData))
  SET @count = @count + 1
 END

 INSERT INTO @RtnValue (data)
 SELECT Data = LTRIM(RTRIM(@RowData))

 RETURN
END
GO
--Test out the SQL function
SELECT * FROM dbo.Split('one|two|three|four', '|')
GO

Popular Posts