A Note To Customers Regarding ASE v4.0

This is not the update we wanted to write, but an update is necessary no matter what the news. We’ve had bad luck (drive failures, failed backups, etc.), we’ve had personal issues (key personnel unavailable for extended periods), and as you may expect some development issues which we continue to fight through. It’s been one step forward, two steps back for the last few months. We are working the issues necessary for a solid release. We won’t release even another beta that is not a significant step forward and it is that necessary stubbornness that has contributed largely to the delays in the release of v4.0.

If you can and wish to support us, by all means please do update your maintenance. You’ll note that maintenance costs have been dropped significantly from 75% to now only 25% of the cost of a full license. However, it is important to us as a company that everyone be happy and those that have been with us over the years have seen us be fair with licensing to an extreme. In that tradition, we are saying to you our cherished, paying customer– YOU NEED NOT RENEW YOUR LICENSE UNTIL WE SHIP 4.0.

If your maintenance is expired at the time we release v4.0 we will honor your renewal at that time without penalty. In fact, when 4.0 ships you will be able to extend maintenance on any version 3.0 license.

So if you have concerns, we understand. What we can tell you is that we are commited to seeing v4.0 released at any cost. And in further understanding of these concerns, you need not renew your license until v4.0 is released from beta (at which time you will have up to three months to renew).

We will be sending emails of news, but please follow us on facebook or twitter to help ensure you get the long awaited word when we can finally give it.

Thank you again for your understanding, your patience and you loyalty.

Support Outage on 9/28/2011

Hopefully few people noticed, but our support system experienced a three hour outage today during which time the knowledge base and ticket system was unavailable. We believe the problem to be resolved and do not foresee any further outage. Our apologies for any inconvenience this outage may have caused.

When is ASE 4.0 to be released?

First off, despite the delay since our last official release, it is important for us to convey there has been no time taken off in the development of ASE. There have been a number of set-backs and problems that have contributed delay in the release of v4.0 but you can see our progress in the beta releases currently available. As of this posting we have released a second beta and are planning to release a third in the near future.

ASE 4.0 includes some significant “under the hood” changes which will become most visible when you see the new ScriptSense (available for PowerShell in the current beta and for VBScript in beta 3). The new ScriptSense is a big leap forward providing support for COM, .NET and enumerated types for starters.

What is iTripoli doing for its customers as a result of these delays? No matter what happens behind the scenes it has always been a paramount concern of ours that we keep everyone as happy as possible. To that end, you will notice we have made huge changes in our maintenance renewal pricing which went from 75% of total cost to only 25% of total cost. We also don’t want anyone to be left out in the cold when it comes to getting their hands on ASE 4, so if you should try to use ASE 4 and find your maintenance will not allow it, we will provide a free maintenance extension of up to three months to ensure eligibility. Of course, we’d prefer you support us in purchasing our reduced-cost maintenance packages, but we want you to know you are a valued customer and it is important you are happy with us. To obtain this extension, simply open a ticket requesting it along with your license details via our support center.

As a result of the many unforeseen issues we have faced in this release, it is now clear that our earlier projections were optimistic. Therefore we are unwilling to make the same mistake and provide a date for when ASE 4 will be released. What we can tell you with confidence and excitement is that we are making good progress in our dream of taking ASE to a new level with this release and your feedback on the beta releases (along with our own QA efforts) will dictate when we feel it is ready for general release. We are hopeful that beta 3 will be the final beta and we can go from there to release, but as we are keenly aware we cannot see the future, that is the extent of the commitment we are willing to make at this time.

How can you help us with a strong release?

  1. Try the beta release and give us your valuable feedback!
  2. Let us know what languages and features you care about in our simple survey so we can keep our resources focused on what matters most to you. Find the survey on the ASE Today page when running Admin Script Editor, or in the sidebar of our solutions page online.

Video: The ASE COM Browser

The first in a series of new videos providing some quick detail on the many features of ASE…

Launch Pad

I have been thinking about a great real-world example of a script to do a simple launcher..

You can go as simple as a batch file or a full-featured AutoIT Script that is compiled into an executable..

We’ll keep this simple and just use Windows notepad.exe and calc.exe for now..

In Batch, we have (Note: in ASE, you will need to change the behavior to “Execute via shell”) :

@echo off
Color e0
Cls
:menu
@Ping 127.0.0.1 -n 3 -w 1000 > nul
echo.
echo Menu options:
echo.
echo 1 Notepad
echo 2 Calculator
echo.
echo x Exit
echo.
Set /p userc= What would you like to DO?
If "%userc%"=="1" Goto notepadrun
If "%userc%"=="2" Goto calcrun
If /i "%userc%"=="x" Goto exitnow
echo %userc% is an invalid choice
Goto menu
:notepadrun
notepad.exe
echo.
echo Returning to Main Menu..
@Ping 127.0.0.1 -n 1 -w 1000 > nul
Cls
Goto menu

