The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Email Subscription

    Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 716 other subscribers

Archive for the ‘PowerShell’ Category

Delphi Cookbook for USD 5 (or EUR 4.80); actually: get any Packt eBook or video for that price – #packt5dollar

Posted by jpluimers on 2014/12/20

Earlie this month, I wrote a review about Delphi Cookbook.

Well: as of last thursday, you can get that for USD 5 (or EUR 4.80, so better get yourself a USA account: just ensure your address is in the USA).

Heck: until januari 6th, you can get any eBook or Video on Packt for USD 5.

Note there is even an x-Mas countdown on the way (with each day a free book that is readable/downloadable for 24 hours).

There’s over 2500+ books to choose from, so I’m grabbing this chance to learn a few things on OpenCV, Scala, and PowerShell.

–jeroen

via: Book review: Delphi Cookbook by Daniele Teti, Packt publishing.

Posted in .NET, CommandLine, Delphi, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Delphi XE6, Delphi XE7, Development, Java Platform, PowerShell, Scala, Scripting, Software Development | Tagged: , | Leave a Comment »

PowerShell: 3 ways of `not` (except `not` itself: that doesn’t work) via Stack Overflow

Posted by jpluimers on 2014/11/05

Thanks Ryant for posting this answer, which I’ve paraphrased a bit:

not itself is not a boolean operator in PowerShell.

The reason is that PowerShell borrows a lot from *nix history, and this has been in *nix forever.

So there are 3 ways of negating a boolean, all equivalent: Read the rest of this entry »

Posted in CommandLine, Development, PowerShell, Software Development | Leave a Comment »

Indent/Unindent text in PowerShell ISE

Posted by jpluimers on 2014/10/31

When searching for powershell ise indent tab, I came across this very nice post by rpscripter:

If one selects multiple lines, then pressing tab will indent them all.  Pressing shift+tab will un-indent them all.

Yes, I know the PowerShell is limited, so the indents are tabs (not spaces) and you cannot change the tab size: Powershell ISE – change indent/tab size + keep tabs.

–jeroen

via:

Posted in CommandLine, Development, Power User, PowerShell, PowerShell, Scripting, Software Development, Windows, Windows 7, Windows 8, Windows Server 2003, Windows Server 2003 R2, Windows Server 2008, Windows Server 2008 R2, Windows Vista, Windows XP | Leave a Comment »

Windows consoles: a small list

Posted by jpluimers on 2014/06/19

Many people confuse a shell with a console.

They are distinct: the shell executes commands, and the console hooks up video and keyboard to them.

Some products (like Take Command Console, of which Noah Coad is a huge fan) combine the two.

Some shells you can use for Windows: Read the rest of this entry »

Posted in Batch-Files, CommandLine, Development, PowerShell, PowerShell, Scripting, Software Development | Leave a Comment »

Windows shells: a bit of history

Posted by jpluimers on 2014/06/18

I’ve a long history in DOS/Windows 9x COMMAND.COM and Windows cmd.exe shell programming.

The switch to PowerShell is steep, but for me it is worth it: it has so much more functionality than cmd.exe, and taps right into the .NET ECO system.

If you look for something intermediate, you might want to consider TCC. Formerly TCC was known as 4NT, which has its roots in 4DOS (I totally loved 4DOS back when cmd wasn’t there yet).

A small overview: Read the rest of this entry »

Posted in Batch-Files, CommandLine, Development, Power User, PowerShell, PowerShell, Scripting, Software Development, Windows | Leave a Comment »

StudioShell: integrating Visual Studio in PowerShell

Posted by jpluimers on 2014/06/10

Wow, it seems I’ve been living under a stond since early 2011: the first StudioShell checkin.

[WayBack] StudioShell opens marvellous possibilities in Visual Studio 2010, 2012 and up.

Just look at the feature list: Read the rest of this entry »

Posted in .NET, .NET 4.0, .NET 4.5, C#, C# 4.0, C# 5.0, CommandLine, Development, PowerShell, PowerShell, Scripting, Software Development | Leave a Comment »

Easiest way to grant/query “Log on as a service” to a Windows user from the command-line? (my question on Super User)

Posted by jpluimers on 2014/04/28

I want to script an install where a service needs to be run as a user. I want to be able to specify the user.

Creating the user is easy through the [Wayback/Archive] NET USER /ADD command.

Specifying the user for the service can also be done: the [Wayback/Archive] SC CONFIG command [Wayback/Archive] allows this (thanks [Wayback/Archive] wmz and [Wayback/Archive] ofiris).

