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

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

    Join 1,830 other subscribers

Archive for the ‘CommandLine’ Category

PowerShell reads: links to coverage of One-Liners about PowerShell features (using, language, etc)

Posted by jpluimers on 2015/04/23

Boy, I wish I had read these PowerShell articles earlier:

  1. PowerShell One-Liners: Help, Syntax, Display and Files.
  2. PowerShell One-Liners: Variables, Parameters, Properties, and Objects.
  3. PowerShell One-Liners: Collections, Hashtables, Arrays and Strings.
  4. PowerShell One-Liners: Accessing, Handling and Writing Data.

Besides being in depth, the articles also contain a ton of examples all in this form:

Action Command Example
Basic help for x Get-Help cmd (cmd is a full name) help Get-ChildItem
Help in separate window Show-Command cmd; then select the help icon Show-Command Get-ChildItem

–jeroen

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

RosettaCode: cool way to improve your coding skills

Posted by jpluimers on 2015/01/22

Wow: I feel like having lived under a stone for 8 years, as RosettaCode has been alive since it was founded in 2007 by Mike Mol.

The idea is that you solve a task and learn from that, or learn by seeing how others have solved tasks or draft tasks.

So in a sense it is similar to the Rosetta stone: it has different languages phrasing the same tasks.

There are already a whole bunch of languages on RosettaCode (of which a few are in the categories below), and you can even suggest or add your own languages.

When you want to solve tasks, be sure to look at the list unimplemented tasks by language that leads to automatic reports by language (for instance two of the languages I use most often: C# and Delphi).

I’m sure there are lots of programming chrestomathy sites, even beyond the ones, and it feels very similar to programming kata sites.

–jeroen

Posted in .NET, APL, Awk, bash, Batch-Files, C, C#, C++, COBOL, CommandLine, Delphi, Development, Fortran, FreePascal, Java, JavaScript/ECMAScript, Lazarus, Object Pascal, Office VBA, Pascal, Perl, PHP, PowerShell, PowerShell, Prism, Scripting, sed script, Sh Shell, Software Development, Turbo Prolog, VB.NET, VBS, VBScript, Visual Studio and tools, Web Development | Leave a Comment »

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 »

BeSharp.net: PowerShell script to show the component packages (BPL) files for all installed Delphi (actually: BDS) versions.

Posted by jpluimers on 2014/11/13

A while ago, I wrote a via PowerShell script to show the component packages (BPL) files for all installed Delphi (actually: BDS) versions (now at List-Delphi-Installed-Packages.ps1) for a couple of reasons:

  • I was creating installation instructions for getting new development machines set-up
  • The new machines had to either have a minimum subset of installed Delphi versions  + components, or the maximum superset of all the existing development machines
  • Sifting through the installed Packages in the IDE, or registry by hand was cumbersome

Note that in the mean time (I queued this blog entry somewhere in 2013) the script has moved to BitBucket, I’ve written more scripts (like Dependencies.bat which is documented in Dependencies.md and Run-Dependend-rsvars-From-Path.bat), all modified all scripts to support all BDS versions I had access to, and a write nice conference paper on Build Automation for Delphi that references the scripts.

Since none of the machines were using pre BDS installations, I could limit the script to BDS 1.0 and up.

The very first (1.0) version of BDS (also known as the Gailileo IDE foundation) was in fact not a Delphi version, but C# Builder 1.0. All Delphi versions since then are based on BDS. The script is based on the BDS registry keys I researched and wrote about in Files in your Delphi settings directory; How to relocate the Favourites on your Welcome page.

Since registry access can be very much flow based, the pipeline architecture of PowerShell is a good fit.

So I wrote a PowerShell script (:

Note Thomas Mueller has written a batch file around the same set of registry keys; the thread there also has some insight in the HKLM versus HKCU keys.

I will explain my script step by step, and start with the most important one: Set-StrictMode -Version Latest. Read the rest of this entry »

Posted in CommandLine, Delphi, Delphi 2005, Delphi 2006, Delphi 2007, Delphi 2009, Delphi 2010, Delphi 8, Delphi x64, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Development, PowerShell, Software Development | 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.

[WayBackStudioShell 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/ArchiveSC CONFIG command [Wayback/Archiveallows 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/Archivelogon 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/Archiveno 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/Archivetwasbrillig for explaining that at as answer to [Wayback/Archivepowershell – 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 »