Thursday, 4 June 2020

Remove Unique Permissions

Remove Unique Permissions


Long ago, it was a common requirement for a client to add unique permission for SharePoint files or list items.

Can you guess the function that adds unique permission?

BreakRoleIneritance

However, it decreased the performance and that can be a very bad choice.

Below is a tool I did that removes  the unique permissions for a SharePoint library in a SharePoint site for Online version.

Demo

Tool Link:
https://payhip.com/b/GgQO

If you want the above tool for a discount price, apply the code
6307EIT6ZW


Please make sure you test on a test library before running on production.

If you have many such requests, you may contact for a free trail run of one PowerShell script on your environment by submitting a request on
https://forms.office.com/Pages/ResponsePage.aspx?id=VeQH6wiZhkyj0EhqSzeQ2AF7ASEEeOpCqBFwiSc3gXVUM09GTTJEODQ5UTVLOUJFRkZFTUdYRVhXOC4u

If you need similar request for another version of SharePoint, please contact on www.thangu.com

Wednesday, 22 April 2020

How to create a certificate for EXE on Windows 10

Steps:

1. Download the Windows 10 SDK
https://developer.microsoft.com/en-US/windows/downloads/windows-10-sdk/

2. Open Command Prompt CMD as Administrator

Go to the folder with Sign Tool
C:\Program Files (x86)\Windows Kits\10\App Certification Kit


signtool sign /a MyFile.exe  TO get a valid certificate try the link https://www.certum.eu/en/cert_offer_en_open_source_cs/

Thursday, 27 February 2020

Get Windows Details

Get Windows Details

Below is a short script to get Windows Edition

$windowsDetails=Get-WmiObject -Class Win32_OperatingSystem |select Caption

If you are interested in more Windows related commands, see here 

Here is a sample video of the script that allows you to display the report as shown below:

You can access the running tool from here:


If you have a custom requirement like this, mention in the comment box and I will try to update the scripts to your custom requirement when I am free.

If you have any other custom report requirements for other objects like Office 365,SharePoint, SQL or any other System, you may contact https://calendly.com/spthangu for Professional consulting for small requirements that take 5mins to 1 hour max for a small charge of 10$-50$.





Thursday, 12 September 2019

PowerShell Here String

Here String

This is a short blog on Here String. I decided to write down about this since I wanted to share the experiences with PowerShell features, that I heavily use.

I commonly use the following type of code to store large strings in a variable.
 
$data=@"
{
  "@odata.id": "https://graph.microsoft.com/v1.0/directoryObjects/$($userID)"
}
"@

Why do I use the above instead of using a normal string?
$data="{
  "@odata.id": "https://graph.microsoft.com/v1.0/directoryObjects/$($userID)"
}"

Reasons:
1.The above code throws error due to the presence of string with double quotes
2. Using back ` is terrible for strings with many double quotes .

What was I doing to allow double quotes and have large strings declared in a variable?
I used @ at the end and beginning of the string and the string was able to store large data.

I did not know that the term used for this feature was Here string until I read various msdn blogs on PowerShell and came to know the Here String term.

What is Here String?

A simple String that allows you to declare multi ling string along with Quotes and variable values.
Make sure that you have a line break after the first @", else the following command throws error:
$HereString=@"My
"life"
is
in
my hands"@

The following code works correctly
$when="Always"
$HereString=@"
My
"life"
is
in
my hands $when
"@

Below the output:
My
"life"
is
in
my hands Always






Saturday, 22 December 2018

Office 365 and PowerShell Mails

PowerShell and Office 365

Office 365 is a great product and there are nice ways to manage them with PowerShell itself.
Lets get started by connecting.

#Connect to Exchange
#Set-ExecutionPolicy RemoteSigned
#https://docs.microsoft.com/en-us/powershell/exchange/exchange-online/connect-to-exchange-online-powershell/connect-to-exchange-online-powershell?view=exchange-ps
$UserCredential = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection
Import-PSSession $Session -DisableNameChecking

Once, you connect, see the Mailbox
Get-Mailbox

I

Thursday, 13 December 2018

SharePoint CSOM to add data from CSV

PowerShell and Excel

PowerShell is very simple and powerful. Microsoft Office products like Word, Excel, PowerPoint has changed the world and become a part of every household.Advanced COM programming is possible, which I use for advanced operations on Word. Lets see how PowerShell is helpful with  single line code with Excel.

Command Available
Export-CSV
$data| Export-csv -Path $csvPath -Append

Import-CSV
$newFruits=Import-Csv -Path $csvPath

Let is say you have a Fruits data along with color information, we will display the fruits information in Excel as shown below:

$yourFolder="C:\demo\thangu"
$csvPath=$yourFolder+"\fruitsCsv.csv"
#New powerShell Table
$hashContent = [PSCustomObject]@{Name="Apple";Color="Red"}
$hashContent | Export-csv -Path $csvPath -Force
$hashContent = [PSCustomObject]@{Name="Mango";Color="Yellow"}
$hashContent | Export-csv -Path $csvPath -Append
$newFruits=Import-Csv -Path $csvPath



Sample Application to move data to external system(SharePoint)


SharePoint List Addition
Lets try to add some items from CSV to SharePoint List having fruits data.I used CSOM to read the data from CSV file created above and used the following CSOM code to move the data from CSV to Fruits list.

foreach($fruit in $newFruits){
$newItemInfo = New-Object Microsoft.SharePoint.Client.ListItemCreationInformation
$newItem=$psList.AddItem($newItemInfo)

$newItem["Title"] = $fruit.Name
$newItem["Color"] = $fruit.Color
$newItem.Update()
$Context.ExecuteQuery()
}