Now the missing link: granting the user the [Wayback/Archive] “Log on as a service” privilege as a [Wayback/Archive] logon right (SeServiceLogonRight). Is there a command for this? Or a simple script for PowerShell?

(I know only Local Service can do this out of the box, and [Wayback/Archive] no other accounts by default are, but I want to have control over the account and what other privileges that account has).

Edit: solved. Thanks [Wayback/Archive] Mathias R. Jessen.

Here is the solution, including a few comments.

The easiest way to do this from a command line is definitely using NTRights.exe from the Windows Server 2003 Resource Toolkit.

ntrights +r SeServiceLogonRight -u jeroen -m \%COMPUTERNAME%

I changed the command-line a bit:

ntrights +r SeServiceLogonRight -u %USERNAME% -m \%COMPUTERNAME%

Note that

whoami /all

doesn’t show any change (not even after a reboot, it does not matter if you run it with or without UAC token).

secpol.msc

does show the change however, and does not require UAC (follow the tree to “Security Settings -> Local Policies -> User Rights Management -> Log on as a service” to see the users having the permission).

–jeroen

via: [Wayback/Archive] Easiest way to grant “Log on as a service” to a Windows user from the command-line? – Super User.

PS: Later I found out it is way easier to query the right:

accesschk.exe /accepteula -q -a SeServiceLogonRight

It will list the users having that right, for instance:

        IIS APPPOOLClassic .NET AppPool
        NT SERVICEALL SERVICES
        VCS-CIContinuaCI

There are similar rights one might want to query:

SeBatchLogonRight
SeDenyBatchLogonRight
SeInteractiveLogonRight
SeDenyInteractiveLogonRight
SeServiceLogonRight
SeDenyServiceLogonRight
SeNetworkLogonRight
SeDenyNetworkLogonRight

Thanks [Wayback/Archive] twasbrillig for explaining that at as answer to [Wayback/Archive] powershell – How to view user privileges using windows cmd? – Stack Overflow

Posted in Batch-Files, CommandLine, Development, Power User, PowerShell, Scripting, Software Development, Windows, Windows 7, Windows 8, Windows 8.1, Windows Server 2008, Windows Server 2008 R2, Windows Vista | Leave a Comment »

PowerShell conditional and logical operators (via: PowerShell Pro!)

Posted by jpluimers on 2014/04/03

Switching between many different languages, I tend to forget the exact names and symbols of the PowerShell operators.

Most of the ones I use have to do with comparison and logic, o here they are:

Most used comparison operators

Operator Description
-eq Equal to
-lt Less than
-gt Greater than
-ge Greater than or Eqaul to
-le Less than or equal to
-ne Not equal to

Logical operators

Operator Description
-not Not
! Not
-and And
-or Or

I find it funny that you have ! and -not, but not -!. Oh well (:

Talking about logicals: PowerShell can coerce a couple of values to $false, but I’m ambivalent to use that: it does shorten code, but is very PowerShell specific.

Before I forget: an operator that is undervalued, is the -f operator that does formatting.

It uses the standard .NET formatting strings, so that is an easy way to put your .NET knowledge to use. Some further reading on the -f operator:

–jeroen

via: Conditional Logic | PowerShell Pro! :: PowerShell Pro!.

Posted in CommandLine, Development, PowerShell, PowerShell, Scripting, Software Development | Tagged: , , | Leave a Comment »

Escaping in PowerShell: the back-tick ` is the escape character.

Posted by jpluimers on 2014/04/03

Somehow I always forget this:

The PowerShell escape character is the backtick “`” character.

Use it for escaping quotes within quotes, or inserting special characters.

Don’t abuse it (see the great debate: do not use it as a line continuation).

Often you can avoid line continuation characters by using splatting, which is one of the “best kept secrets” in PowerShell.

–jeroen

via: Escaping in PowerShell.

Posted in CommandLine, Development, PowerShell, PowerShell, Scripting, Software Development | Leave a Comment »

Getting Microsoft Product Keys back from the registry (via StackOverflow and various other sources)

Posted by jpluimers on 2014/04/02

Every once in a while, someone hoses their computer far enough that it has to be reinstalled, but the original Microsoft product keys are misplaced, and some creepy anti-virus tool disallows the running of standard product key recovery tools like nirsoft’s.

Well, there is enough sourcecode that does recover it, just look for any of these strings:

Some hits:

The below full executables can trigger a virus warning (ordered from less often to most often):

–jeroen

 

Posted in .NET, .NET 2.0, .NET 3.0, .NET 3.5, .NET 4.0, .NET 4.5, C#, C# 2.0, C# 3.0, C# 4.0, C# 5.0, CommandLine, Delphi, Development, PowerShell, Software Development | Leave a Comment »