The easiest method of executing this sample is to paste the code inside the sample code of Opening networks and locating readers example, just after the number of users is displayed, but before the Logoff method is called.
// Assume that oReader holds a valid logged-on reader object. // Open the door of the reader (will only work with firmware > 1.63) if (oReader.GetVersion(5) > 163) // 5 = vtFirmware { WScript.Echo("Now opening the door of reader '" + oReader.Name + "'"); oReader.AccessControl.OpenDoor(); } else WScript.Echo("The current firmware version does not support the OpenDoor command"); // Display the last detected card WScript.Echo("Please present a card within the next 5 seconds after closing this messagebox"); // Wait until 5 seconds are passed, or until a card is within the field of the reader var dtNow = (new Date()).getTime(); var dtEnd = dtNow + 5000; while (!oReader.HardwareControl.IsCarrierInField && dtNow < dtEnd) { WScript.Sleep(100); dtNow = (new Date()).getTime(); // Get the current time } // Was a card detected? if (oReader.HardwareControl.IsCarrierInField) { // Yes, card detected, get the card number var oUser = oReader.HardwareControl.LastUser; if (oUser) WScript.Echo("Detected card with card number: " + oUser.CardNumber + " (Username: '" + oUser.Name + "')"); } else WScript.Echo("No card detected within 5 seconds."); // Show some LED action WScript.Echo("Now displaying some LED actions"); // Get the original LED state var oOriginalLEDState = oReader.HardwareControl.LEDs; // 'Walking' LED light: for(var j = 0; j < 3; j++) { // Downwards movement var iMask = 1; for(var i = 0; i < 7; i++) { oReader.HardwareControl.LEDs = iMask; iMask = iMask << 1; WScript.Sleep(100); } // Upwards movement for(var i = 0; i < 7; i++) { iMask = iMask >>> 1; oReader.HardwareControl.LEDs = iMask; WScript.Sleep(100); } } // Set back the original LED state oReader.HardwareControl.LEDs = oOriginalLEDState;