:calcrun
calc.exe
echo.
echo Returning to Main Menu..
@Ping 127.0.0.1 -n 1 -w 1000 > nul
Cls
Goto menu
:exitnow
echo Exiting menu..
@Ping 127.0.0.1 -n 1 -w 1000 > nul
Cls
Exit

Even though that is a simplistic example, there is a lot of code there..

ScriptPackager Enhancements in ASE4

PowerShell Snap-in Support

Using the “Additional Files” feature, if you should add a PowerShell snap-in as a file you can choose to have it automatically registered as part of the package execution process. This feature must be selected for each snap-in file if you have multiple files included. Note that if set to register, the package will simply register it as specified—there are currently no checks performed to verify if another version may already exist on the system.

If you should find that the process of unpacking and installing snap-ins is slowing execution time, you can mitigate this by checking a new option that lets you show a progress message to the user while this work is taking place. This can be a potentially complex operation given your scenario, so we’ve exposed some features to help you reference the snap-ins more easily.

  • No Auto-Add – If you have a lot of items you’ll want to call out what you want to reference specifically with code at the top of your script. Doing so avoids adding references to everything registered for each execution. If you choose to have it registered, it will be registered.  This option is about establishing a reference to the snap-in from your script.
  • Auto-Add for executing user – Choosing Auto-Add will add each snap-in to the PowerShell instance before running your script so that you need not reference them in your code. In this case it will do so for the executing user only.
  • Auto-Add for all users – This provides the same benefit as above, but the snap-in can be referenced by any user on the system.

Of course referencing the snap-in for more than the executing user does not make sense for a single script execution, so this feature is geared toward those who wish to permanently install the snap-in on the local system as part of package execution. If you fill in the “Permanent Snap-in Path” field, the installation of the snap-in will be installed to the specified folder and will remain installed after the package execution is complete.

Note: Installation of snap-ins requires admin permission. If the packaged script is using alternate credentials this should not be an issue, but if you are having users run this in their own context be aware that using this feature does not change the security requirements for PowerShell snap-in registration.

64-Bit Support

While you can run 32-bit packaged scripts on 64-bit systems, new to this release is the option to package the script as a native 64-bit package.

From the main settings panel, choose from the following CPU type options:

  • 32-bit only – this will still run on 64-bit systems
  • 64-bit only – this will run only on 64-bit systems and will fail if executed on a 32-bit system.
  • Auto-Detect – this will cause the package to include both 64-bit and 32-bit files which will result in a much larger package, but one that can run natively on both architectures.

Please note that packaged scripts always initially started by a small 32-bit launcher application. After this bit of code runs, the process started will depend on the CPU type selected: If 32-bit, only 32-bit binary apps are in the package and they are executed with no check. If 64-bit, only 64-bit binary apps are in the package and they are executed with no check. Finally, if auto-detect is specified, both 32-bit and 64-bit binary apps are in the package and at execution time the target system is checked and the appropriate ones are used.

Hide PowerShell Console

Many PowerShell scripts will generate a console window and that is fine, but if you are packaging a script that is based on a graphical form (such as one generated by our ScriptForm Designer) checking the option to “Hide PowerShell Console” will ensure that only your form is displayed and not the customary console window along with it.

The Script Library: New and Improved

Well, not new really, but definitely improved ;)

When you visit the Script Library at http://www2.adminscripteditor.com/ScriptLibrary you’ll see that it matches the layout of the site as expected and the scripts that were on the old one are indeed carried forward to this new release of the service. What you’ll also find is that we are leveraging GoogleConnect for credentials in the ScriptLibrary.

To make things easier on everyone, we eliminated the need for a site/support account, but for the ScriptLibrary we really do need a personal account to pull it off. We started to dabble in GoogleConnect here and have leveraged that here for a couple of reasons. The biggest reason is you don’t have to create a new account! You can use your existing Google, Twitter or Facebook account instead of having to manage an additional account.

So it is up and running now and we’d love for you to check it out and let us know what you think. Thank you in advance!

Scripting 101

Oh my gosh!  Joe the scripting guy just left and guess what??!!??  I now get to do the login script for the entire enterprise and do not know what to do??!!??  Where do I go?  What do I do?  Sound typical?  If you speak with anybody out there who has done domain login scripting, it has pretty much played out in this scenario

Let’s stop for a second..  Take a breather..  I know.. I know, your boss is crawling down your neck asking you to add in a new drive mapping for Accounting

  1. Get a lay of the land
  2. What tools do you have available?
  3. What resources are out there?
  4. Check to see if you have appropriate domain rights
  5. Test test test..
  6. Implement

