Scripting Languages





A scripting language is a programming language that supports scripts, programs written for a special run-time environment that automate the execution of tasks that could alternatively be executed one-by-one by a human operator. Scripting languages are often interpreted (rather than compiled). Primitives are usually the elementary tasks or API calls, and the language allows them to be combined into more complex programs. Environments that can be automated through scripting include software applications, web pages within a web browser, the shells of operating systems (OS), embedded systems, as well as numerous games. A scripting language can be viewed as a domain-specific language for a particular environment; in the case of scripting an application, this is also known as an extension language.

Share tech news, updates, or what's on your mind.

Sign up to Post

Hi My Fellow Scripting Peeps whom I admire because you guys know your Sh1t =)

I would like to have a simple script that i can run every time i need to help friends & colleagues
to backup their data before attempting repairs or formatting.

My reason for a progress bar or progress percentage is so that I have more or less an idea
of how long the process will take or how long before it is finished.

oh by the way... This will be my very first run with robocopy but i have used xcopy and xxcopy in the past.

XXCOPY has a dim future and XCOPY is not as robust as robustcopy(robocopy)

I hope i got all the info you need.
Optimize your web performance
Optimize your web performance

What's in the eBook?
- Full list of reasons for poor performance
- Ultimate measures to speed things up
- Primary web monitoring types
- KPIs you should be monitoring in order to increase your ROI

I'm having issues finding how to push Adobe Standard via script. I can push the software out, however, I don't know how to push the key out with the install. Any help would be great. I am deploying it to about 97 PCs. in our organization.
LVL 11

Administrative Comment

by:Andrew Leniart
Hi Robert,

What you have done is made a "Post".  To get expert help, you need to "Ask a Question" so that more experts are able to see that you need help. Click the Big blue button near the top of your screen.


The following link also explains more about asking for help at Experts Exchange..

Hope that's helpful.

EE Topic Advisor
Dear experts,

I'm newbie to scripting so as always your help and time is very appreciated.

on source infrastructure : I have server1 on domain A with lots of local groups. all these local groups on server1 has domain groups and user members. it is a standalone windnows 2003 server.

on target infrastructure: I have domain B with windows 2012 server.

findings: I found below script on TechNet but slightly confused about copying nested members or group members to target DC. I could not understand on which line it is copying  group members to domain B domain Controller after creating Universal or Domain Groups on Domain controller. Surely, created groups must have their members.

task completed: I used basic bat file on source server to get local groups and their members. For an example:  net localgroup "Administrators" >> GroupMembers.txt   this gave me the outcome I need but it I need to sort it correctly so that when I use it to import the outcome sorting should be easy to collect for the PowerShell mentioned in the link. I did NOT use POWERSHELL on Source Server.

question: I need to move all the local groups and their members from server1 domain A to Domain B Doman controllers so all groups are domain based groups instead of local groups as it is now in domain1 on Server1. Is this possible to achieve this with the script found in the below link? Is there any …
Hi I have a  data like below format

Site	Variable	Units	Model	29/00Z	29/06Z	29/12Z
CQT	500mbHeight	dm	MASS	588.4	589 	588.9
CQT	500mbHeight	dm	NAM	589.4	589.5	588.2

Open in new window

