Copilot is your AI companion
Always by your side, ready to support you whenever and wherever you need it.
This download installs Microsoft® Windows® Script containing Visual Basic® Script Edition (VBScript.) Version 5.7, JScript® Version 5.7, Windows Script Components, Windows Script Host 5.7, and Windows Script Runtime Version 5.7.
Important! Selecting a language below will dynamically change the complete page content to that language.
-
This download installs Microsoft® Windows® Script containing Visual Basic® Script Edition (VBScript.) Version 5.7, JScript® Version 5.7, Windows Script Components, Windows Script Host 5.7, and Windows Script Runtime Version 5.7.
-
Supported Operating Systems
Windows XP
-
- Click the Download button on this page to start the download, or choose a different language from the drop-down list and click Go.
- Do one of the following:
- To start the installation immediately, click Open or Run this program from its current location.
- To copy the download to your computer for installation at a later time, click Save or Save this program to disk.
-
Update August 30, 2007: In some installation scenarios Windows System File Protection will replace the updated Script 5.7 files with previously installed versions. Download and install the updated Windows Script 5.7 package to resolve the issue.
Windows Script 5.7 for Windows XP |
This download installs Microsoft® Windows® Script containing Visual Basic® Script Edition (VBScript.) Version 5.7, JScript® Version 5.7, Windows Script Components, Windows Script Host 5.7, and Windows Script Runtime Version 5.7.
- This download installs Microsoft® Windows® Script containing Visual Basic® Script Edition (VBScript.) Version 5.7, JScript® Version 5.7, Windows Script Components, Windows Script Host 5.7, and Windows Script Runtime Version 5.7.
Files
Status: LiveThis download is still available on microsoft.com. Since you’re using a legacy operating system, the downloads below are archives provided by the Internet Archive Wayback Machine from the Microsoft Download Center prior to August 2020. |
File | Size |
---|---|
scripten.exe
SHA1: |
1.01 MB |
System Requirements
Operating Systems: Windows XP
Installation Instructions
-
- Click the Download button on this page to start the download, or choose a different language from the drop-down list and click Go.
- Do one of the following:
- To start the installation immediately, click Open or Run this program from its current location.
- To copy the download to your computer for installation at a later time, click Save or Save this program to disk.
Related Resources
- Scripting Webcasts
- Windows Script 5.7 Release Notes
- TechNet Script Center
- Sign Up for Microsoft Download Notifications
Scripts give IT professionals the ultimate ability to control and automate Windows XP. These aren’t batch files; they’re full-fledged administrative programs that are surprisingly easy to create considering the wealth of power they enable. You can write a script that inventories a computer and writes the result to a file on the network, for example. You can automate an application to perform redundant steps automatically. The sky is the limit, really, but I’m here to tell you how to use scripts to edit the registry, so I’m confining myself a bit.
The scripting technology in Windows XP is Windows Script Host. The current version is 5.6 and is technologically leaps and bounds over what Microsoft Windows 2000 provided. Windows Script Host is called a host because it’s not aware of a script’s language. Microsoft calls this language agnostic. Windows Script Host uses different scripting engines to parse the different languages in which you might write a script. Windows XP provides two scripting engines: VBScript and JScript. If you’ve ever used the C or C++ languages, you’ll be more comfortable writing scripts using JScript. If you’ve ever used Visual Basic in any of its incarnations, you’re going to be more comfortable using VBScript to write scripts.
The problem with focusing this chapter on how to use scripts to edit the registry is that doing so assumes that you’re already familiar with Windows Script Host. If that’s not true, I suggest that you find a good book about scripts. If you don’t want a book about it, see http://www.microsoft.com/scripting. This is Microsoft’s Scripting Web site, and it contains everything you need to know about writing scripts for Windows XP, including accessing Windows Management Instrumentation (WMI) through scripts. After you’ve mastered the languages, which aren’t difficult, you’ll appreciate this Web site’s reference content. The content describes the object model and how to use it—the hardest part of writing scripts for Windows XP.
Creating Script Files
Script files can have two file extensions, and the script’s file extension indicates which language the file contains. Use the .js extension for files that contain JScript. Use the .vbs extension for files that contain VBScript. Regardless, script files are nothing more than text files that contain the language’s keywords, so you can use your favorite text editor, Notepad, to create them. When you save a script file, make sure you enclose the file’s name in quotation marks or choose All Files from the Save As Type list so Notepad doesn’t add the .txt extension to the file.
Without going into detail about the object model, you access the registry through the Shell object. This object contains the methods you call to add, remove, and update values in the registry. You’ll add one of the following statements to every script in which you want to access the registry. The first line shows you how to create the Shell object using VBScript, and the second shows you how to do it using JScript. Just to show you how easy it is to create a script, open Notepad, and type Listing 9-7. The JScript language is case sensitive, so type Listing 9-7 carefully. VBScript has the benefit of not being case sensitive. Save the file using the .js extension, and then double-click the file to run it. You’ll see a message from me. Because double-clicking the script file runs it, you must right-click the file and then click Edit to edit the file.
Listing 9-7: Example.js
var WshShell = WScript.CreateObject("WScript.Shell"); WshShell.Popup("Hello from Jerry Honeycutt" );
set WshShell = WScript.CreateObject("WScript.Shell") var WshShell = WScript.CreateObject("WScript.Shell");
Why write scripts when INF files are easier?
I usually write INF files to edit the registry. If I’m not using INF files, I write batch files and use Reg.exe. I like the simplicity of these methods. There are times when writing a script is the only suitable method, however.
Writing a script is necessary in a number of cases. The first is when you must have a user interface. If you want to display settings to or collect settings from users, scripting is the best choice. Also, scripting is the only method that provides rather full access to Windows XP. For example, you can use a script to inventory the computer and dump the information to a text file on the network. You can use a script to configure users’ computers using logic, if-this-then-that, which isn’t possible with the other methods. So if you’re doing anything more complicated than just adding, changing, or removing values, you’re going to end up writing scripts. I’ve seen some fairly complicated scripts. For example, one fellow I worked with wrote a script that searched the registry for services that Sysprep disabled, and then permanently removed them from the registry. This is a great example of scripting.
Combined with WMI, scripting is nothing short of amazing. The script on the next page shows you how to use VBScript and WMI to inventory a computer’s configuration. It displays the amount of physical memory installed on the computer, the name of the computer, the BIOS version, the type of processor, and more. This script and many more like it are available on Microsoft’s Script Center, which is a large library of scripts that you can download, modify, and use. All these scripts are at http://www.microsoft.com/technet/scriptcenter.
strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colSettings = objWMIService.ExecQuery _ ("Select * from Win32_OperatingSystem") For Each objOperatingSystem in colSettings Wscript.Echo "OS Name: " & objOperatingSystem.Name Wscript.Echo "Version: " & objOperatingSystem.Version Wscript.Echo "Service Pack: " & _ objOperatingSystem.ServicePackMajorVersion _ & "." & objOperatingSystem.ServicePackMinorVersion Wscript.Echo "OS Manufacturer: " & objOperatingSystem.Manufacturer Wscript.Echo "Windows Directory: " & _ objOperatingSystem.WindowsDirectory Wscript.Echo "Locale: " & objOperatingSystem.Locale Wscript.Echo "Available Physical Memory: " & _ objOperatingSystem.FreePhysicalMemory Wscript.Echo "Total Virtual Memory: " & _ objOperatingSystem.TotalVirtualMemorySize Wscript.Echo "Available Virtual Memory: " & _ objOperatingSystem.FreeVirtualMemory Wscript.Echo "OS Name: " & objOperatingSystem.SizeStoredInPagingFiles Next Set colSettings = objWMIService.ExecQuery _ ("Select * from Win32_ComputerSystem") For Each objComputer in colSettings Wscript.Echo "System Name: " & objComputer.Name Wscript.Echo "System Manufacturer: " & objComputer.Manufacturer Wscript.Echo "System Model: " & objComputer.Model Wscript.Echo "Time Zone: " & objComputer.CurrentTimeZone Wscript.Echo "Total Physical Memory: " & _ objComputer.TotalPhysicalMemory Next Set colSettings = objWMIService.ExecQuery _ ("Select * from Win32_Processor") For Each objProcessor in colSettings Wscript.Echo "System Type: " & objProcessor.Architecture Wscript.Echo "Processor: " & objProcessor.Description Next Set colSettings = objWMIService.ExecQuery _ ("Select * from Win32_BIOS") For Each objBIOS in colSettings Wscript.Echo "BIOS Version: " & objBIOS.Version Next
Running Script Files
Windows XP provides two scripting hosts. The Windows-based version runs scripts when you double-click a script file. The script engine is Wscript.exe. You can also use the command-line version, which is handy when the script outputs data similar to how most command-line programs do. The example given in the sidebar «Why write scripts when INF files are easier?» in Listing 9-7 is one script that’s better from the command-line. The command-line scripting engine is Cscript.exe:
cscript script [//B|//I] [//D] [//E: engine] [//H:cscript|//H:wscript] [// Job:name] [//Logo|//Nologo] [//S] [//T:time] [//X] [//?]
//B |
This specifies batch mode, which does not display alerts, scripting errors, or input prompts. |
//I |
This specifies interactive mode, which displays alerts, scripting errors, and input prompts. This is the default and the opposite of //B. |
//D |
This turns on the debugger. |
//E: engine |
Specifies the scripting language that is used to run the script. |
//H:cscript | //H:wscript |
This registers either Cscript.exe or Wscript.exe as the default script host for running scripts. If neither is specified, the default is Wscript.exe. |
//Job: name |
This runs the job identified by name in a .wsf script file. |
//Logo |
This specifies that the Windows Script Host banner is displayed in the console window before the script runs. This is the default and the opposite of //Nologo. |
//Nologo |
This specifies that the Windows Script Host banner is not displayed before the script runs. |
//S |
This saves the current command-line options for the current user. |
//T: time |
This specifies the maximum time the script can run (in seconds). You can specify up to 32,767 seconds. The default is no time limit. |
//X |
This starts the script in the debugger. |
//? |
This displays available command parameters and provides help for using them. (This is the same as typing Cscript.exe with no parameters and no script.) |
You can specify some of the same options when using the Windows-based scripting host. Right-click the script file, and then click Properties. You’ll see the dialog box shown in Figure 9-3 on the next page. You can set the amount of time that the script is allowed to run and whether or not the host displays a log. The result is a file with the .wsh extension that contains these settings. It looks like your average INI file. You then execute the script by double-clicking the WSH file.
Figure 9-3: You create a WSH file, which contains a script file’s settings, by right-clicking the script, clicking Properties, and then clicking the Script tab.
Formatting Key and Value Names
Before I show you how to edit the registry with a script, there’s one more detail: how to format the names of keys and values in a script. Unlike other scripting methods I’ve described in this chapter, the Windows Script Host object model doesn’t have separate parameters for the key and value name. Thus, you distinguish key names and value names by how you format them. The rule is simple: If a string ends with a backslash, it’s a key name; if a string doesn’t end with a backslash, it’s a value name. Also, the JScript language reserves the backslash character (\) as the escape character: \n is a newline character and \t is a tab, for example. That means that you must escape the backslashes in your keys. Thus, any time you have a backslash in a key, you must use two backslashes (\\). To keep these clear, see Table 9-4.
Table 9-4: Key and Value Formatting
Object |
VBScript |
JScript |
---|---|---|
Value |
«HKLM\Subkey\Value» |
«HKLM\\Subkey\\Value» |
Key |
«HKLM\Subkey\» |
«HKLM\\Subkey\\» |
Adding and Updating Values
The Shell object’s RegWrite method adds keys and values or changes existing values. If you want to change a key’s default value, set strName to the name of the key, including the trailing backslash, and then assign a value to it.
Tip |
One of the RegWrite method’s biggest weaknesses is that it writes only four bytes of REG_BINARY values. It can’t handle larger binary values. If you want to change longer binary values or change types of values that this method doesn’t support, use the Shell object’s Run method to import a REG file. For example, you can put your settings in a REG file called Settings.reg. Then import that REG file using the statement WshShell.Run(«Settings.reg»). |
object.RegWrite( strName, anyValue [,strType] )
object |
This is the Shell object. |
strName |
This is the string indicating the name of the key or value. You can add keys. You can add or change values. strName must be a fully-qualified path to a key or value and begin with one of the root keys: HKCR, HKCU, HKLM, or HKU. |
anyValue |
This is the data to assign to new or existing values. Use the format appropriate for the value’s type. |
strType |
This is the type of value to create: REG_SZ, REG_EXPAND_SZ, REG_DWORD, or REG_BINARY. The RegWrite method doesn’t support the REG_MULTI_SZ value type. Also, this method writes only four byte REG_BINARY values. |
Example (VBScript)
Set WshShell = WScript.CreateObject("WScript.Shell") WshShell.RegWrite "HKCU\Software\Sample\", 1, "REG_BINARY" WshShell.RegWrite "HKCU\Software\Sample\Howdy", "World!", "REG_SZ"
Example (JScript)
var WshShell = WScript.CreateObject( "WScript.Shell" ); WshShell.RegWrite("HKCU\\Software\\Sample\\", 1, "REG_BINARY"); WshShell.RegWrite("HKCU\\Software\\Sample\\Howdy", "World!", "REG_SZ");
Removing Keys and Values
The Shell object’s RegDelete method removes keys and values from the registry. Be careful, however, because removing an entire branch is easy; there’s no confirmation. To remove a key, end strName with a backslash; otherwise, you’re removing a value.
object.RegDelete( strName )
object |
This is the shell object. |
strName |
This is the string indicating the name of the key or value to delete. strName must be a fully qualified path to a key or value and begin with one of the root keys: HKCR, HKCU, HKLM, or HKU. |
Example (VBScript)
Set WshShell = WScript.CreateObject( "WScript.Shell" ) WshShell.RegDelete "HKCU\Software\Honeycutt\Howdy" WshShell.RegDelete "HKCU\Software\Honeycutt\"
Example (JScript)
var WshShell = WScript.CreateObject( "WScript.Shell" ); WshShell.RegDelete ( "HKCU\\Software\\Honeycutt\\Howdy" ); WshShell.RegDelete ( "HKCU\\Software\\Honeycutt\\" );
Querying Registry Values
The Shell object’s RegRead method returns a value’s data. To read a key’s default value, end strName with a backslash; otherwise, you’re reading a value.
object.RegRead( strName )
object |
This is the shell object. |
strName |
This is the string indicating the name of the value to read. strName must be a fully qualified path to a key or value and begin with one of the root keys: HKCR, HKCU, HKLM, or HKU. |
Example (VBScript)
Dim WshShell, dwFlag, strValue Set WshShell = WScript.CreateObject( "WScript.Shell" ) dwFlag = WshShell.RegRead( "HKCU\Software\Honeycutt\" ) strValue = WshShell.RegRead( "HKCU\Software\Honeycutt\Howdy" )
Example (JScript)
var WshShell = WScript.CreateObject( "WScript.Shell" ); var dwFlag = WshShell.RegRead( "HKCU\\Software\\Honeycutt\\" ); var strValue = WshShell.RegRead( "HKCU\\Software\\Honeycutt\\Howdy" );
VBScript: Uninstall Updates on winXP,Win2003, Win7 and Win 2008 R2 automatically!
[download id=”95″]
The Challenge
Microsoft has changed the way updates are being installed and uninstalled many times. This means that a common method can’t be used.
Windows XP and Windows 2003
- Updates can be uninstalled from a hidden “uninstall” folder, located in the windows folder. Windows 2008 R2 and Windows 7
- A command line utility (wusa.exe) can uninstall the updates.
The solution
The solution contains one VBScript, this script is able to detect the local OS, and use one of the 2 methods above for uninstall.
XP/2003:
- The script does a check for the uninstall folder, and run the spuninst.exe
- The script writes event log event (Source: WSH) in the local event log describing if it was found it not.
- More logging can be enabled by the /log argument, and a text field will be created on the local machine
Win7/2k8R2:
- Script runs built-in the wusa.exe command.
- The script does no check if the update is installed before trying to uninstall the update, since wusa.exe have no method for doing this.
- Wusa.exe writes status messages to event log.
- Wusa.exe supported /log argument, but it does not write text files, therefore a .evt file will be saved (if a path for another type of file is specified, it will automatically be changed to .evt to make the file usable.)
The Flowchart later in this document describes this in a more detailed way.
The script will end with success, no matter if the update exists on the machine or not. If it fails, something else is wrong (for example: bad command line in the ConfigMgr Program).
Known Issues
- Windows 2008 (non R2) is Not Supported. It does not have the “old” uninstall folders in Windows folder, and “wusa.exe” utility does not support uninstallation.
- Some updates cannot be uninstalled, even if we try to do it manually.
- Other updates for Microsoft applications might not be possible to uninstall in this generic way
- 3rd party application updates or service packs cannot be uninstalled.
- Specific updates might use a non-standard installation method, which makes it impossible to uninstall (at least on XP/2003)
Using the script
Run the script with cscript.exe.
This is an example of the basic command line for running the script:
cscript.exe UninstallUpdates.vbs 976902
Syntax is
cscript.exe <scriptname> <kb number> <arguments>
this means you are able to use arguments for changing the behavior of the uninstall
Supported Arguments:
Argument | Description |
/passive | This disables the /quiet argument, and makes a progressbar visible for the user.(requires the user to be able to interact with the program in ConfigMgr) |
/norestart | Disable automatic restart when using /quiet |
/forcerestart | Force a restart after uninstall, no matter if it is needed or not. |
/warnrestart | Warn user before restarting(requires the user to be able to interact with the program in ConfigMgr) |
/log:”C:\temp\uninstall.log” | Create a log file on the local machine.XP/2003: Text file
7/2K8R2: .evt eventlog file. Notice there is no space between /log: and the path. Allways surround the path with “ “ to make sure that it is parsed correctly. |
To use argument in a command line
cscript.exe UninstallUpdates.vbs 976902 /norestart /log:”C:\KB976902-Uninstall.log”
Exit Codes
The script has a couple of custom exit codes.
You might experience other exit codes, if you have error in script, command line or similar.
Exit Code | Description |
10001 | No arguments supplied, at least one argument (KB Number) is required! |
a Thank you goes out to DFDS A/S
Script
' //*************************************************************************** ' // ***** Script Header ***** ' // ' // Solution: ConfigMgr Software Updates ' // File: UninstllUpdates-v0.1.vbs ' // Author: Jakob Gottlieb Svendsen, Coretech A/S. https://blog.ctglobalservices.com ' // Purpose: Uninstall Updates from Windows ' // Supported OS: ' // Windows XP ' // Windows 7 ' // Windows Server 2003 ' // Windows Server 2008 R2 ' // ' // Usage: wscript.exe <scriptname> <KB Number> <Arguments) ' // ' // 'Supported Arguments ' // /passive (no quiet install) ' // /norestart ' // /forcerestart ' // /warnrestart ' // /promptrestart (remember to make the program in configmgr to be interactive) ' // /log:"<path>" ' // ' // fx: cscript.exe UninstallUpdates-v0.1.vbs 978654 /norestart /log:"C:\log.log" ' // ' // CORETECH A/S History: ' // 1.0.0 JGS 25/07/2011 Created initial version. ' // 1.0.1 JGS 10/02/2012 Disabled check for KB number, since they can be both 6 or 7 decimals (maybe even more) ' // ' // Customer History: ' // ' // ***** End Header ***** ' //*************************************************************************** '//---------------------------------------------------------------------------- '// '// Global constant and variable declarations '// '//---------------------------------------------------------------------------- Set objShell = WScript.CreateObject("Wscript.Shell") '//---------------------------------------------------------------------------- '// Main routines '//---------------------------------------------------------------------------- 'Get Settings and KB i = 0 strCommandArgs = " " If WScript.Arguments.Count > 0 Then 'WScript.Echo WScript.Arguments.Item(i) Do While i < WScript.Arguments.length If i = 0 Then strKB = Replace(WScript.Arguments.Item(i),"KB","") 'Check regex. ' Set objRE = New RegExp ' objRE.Global = True ' objRE.IgnoreCase = False ' objRE.Pattern = "^\d{6}$" ' bMatch = objRE.Test(strKB) ' If Not bMatch Then ' WScript.Echo "KB Number wrong format: " & strKB ' WScript.Quit(10002) 'KB argument wrong format. ' End If Else strArg = LCase(WScript.Arguments.Item(i)) If InStr(strArg, "/log") Then bLog = True strLogFilePath = Replace(strArg, "/log:", "") 'More log in the select case below Else If InStr(strArg, "/passive") Then bPassive = True Else strCommandArgs = strCommandArgs & " " & strArg End If End If End If i = i + 1 Loop Else WScript.Quit(10001) 'No arguments supplied End If strCurrentOSVersion = CheckLocalOSVersion Select Case strCurrentOSVersion Case "6.1" 'Win7 - Win2k8r2 If bLog Then 'Convert file to .evt strLogFilePath = Left(strLogFilePath,Len(strLogFilePath) - 3) strLogFilePath = strLogFilePath & "evt" strCommandArgs = strCommandArgs & " /log:""" & strLogFilePath & """" End If UninstallUpdateWin2K8R2Win7 strKB, strCommandArgs, bPassive Case "5.2", "5.1" 'windows 2003 or Windows XP If bLog Then strCommandArgs = strCommandArgs & " /log:""" & strLogFilePath & """" End If UninstallUpdateXP2003 strKB, strCommandArgs, bPassive End Select '//---------------------------------------------------------------------------- '// Procedures '//---------------------------------------------------------------------------- Function UninstallUpdateWin2K8R2Win7(strKBNumber, Args, bPassive) Dim objShell Set objShell = WScript.CreateObject("Wscript.Shell") If bPassive Then 'run silent uninstall strCmd = "wusa.exe /kb:" & strKBNumber & " /uninstall /passive" & Args Else 'run silent uninstall strCmd = "wusa.exe /kb:" & strKBNumber & " /uninstall /quiet" & Args End If WScript.Echo "Commandline: " & strCmd ReturnCode = objShell.Run(strCmd , , True) WScript.Echo "ReturnCode: " & ReturnCode End Function Function UninstallUpdateXP2003(strKBNumber, Args, bPassive) Dim objFSO, objShell Set objFSO = CreateObject("Scripting.FileSystemObject") Set objShell = WScript.CreateObject("Wscript.Shell") Set objFolder = objFSO.GetFolder(objShell.ExpandEnvironmentStrings("%WINDIR%")) Set colSubfolders = objFolder.Subfolders bFound = False For Each objSubfolder in colSubfolders strFolderName = LCase(objSubFolder.Name) If InStr(strFolderName, "ntuninstallkb") Then strCurrentKB = Mid(strFolderName, InStr(strFolderName, "kb") + 2, 6) If strCurrentKB = strKBNumber Then bFound = True 'Uninstall KB strUninstallExe = objSubFolder.Path & "\spuninst\spuninst.exe" If (objFSO.FileExists(strUninstallExe)) Then If bPassive Then 'run silent uninstall strCmd = strUninstallExe & " /passive " & Args Else 'run silent uninstall strCmd = strUninstallExe & " /quiet " & Args End If WScript.Echo "Commandline: " & strCmd ReturnCode = objShell.Run(strCmd , , True) Else objShell.LogEvent 1, "Software Update KB" & strKBNumber & " could not be uninstalled (uninstalled exe was not found at " & strUninstallExe & " )" End If End If End If 'Wscript.Echo objSubfolder.Name, objSubfolder.Size Next If bFound Then objShell.LogEvent 0, "Software Update KB" & strKBNumber & " was successfully uninstalled" Else objShell.LogEvent 1, "Software Update KB" & strKBNumber & " could not be uninstalled (folder not found)" End If End Function Function CheckLocalOSVersion Set objShell = CreateObject("Wscript.Shell") OSVer = objShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\CurrentVersion") CheckLocalOSVersion = OSVer End Function '//---------------------------------------------------------------------------- '// End Script '//----------------------------------------------------------------------------
Share This Story, Choose Your Platform!
Twitter: @JakobGSvendsen
Jakob Gottlieb Svendsen is a Microsoft Cloud and Data Center Management MVP (http://mvp.microsoft.com/en-us/default.aspx), Working as Global Lead Developer, Senior Consultant and Trainer at CTGlobal, where he is one of the driving forces in keeping CTGlobal a System Center Gold Partner and member of the System Center Alliance.
Since he started at Coretech in 2007, he has focused on Scripting and Development, primarily developing tools, extensions and scripts for the System Center Suite. His main area is Automation (including OMS/Azure Automation, Service Management Automation, PowerShell and Orchestrator). Another area is Windows Azure Pack / Azure Stack, where he does implementation, development, workshops and presentations. He is a world-wide renowned voice in the Automation field.
He is passionately devoted to the community, to which he contributes by being a moderator at TechNet and sharing his knowledge at https://blog.ctglobalservices.com/jgs
- Co-founder: PowerShell User Group Denmark
- Speaker at MMS 2016, Minneapolis (www.mmsmoa.com)
- SCU Europe 2014, 2015, 2016 (www.systemcenteruniverse.ch)
- Microsoft TechEd North America 2014, Houston
- NIC 2012,2013,2014,2015, Oslo (www.nic.com)
- Microsoft CampusDays 2011, 2013, Copenhagen
- Microsoft TechDays 2015, Sweden (www.techdays.se)
- Microsoft Partner Event: New in SC2012 SP1
- User group meetings (PSUG.DK , SCUG.DK/BE/NO, AZMUG + more)
- Microsoft Certified Trainer.
- Microsoft Scripting Guys Forum Moderator
Main working areas:
- Automation (Azure Automation, SMA, SCO)
- Windows Azure Pack / Azure Stack
- System CenterVisual Studio Team Services / Team Foundation Server
- Development:C#.Net, VB.NET, VBScript, PowerShell, Service Manager, OpsMgr, ConfigMgr
- Orchestrator
- Windows Azure Pack / Azure Stack
Training:
- Azure Automation
- Service Management Automation
- System Center Orchestrator
- PowerShell, VBScript, C#.Net, VB.Net
- Windows Azure Pack / Azure Stack Development Workshops
Beslægtede indlæg
Der er lukket for kommentarer.
Page load link
|
|||||||||||
DS-Servers.com
Copyright © 2012-2025. All Rights Reserved.