First of all, you are in IT so you know the one thing that is constant is change.  That is, things are always changing..

Get a lay of the land

  • Do you know where all of the DCs are?
  • Replication schedules?
  • Servers?
  • Workstations?
  • Printers?

I am not going to go in to all of the tools/applications that are available to determine this information

What format is the script in?  Is it KiXtart, VBS, GPO?

What tools do you have available?

  • Editor: For example: Admin Script Editor
  • The script files themselves, you may want to create a test script to verify if there any issues that come up before implementing into prod.  Be sure you have a BACKUP of any scripts you change – it will save you heartache later (trust me)!
  • The script parser itself (regular run and debug mode): kix32.exe, cscript.exe/wscript.exe, autoit3.exe, etc.  This will typically show you where there are problems.  Check for return codes, etc.
  • Deadline: While not a tool per se, it gives you a time container to work in

What resources are out there?

  • Documentation – When you download KiXtart or AutoIT for example, there are some examples included of what you can do with the product
  • Support Forums – A support forum is a treasure trove of information from people just like you that have had similar issues
  • Colleagues – Has anybody in the department done scripting before?  Maybe somebody a little obscure like your Report Writer..  What is good about this is that they have gone down the path you are starting to go down
  • Former colleagues – What have you done in the past that you can leverage a former colleague?  Please be careful and respect the person’s time as they are most likely on the clock and ask them if it is a good time to talk and if not, book another time to chat

Check to see if you have appropriate domain rights
If you cannot get to the script with write privileges, you will need to talk with your Domain Administrator.  If you are not sure, talk to your Manager for the appropriate policies and/or procedures. YMMV.  Note: This maybe a procedural issue where you have to put the scripts/updates in a specific location to be picked up and you will have to wait for domain replication to take place

Test test test..
Typically, as a scripter you do not have a software QC resource to test your scripts, for example.  Usually, you are on your own for testing, verifying, and updating.  Be sure to have a back-out plan in the event things don’t work.  Be careful oh Obi-Wan!

Implement
Once you have tested the script, implement into production.  You will hear if there is an issue – I know that is a bit hard to hear, but we all have stumbled.

Command-Line Add-ons

External Batch software

There are a lot of great command-line tools that come with Windows, but did you know there are number of great third-party DOS (or command-line) tools as well?  This is not intended to endorse or promote any application, but to show that there are tools available to help you do your job.  This is also by no means a complete list.

PowerShell Scripting – Getting Started

Getting started with PowerShell..

PowerShell is a “new kid on the block” in the scripting arena..

Be sure you have PowerShell installed.  If you run Windows Update, it should be installed automatically..

To start it, you can simply go to a Command Prompt (CMD.EXE) and type in powershell <ENTER>

To call up a script, you can just type in the name of the script and press the <ENTER> key.

For example type in:  rts-extract, or rts-extract.ps1, or can you use “command-line” completion, by pressing the <TAB> key.

Note: There is a caveat to running a PowerShell Script.  After you install it, you cannot run scripts as your computer system by default blocks them after installing PowerShell.

Enable Script Support in PowerShell..

  1. Open PowerShell (if you are running PowerShell on Windows Vista, right-click your PowerShell icon and select Run as administrator. If you don’t do this, you will not be able to enable script support).
  2. Check the current script execution policy by using the Get-ExecutionPolicy cmdlet. To do this, input Get-ExecutionPolicy and press Enter on your keyboard. PowerShell will return a value of Restricted.
  3. To change the script execution policy, use the Set-ExecutionPolicy cmdlet. Input Set-ExecutionPolicy unrestricted and press Enter on your keyboard.
  4. To ensure that the script execution policy has been changed, use the Get-ExecutionPolicy cmdlet again. PowerShell should return a value of Unrestricted.

So, now you will get the results you are looking for in the resulting CSV file.

Here is our code we are using..  Note: The is part of an application I use called RoyalTS and it uses an XML configuration file for the servers I connect to.  I had a need to extract out Server Names, IP, etc. and it was shared with me that this can be done pretty easily in PowerShell.

[xml]$Document=Get-Content ..\PIBConnections.rts;
$Categories=$Document.SelectNodes("/RTSDocument/Categories/RTSCategory");
$Connections = @(
 foreach($Category in $Categories){foreach($Connection in
 $Category.Connections.RTSConnection) {$Connection|Select-Object CategoryName, ConnectionName, Host, User, Domain}}
)
$Connections|Export-Csv -path .\test.csv;

To leave PowerShell, just type in exit and then exit again to leave the CMD prompt.

This is by no means a complete lesson in PowerShell, but a high-level of one of the things you can do with it..

Follow

Get every new post delivered to your Inbox.