How can i transpose as one below (like repeat first 4 columns for transpose of each row after 4th column
CQT	500mbHeight	dm	MASS	29/00Z	588.4
CQT	500mbHeight	dm	MASS	29/06Z	589
CQT	500mbHeight	dm	MASS	29/12Z	588.9
CQT	500mbHeight	dm	NAM	29/00Z	589.4
CQT	500mbHeight	dm	NAM	29/06Z	589.5
CQT	500mbHeight	dm	NAM	29/12Z	588.2
CQT	500mbHeight	dm	NAM	29/18Z	589.6

Open in new window

A past IT person has enabled Windows Power Shell scripts (with .PS1 extensions) to run with full unrestricted access on an organization's Windows 10 computers.

None of these computers are added to a domain.

What is the best method to use to disable these Power Shell scripts so that they will no longer be able to run?

We don't want to take any chances with viruses or malware exploiting this security hole.
Back when C# came out; I did not know how to pronouns this combination of C and a # (sharp).  Talking to a  developer, he chuckled when I said "C pound."
And now, when "reading" about generic decorators; it is not written as to  how to pronouns these;
*args, **kwargs
Might any one have the phonetics /fəˈnediks/ on these two decorators;
*args, **kwargs

I'm using ASE to create SCR and KiX script files. When I create a VBS or Bat file it allows me to use the Active Debugger that highlights each line of code as I step thru the script and can also watch the variables change. But when I create SCR or KiX scripts it only gives me a DOS window style debugger (see attached). Is there a way to make it use the Active Debugger when debugging SCR and KiX script files?

I wrote a script to create a folder path and it works OK, however, it creates folders read only and I am trying to avoid that. I do not want it read only because then another process cannot create some files within the DATA folder. This is what I wrote and it is still creating the folders read only. Can you please let me know what am I missing?

mkdir -p "C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA"
attrib -R "C:\Program Files\Microsoft SQL Server\*.*" /S /D

I need to create a script that can automatically create username1 and username2 but also add sysadmin role to the NT AUTHORITY\SYSTEM username. It keeps saying that I do not have access to do it. If I manually add sysadmin role to NT AUTHORITY\SYSTEM and run the script it works fine and creates both usernames and their policies and roles but I have not been able to automate the sysadmin assignment. Below is my script:

EXEC sp_addsrvrolemember 'username1', @rolename = N'sysadmin';
EXEC sp_addsrvrolemember 'username1', @rolename = N'dbcreator';
EXEC sp_addsrvrolemember 'username2', @rolename = N'sysadmin';
EXEC sp_addsrvrolemember 'username2', @rolename = N'dbcreator';

Thank you in advance!
I have been using this power shell command to create a text files that lists the currently installed programs on Windows 10 computers:

Get-WmiObject -Class Win32_Product | Select-Object -Property Name > C:\PCapps.txt

Open in new window

The problem is that this command lists only the names of the installed programs.

I would like to run a command that will display the complete list of everything that is displayed within the Programs and Features applet: Software name, publisher, installed on, size, & version.

What is the correct syntax of a command that will display all this information?
[Webinar] Learn How Hackers Steal Your Credentials
[Webinar] Learn How Hackers Steal Your Credentials

Do You Know How Hackers Steal Your Credentials? Join us and Skyport Systems to learn how hackers steal your credentials and why Active Directory must be secure to stop them. Thursday, July 13, 2017 10:00 A.M. PDT

HI All,

I have this powershell script and I need find a secure way of storing the password. I've tried :

$response = Read-host "What's your password?" -AsSecureString 
$Password = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($response)

Open in new window

and this will not work.

below is my script, how do I load the assembly, it prompts and error saying :

Unable to find type [Microsoft.VisualBasic.Interaction]. Make sure that the assembly that contains this type is loaded.
At line:1 char:1

this is the code
#Specifiy Local admin account name
$user = "mcadmin"
Add-Type -Assembly System.Web
NET USER $user "$pass" /ADD /y
#Add user to local admin group
NET LOCALGROUP "Administrators" "$user" /add
#set password to never expire
WMIC USERACCOUNT WHERE "Name='$user'" SET PasswordExpires=FALSE
Write-Host "Username: $user" -foregroundcolor green -backgroundcolor black
Write-Host "Password: $pass" -foregroundcolor green -backgroundcolor black
Write-host "Server: $env:computername" -foregroundcolor green -backgroundcolor black

# Load the classes from KeePass.exe:
cd "\\smile01\Infrastructure\KeePass-2.34" | out-null
(Get-ChildItem -recurse $script:myinvocation.mycommand.path | Where-Object {($_.Extension -EQ ".dll") -or ($_.Extension -eq ".exe")} | ForEach-Object { $AssemblyName=$_.FullName; Try {[Reflection.Assembly]::LoadFile($AssemblyName) } 

Open in new window

Hi Experts,

I have this script tested and works as expected.  script checks the disks attached to server and checks the  drive label  of the disks and create a .txt file with the drive letter name ( such as "D drive.txt")  scripts is copied to  each server already and locally run.

For an example, if four disk found as D, E,Y,S on a local server, after running the script,  when I  go into each disk, I should have a .txt file saved in there as D drive.txt, E drive.txt , Y drive.txt and S drive.txt

batch script will be used on  mixture Windows OS versions. ( 2003 to 2012)

Issue: it works fine when script is run locally but when needed to run using PSexec, it produces different issues  even though script is on the local server and all PSexec should do is executing the script with remotely instead of logging into the each server. I have read on forums that vmic is not very friendly with PSExec, is there way to eliminate wmic from the script? here is forum talks about the issues it causes:

thanks in Advance
Every month I have to go through several text files after paying bills online to send to the CFO to show all the bills that have been paid. I have tried to get him to accept a print of confirmation page but instead he wants it in the format of file 2 below (ee-online-pmts-result.txt). So I copy the results from the web page, past it to a text file and then clean it up removing all the "junk" not needed. As such is there a way I can read the first text file (ee-online-pmts.txt) and then have a list of variables to parse that if found would be removed in such a way that the result will be what the 2nd text file looks like? For instance if  "Print this activity" and two carriage returns (enter, enter) are found it will remove it? Thanks!
Hi experts

Require script to capture all root logins, through su - or direct login with root.

OS - CentOS 7
I had this question after viewing Powershell to show mailbox DB .EDB size ?.


Can anyone here please assist me in modifying the below PowerShell script to calculate the Exchange Transaction log file size ?

Get-MailboxDatabase | 
    Select Server, 
           @{Name="DB Size (GB)";Expression={$objitem = (Get-MailboxDatabase $_.Identity); $path = "`\`\" + $objitem.server + "`\" + $objItem.EdbFilePath.DriveName.Remove(1).ToString() + "$"+ $objItem.EdbFilePath.PathName.Remove(0,2); $size = ((Get-ChildItem $path).length)/1048576KB; [math]::round($size, 2)}}, 
           @{Name="Number of Mbx";expression={(Get-Mailbox -Database $_.Identity | Measure-Object).Count}},
           IsPublicFolderDatabase | ft -AutoSize

Open in new window

So far it works great, but I cannot get the total Transaction Log size.

Any help would be greatly appreciated.

for years i used

    Application.DisplayFullScreen = True

in order to get my display in full screen modus

Recently, something has changed, and now the top row of the menu mentionning the file-name and the formula bar is still visible.
How can I hide these two lines ?
Hello Folks,

I have scripted a few apps to be installed among them I need to remove and old version of Flash therefore I have this file:
so I'm using this line
uninstall_flash_player.exe -uninstall plugin

Open in new window

I have also used this line
start /wait uninstall_flash_player.exe -uninstall plugin

Open in new window

and this one
uninstall_flash_player.exe -uninstall

Open in new window

All the other applications I could install while triggering them w/ psexec, except for flash uninstall. it just stays still with the cursor blinking...
If i was to install it local then it would work, My ntid is part of the local group

so part of my script is like this:
if i do
start /wait c:\apps\uninstall_flash_player.exe -uninstall -force

Open in new window

then it would work but now im asking myself how come the other apps don't need the location since i'm launch the batch form the same folder as the script...?

any suggestions?
So have 2 different SQL servers, One has a financial database (GP) I need to be able to run a script nightly that takes data from field in a table and copys to the other database.  Basically it would look for data in one field and find the data that needs copied in another field and copy that to the same matching in another database.  Is this something that can be done with a stored procedure?
Hello folks,
I need to create a shortcut by using a script batch or PS1 or vbs, I have found this for now but it will not give me a ie

echo start > "%userprofile%\desktop\Google.cmd"

does anybody has a better solution ?
RHCE - Red Hat OpenStack Prep Course
RHCE - Red Hat OpenStack Prep Course

This course will provide in-depth training so that students who currently hold the EX200 & EX210 certifications can sit for the EX310 exam. Students will learn how to deploy & manage a full Red Hat environment with Ceph block storage, & integrate Ceph into other OpenStack service

Hi. Looking to do the following.    Suggestions on best method please

A file server needs a secure folder for each user. (Like home folder but not)

Script would scan an ou. And any new user would get a folder created in there name.   And permissions added for just them and. Special group.

And thing similar already written ?
Hi People,

Can anyone here please share the PowerShell script for Exchange Server 2013 Mailbox Export to PST (one at a time to avoid server load issue)?

What I'd like to achieve:

1. The input from .CSV file or Excel Spreadsheet based on Firstname Lastname on column 1
Employee Name
John Smith
Matthew Porter
Qun Hin
Xan Vao

2. Export it as the same emailaddress.PST name format
3. limit the export to be just one at a time
4. send email when the export finish.

Thanks in advance.

I've read this website: but there is no

Originally, this post was published on Monitis Blog, you can check it here.

In business circles, we sometimes hear that today is the “age of the customer.” And so it is. Thanks to the enormous advances over the past few years in consumer technologies such as mobile and social media, customers are the ones who “shop with their voice” so to speak. The world of blog, forums, and numerous other social media channels over the past decade have provided consumers with unheard of power to determine their choice of products, brands, and services. Because of this power customer expectations have also gone through the roof. Continuing advances in technology, along with the “consumerization of IT,” has meant that companies are now expected to offer real-time, 24/7 service to meet the demands of mobile savvy customers.


Today, it’s all about meeting the customer needs and getting them to buy your products. And in order to do so, companies need to ensure their applications and websites are in tip-top shape. Customers simply will not have any patience for a website or application that is error prone or buggy or one that takes forever to load. This is why website performance and application monitoring is so central to your business strategy.


We talk about this subject a lot because it’s really so critical to the bottom-line of a business. And it’s even becoming more incumbent today as the demands of new technologies like the Internet of Things and wearables mean that customers are interacting with companies and their products through more endpoints than ever before. All of these channels require performance monitoring to ensure that things run as efficiently and optimally as possible. At the end of the day, web performance is really about keeping the customers happy.


In what follows, we want to do a reality check by discussing 7 “sure fire” ways to improve your web performance and make sure your customers keep coming back. After all, your business ROI really depends on it!


1. Keep Things Fast!


Research shows a clear relationship between web load speed and customer conversions. The faster a page loads the more likely customers will be to visit and do business on your site. The inverse is also true. The slower a page the less likely customers will be willing to wait around and engage with your brand. While this seems fairly straightforward, it’s surprising how few business owners really get the importance of website performance and the role it plays in their business strategy. It might be nice to have a trendy looking website, but if it takes 10 seconds to load visitors won’t hang around long enough to appreciate all the bells and whistles anyway.



2. Make Your Central Message Crystal Clear


From the moment visitors hit your page you want to give them a clear reason for why they should stick around. To do this you need to deliver your central message as quickly, clearly, and convincingly as possible. Don’t make your home page so convoluted that folks don’t know what action to take. Use large font, go generous on the content, and create clear pathways to the channels they need to purchase your product . . . period, end of story.

3. Give Visitors a Reason to Return


So you’ve got some visitors, now what? Well, that’s only half the battle. Studies show that most will not purchase on the first visit. So you need to give visitors a solid reason to return to your website. Do this by providing them with something useful, something they can’t refuse. Provide practical articles, a regularly updated blog, a newsfeed, or other user-generated content . . . anything that will engage your visitors and provide them with something of value.


4. Check Your Web Hosting


When reviewing web performance one of the first things to check is your web hosting service. It’s surprising how many times this gets overlooked. Even though your provider may offer you unlimited bandwidth, does that mean shared service with other sites that end up affecting your own web performance? Are you frequently experiencing downtime or bandwidth issues? If so, it’s worthwhile to review your hosting options to ensure you’re getting the most efficient service. Don’t be afraid to insist on 99.99% uptime.


5. Use Web Analytics & Gather Metrics


To some, this sounds like a well-worn cliché by now, but it needs to be drilled in more and more. If you’re not tracking the behavior of your visitors with metrics then you’re leaving money on the table. There are many web analytics tools on the market today that can help you closely monitor your customer’s online behaviors. The ability to track a single customer across your site and across multiple devices will ensure that you can tailor your brand to their needs. For instance, you want to learn more about when and where they’re visiting from, what devices they’re using, what are their online activities, and other key demographics such as age. Gaining these insights will help your organization better understand what’s important to your visitors and how to personalize their experience.


6. Take It Easy on Design ‘Best Practices’


Increasing the size of your website images, third-party scripts, and style sheets come with a heavy price and can adversely affect performance. This is especially true in the world of mobile. Over 50% of all time consumers spend on retails site is on mobile devices and more than 50% of consumers multiscreen during the purchasing. According to this slide deck, some of the worst practices are web pages that are initially blank and then populate, pages where the call to action is the last thing to render, popups that block the rest of the page, and designing and testing in a way that the user experience is completely overlooked.


7. Adopt Cloud-Based Website Monitoring


There are significant advantages to offloading your website monitoring to a cloud-based host – cost, scalability, efficiency, to name a few. Not to mention, this frees you up to focus on growing your business, which matters the most anyway.


If you’d like to get onboard with the latest in cloud-based monitoring then you should try a 24/7 monitoring service like Monitis. With its first-class global service, Monitis allows organizations to monitor their network anytime and from anywhere. For instance, with Monitis you can load test your website to determine at what point it starts creating traffic issues. They’ll also send you timely alerts by every possible means (live phone messages, text, email, Twitter, etc.) to keep you apprised about your site performance. If your web hosting services go down then Monitis will be first to let you know.


When it comes to monitoring your website, you don’t want to shortchange yourself. Get the peace of mind you deserve by entrusting your business to a proven industry leader. Go to Monitis and sign up for a free trial today and let them help boost your bottom-line. You’ll be glad you did!

Hi Experts,

I'm looking to create a new user for particular database that will have only limited rights, for example to view only a few tables, and some of those tables only to certain columns.

Also would like to put restriction in some tables that should be able to add/edit only but not delete, and to some only to add, and other tables only read permission.

How would I go about all that?

Is there a script I can have that would allow me to list all those object and particular rights, or perhaps someone can can post some screenshots how do I accomplish that with the SSMS user interface?

Thanks in advance.
Hello - I am looking for a script to use within WMI Filtering. The issue is that I have two MSI to deploy from a GPO, however one is a x86 and the other is a x64 version for Office. I need to find out how I can install on proper versions.

I need to be able to query Office 2010, 2013 and 2016 for proper x86 and x64 versions then push proper MSI package to them. I am knew to WMI query language so your help is appreciated.

Any input to my batch file would be greatly appreciated

@echo off

xxcopy C:\"Location" E:\Destination /c /s /h /k /bb /tc /yy /BU /PB /X*\temp*\ /oN:c:\tmpxxcopylogs\backup.log

@echo *** Backup Complete! ***


Open in new window


Scripting Languages





A scripting language is a programming language that supports scripts, programs written for a special run-time environment that automate the execution of tasks that could alternatively be executed one-by-one by a human operator. Scripting languages are often interpreted (rather than compiled). Primitives are usually the elementary tasks or API calls, and the language allows them to be combined into more complex programs. Environments that can be automated through scripting include software applications, web pages within a web browser, the shells of operating systems (OS), embedded systems, as well as numerous games. A scripting language can be viewed as a domain-specific language for a particular environment; in the case of scripting an application, this is also known as an extension language.