Enhancing interaction with quotes and brackets by using PSReadline

In this article we will continue exploring content of the SamplePSReadLineProfile.ps1 from the PSReadline module.

In many code editors interaction with brackets – () {} [] – and quotes – "" '' – goes like this – you type the first one and the second one is added automatically, if you then delete the first bracket or quote using the Backspace key, the second one is also deleted. When you finished entering the content, you type the right bracket or quote and the editor doesn’t add another one but just steps over the existing one.

The same we can say about PowerShell console.

Continue reading

Adding custom types to PowerShell objects

Every PowerShell object is of some data type. For example, the process object is an instance of System.Diagnostics.Process type.

Get-Process | Get-Member
   TypeName: System.Diagnostics.Process
...

Objects that result from PowerShell commands execution belong to some data type, but this doesn’t prevent us from adding a custom type.

It becomes even more useful when we work with custom objects – System.Management.Automation.PSCustomObject.

[PSCustomObject]@{
    Name = 'Object'
    Description = 'Object Description'
}

Continue reading

Saving a PowerShell command for later use

Let’s suppose the following. You are working with PowerShell console and just finished typing a long and complex command. This second it occurs to you, that you forgot to define a variable, create a remote session or something else. You delete the command, execute some required actions, and type the command again.

Sounds familiar?

In this article we will talk about some techniques, that can help us out.

Continue reading

Getting and changing site admins in SharePoint Server with PowerShell

In the previous post we discussed SharePoint Online cloud service. Now, let’s talk about SharePoint farm deployed on premises.

We can specify Primary and Secondary site collection administrators in the SharePoint Central Administration portal by clicking on Application Management and then on Change site collection administrators in the Site Collections section.

Primary and secondary administrators are those who, among other things, receive e-mail notifications about various SharePoint event, like when a site collection reaches its storage limit.

Also, you can specify list of other administrators in the Site Settings. To do this, on the site collection click the cog at the upper right part of the page and then click Site Settings. If there is no such a setting in the menu, click on the Site information and then on the View all site settings. Finally, click on the Site collection administrators in the Users and Permissions section.

Now, let’s do it with PowerShell.

Continue reading