General: applet-specific SW and ISO7816

Hi all!
I'm newbie to Java Card, so apologies if question is stupid.
1) In ISO 7816-4 a number of smart card return codes/ instruction bytes, еtс. are defined. When I write an applet, should I use them or define my own?
For example, the applet should perform external authentication.
If I want to write my code properly, should I write
public class MyApplet extends Applet{
private static final byte INS_STANDART_ISO_EXT_AUTH = (byte)0x82;
private static final short SW_STANDART_ISO_EXT_AUTH_FAIL = (short)0x6983;
} or the better way is
public class MyApplet extends Applet{
private static final byte INS_MY_OWN_EXT_AUTH = (byte)0x10;
private static final short SW_MY_OWN_EXT_AUTH_FAIL = (short)0x9983;
2) If you need some applet specific error codes, do you use the range of 0x9XXX or 0x6XXX values?
[url http://javacard.vetilles.com/2006/09/26/status-words-in-iso7816/]This guy writes that I should use 0x9XXX values. Zhiqun Chen in his book uses 0x6XXX for wallet applet.

Unless you seek to be compatible with existing software / spec, do what you like. 7XXX are unusual but also possible, depending on the card and protocol (better luck with contactless and T=1). SIM cards abuse the 9xxx range.
In practice, you'll be able to map quite all possible errors to one of the pre-existing SW values. Most important of them are (from memory):
6700 (bad len),
6982 (bad security)
6985 (forbidden),
6A80 (bad data)
6A82 (app/file not found),
6A88 (object not found),
6B00 (bad P1/P2), - 6A86 is also possible
6D00 (no instruction)
6E00 (bad class).
ISO7816-4 compatibility should be nice if you used CLA=00 and INS defined in ISO7816-4, ie everyone "expects" an instruction 00A4 to be select file/app and 00B2 to be "read record", but that's not mandatory.
If you want to be clean, use the "proprietary" class, CLA=80h, and any instruction you like.

Similar Messages

  • What is Java Applet 1.0, and why does it launch when I do an applet action?

    When I go to http://www.chemaxon.com/marvin/sketch/index.php with Safari 5.1.7 on MacOS 10.6.8, an applet launches.  If I then click and hold on one of the toolbars of this applet and drag to the left, the toolbar is supposed to detach.  Instead, my computer launches a program called Java Applet 1.0, and a blank rectangle appears where the toolbar is supposed to be, but no buttons appear in the toolbar.  The program Java Applet 1.0 does not appear to have any functions associated with it; if I click on its icon in my dock, the blank toolbar comes to he foreground, but nothing else happens.  If I quit Java Applet 1.0, the original applet quits as well.  A separate instance of Java Applet 1.0 launches for each browser that I use to go to http://www.chemaxon.com/marvin/sketch/index.php. 
    So my question is, what is the purpose of Java Applet 1.0?  Is Java Applet 1.0 launching because there is a bug in the applet, or is a bug in Java Applet 1.0 causing the applet to misfire? 

    I don't know this action, specifically, but such a message often means an action step has tried to do an activity that was successfully recorded with an image that has different attributes, e.g., RGB vs Grayscale, or maybe a different bit depth or other modal difference.  It's also possible you have a non-image layer selected when you're running the action.
    -Noel

  • Asigning Reports, specific tables and Url links to the Role

    Hello Gurus,
    could you please tell me the procedure of asigning Reports, specific tables and Url links in the role.actually i know the process of assigning T-Codes to the role but i dont know the procedure for reports and url links and tables...
    i hope u people will respond positively.
    Cheers.......
    srinivas.korva

    Hi Srinivas,
    "i want to add only one particular table not all tables", you can do this using a Custom Transaction Code, the following are the steps to do it:
    1) goto se93, give a unique name, say zxxx
    2)Enter SE16 into the transaction field and select the flag the ‘skip initial screen’ field:
    3)On the lower portion of the screen, enter the following information:
    Name of screen field: DATABROWSE-TABLENAME
    Value: Enter the name of the table you want to browse with
    4)save it.
    5) Now add the transaction zxxx in th role, and assign it to the user.
    With this, when user executes the transaction, he/she will be able to see only the perticular table you added.
    "in PFCG what is the use of Exper mode for profile generation. what is the difference between general profile generation and expert mode profile generation".
    Expert mode has 3 options:
    1) Delete and recreate profile and authorizations---This will completely delete the old profile and add only  the new once.
    2) Edit old status----It will edit the old values
    3) Read old status and merge with new data----This will add the new values aithout actually disturbing the old ones.
    Hope it helps.
    Please award points if it is useful.
    Thanks & Regards,
    Santosh

  • Looking for a good Javascript to let me know if the "Enable applet plug-in and Web Start Applications is enabled" is disabled or enabled within Java Preferences?

    If this code could work on Snow Leopard as well, that would be awesome. I have a code to tell if Java is enable or disabled on any web browser, but it does not detect if the Java Preferences "Enable applet plug-in and Web Start Applications is enabled" is enabled or disabled. Just looking for a specific code to tell if this option is disabled or enabled.
    Thank you

    Launch Applications/Utilities/Java Preferences.app by double-clicking.
    EDIT; But I think you are confusing this with JavaScript which has nothing to do with it.

  • No option to Enable the Java applet plug-in and Web Start applications

    How do I Enable the Java applet plug-in and Web Start applications
    Their is no option under java preferences General Tab
    The options i get their are
         Run appelts
              in their own proccess
              Within the browser process
              (Defaut most compatible)
    Under the network tab im told
    By default java applets and web start applications use network settings in the system network preferences. Only advanced users should modify these settings
    Any ideas on why it is like this?

    Mac OS 10.6.8
    This happend once before when I was running 10.5.8 I fixed it but for the life of me i can't remember how i did it.

  • I am having difficulties loading pages. For example: I am on the powerschool web site looking at my child's grades. I want to get into a specific class and the page either takes many minutes to load or I get the error message that the page can't load. He

    Can't get into specific class grades. It's not just here though; many pages load and load and load taking an extremely long time only to get an error message.
    == URL of affected sites ==
    http://ps.hibbing.k12.mn.us/public/home.html

    Hello, could this be it?
    Java for OS X 2012-006: How to re-enable the Apple-provided Java SE 6 applet plug-in and Web Start functionality
    http://support.apple.com/kb/HT5559

  • Inactive Item report to show Item bought within a specific period and not sold within a specific period by whse and have stock

    Hi
    I'm trying to come up with query report to show Inactive Item bought within a specific period and not sold within a specific period by whse and have stock
    The report should show  Item Number, Item Name ,Item cost,Retail Price [Based on a price list], Qty in Whse, Last Purchase Date, Last sale Date etc.
    e.g item bought between 2011-2013 and have not been sold with the same date range or the last 12 months.
    Regards
    Brian Ndunda.

    Hi,
    Try this query:
    SELECT T0.[ItemCode], T0.[ItemName], T0.[OnHand], T0.[AvgPrice], T0.[LastPurPrc], T0.[LstSalDate] FROM OITM T0  left JOIN INV1 T1 ON T0.ItemCode = T1.ItemCode left JOIN OINV T2 ON T1.DocEntry = T2.DocEntry WHERE T1.[Quantity] is null and  T0.[OnHand] >0 GROUP BY T0.[ItemCode], T0.[ItemName], T0.[OnHand], T0.[AvgPrice], T0.[LastPurPrc], T0.[LstSalDate]
    Thanks & Regards,
    Nagarajan

  • Is there a way to transfer songs from a Sony 16GB MP3 player to an iPod Classic? Tried dragging the songs to iTunes,only accepted 1400 of the songs. MP3 player was full.  I also had compiled the songs in a specific order and iTunes changed order.

    Is there a way to transfer songs from Sony 16GB MP3 player to an iPod Classic?  Tried dragging the songs to iTunes but it only accepted 1400 of the songs, MP3 was full. I also had compiled the songs in a specific order and iTunes changed the order.

    The songs from the Sony MP3 player need to be imported into your iTunes library first before they can be synced or added to your iPod Classic. 
    Regarding the songs that didn't import into iTunes, what format are they in and what seems to be different from them compared with the tracks that did import?
    B-rock

  • Just updated my iPhone 4 from IOS 6.1.3 to 7.1.2, I know I am behind the times, but I got there eventually! All seems well but I have one specific problem and hope someone can offer a helpful suggestion.

    Just updated my iPhone 4 from IOS 6.1.3 to 7.1.2, I know I am behind the times, but I got there eventually! All seems well but I have one specific problem and hope someone can offer a helpful suggestion.
    On opening the app "Find my iPhone" I add my password and sign in, to be greeted with a screen that says;
    "Update Find My iPhone. A new version of Find My iPhone is available from the App. Store. You must install the update to continue using the app. Update now"
    On hitting the "Update now" button I'm taken to the relevant page on the App Store, to be told that I cannot update as it needs IOS8 to be able to continue and as my iPhone is only a 4 cannot install IOS8.
    I'm left going around in circles. The only thing would be to delete the app, but looks like I could not re-install the version I would need. Any body have any thoughts or suggestions? (Apart from updating my phone, I have a few months left on the contract!)
    Thanks in advance.

    Hi, thanks for the suggestion. I have tried as you suggested, and when opening the "purchased" apps some have the icloud logo next to them, but I only have "OPEN" against "Find My iPhone". When opening it up, it goes through the same routine; needs to be updated before proceeding, and wouldn't update because I don't have IOS8.
    Anything else I could try, or am I doomed!
    All of your help is much appreciated, thanks

  • Can I limit the number of appointments made by everyone at a specific time and place?

    I want to limit the number of people who make an appointment at a specific time and place.  Can I do this?

    Which Adobe software are you using?

  • How to Run a Request Set on specific days and at specific hours

    Hi community,
    The question is simple, how to rin a Request Set on Specific Days and at Specific hours?
    Let me explain the scenario.
    E-Business Suite, Release 11.5.9.
    We have a request set under Sysadmin user. This Request set is running 24x7, during all year, and we want to restrict the execution from Monday to Friday since 08:00 a.m. to 20:00 p.m. in order to increase the productivity of our system and more over, to avoid the size increase of a table (OE_EXPOSURE_INTERFACE)
    The Request Set includes 5 Requests:
    10. Workflow Background Process.
    20. GUZMAN: Cálculo metodo pago en pedidos.
    30. GUZMAN: Exposición de crédito externo.
    40. Credit Exposure Import.
    50 Initialize Credit Summaries Table.
    As you can see three of them are standar Oracle Order Management Processes and two of them are custom Oracle Order Management Processes; and the requests must be executed in that order.
    We have just thinking about to create a Custom Manager with a workshift from Monday to Friday since 08:00 a.m. to 20:00 p.m., and include the requests as specialization rules or assigning those request to a Request Type and then include that Request Type as specializated rule, but this does not assure us that the request will be executed in that order.
    Any suggestion?
    Thanks a lot for your answer in advice.
    Luis.

    Hi Anchorage,
    It could be a solution, but not the exact solution that we want. Let me say why.
    With the Request set we have the security that each concurrent request is executed when the prior one finishes; is that to say 20, does not begin till 10 finishes, and 30 does not begin till 20 finishes and so on. The most critical concurrent requests are 40 and 50, cause those are the ones that import an external credit exposure in the OE_EXPORURE_INTERFACE table (40) and are the ones that delete those external credit exposures imported (50). The problem is (and we do not know why) that these actions makes grow the size of the table and each time the 40 and 50 processes takes more minutes to finish. That's why we need to truncate the table in order to avoid the excesive grow of itself.
    Making each process independent, with a begining time and hoping and expecting that the following one does not begin till the prior one ends is not an admisible or realizable solution due to the problem with the 40 and 50 processes.
    So at the end, we need a request set in order to know that each one began when the prior one ends.
    And Due to in order to truncate the table, as I said before, the processes that have a relationship whit it, must be stopped (just the 40 and 50 processes) prior to the truncation.
    So as you see, it is difficult, very difficult.
    Regards.

  • MDT Config UEFI Specific disk and partition?

    Installing Win8.1 with MDT2013 on UEFI enabled machines everything seems to be ok.. Until... Injecting drivers. The deployment cannot proceed because of destination disk. Sounds obvious because Uefi makes multiple partitions unlike non-uefi that can be installed
    on the first partition.
    I've created an extra step to the "Format and partition disk" and named it "Format and Partition Disk - UEFI". In this step I've set an option "Task sequence variable IsUEFI equals True". So when it is "True" the step
    will format the drive in GPT (as is required for UEFI boot). This seems to work good. I see in the installation the step "Format and Partition Disk - UEFI" when it's a uefi machine, and the original step if it is a non uefi machine. Obviously the
    original step will have also an option "Task sequence variable IsUEFI equals False".
    The problem comes when we get to the step "Install Operating System". Here I made the same change like I did above. (added extra step with extra option:
    The original step "Install Operating System" will have install location: "Specific disk and partition"
    Disk 0 Partition 1.
    The added step will have install location "Specific disk and partition"
    Disk 0 Partition 3. (Because UEFI has multiple partitions)
    For some reason the deployment will accept the step "Format and Partition Disk - UEFI" but in the install step it will take the "Install Operating System - Legacy" (so it will try to install to disk 0 partition 1 as I see in BCD log).
    Is there any reason that the same condition  works at the format step and not at the install step?
    We choose the option install to "Specific disk and partition" because of problem when have the location set at "logical drive letter stored in a variable" (problem described:
    link)

    Solution in my case was going for the "logical drive letter stored in a variable" instead of "Specific disk and partition".
    Note when applying this: must keep using "OSDisk" variable or it will throw errors (problem described in
    this link)
    So I deleted the "UEFI" steps, and renamed the "Install Operating System - Legacy" to before. Removed the query for the IsUEFI variable. MDT will automatic install to MBR or GPT based on device.

  • Saving an image as PNG to a specific location, and appending the document's existing name.

    Hello
      I'm building a very complex action that references several scripts. One of the scripts needs to save the existing canvas as a .png file to a specific directory, and rename the .png with the document's existing name and adding "-SCREEN" to the end. So the name sould be "originalname-SCREEN.png"
      I found a script below that almost kinda works. It can find the directory, but it is cropping the image for some unknown reason. It also does not append the name (I have not looked into how to do that at all yet).
      Is anyone able to figure out how to fix this script, or perhaps lend some insight to how I might go about generating a new script?
      I'm not familiar with JS, but I'm learning. Slowly...
    Thank you.
    #target photoshop
    app.bringToFront();
    $.level = 0;
    // Globals
    Settings = {
      storedPaths: {},
      storedSelections: {},
      scriptName: "Save PR JPG LANDING",
      units: "pixels"
    // Main entry point
    main();
    function main() {
      var formatOptions;
      // Create JPEG save options
      formatOptions = formatJPEG(FormatOptions.OPTIMIZEDBASELINE, "10", "3", MatteType.NONE, true);
      // Save copy of document as
      docSaveAs(formatOptions, "Add After", "-LANDING", "No Change", "Path", "~/Desktop/PR/Landing Page (RGB | 105px W x 108px H | 72ppi)/", "");
    // Functions
    function docSaveAs(formatOptions, nameChange, nameText, newCase, destType, destRef, storeName) {
      var hasPath, f, name, nameArray, n, ext;
      if (!documents.length) { logErr(arguments, "noOpenDocs"); return; }
      if (!formatOptions) { logErr(arguments, "noFormatOptions"); return; }
      if (nameChange=="Replace" && !nameText) { logErr(arguments, "badNameValue"); return; }
      f = fileGetFolder(destType, destRef);
      if (!f) { logErr(arguments, "noDestFolder"); return; }
      try { activeDocument.path; hasPath=true; } catch(e){ hasPath=false; }
      name = activeDocument.name;
      if (hasPath) {
      nameArray = name.split(".");
      n = nameArray.length-1;
      ext = nameArray[n];
      switch (nameChange) {
      case "Add Before": nameArray[0] = nameText + nameArray[0]; break;
      case "Add After": nameArray[n-1] = nameArray[n-1] + nameText; break;
      case "Replace": nameArray = [nameText, ext]; break;
      name = nameArray.join(".");
      else {
      ext = {"[BMPSaveOptions]":".bmp", "[DCS1_SaveOptions]":".eps", "[DCS2_SaveOptions":".eps",
      "[EPSSaveOptions]":".eps", "[GIFSaveOptions]":".gif", "[JPEGSaveOptions]":".jpg",
      "[PhotoshopSaveOptions]":".psd", "[PICTFileSaveOptions]":".pct", "[PICTResourceSaveOptions":".pct",
      "[PixarSaveOptions]":".pxr", "[PNGSaveOptions]":".png", "[RawSaveOptions]":".raw",
      "[TargaSaveOptions]":".tga", "[TiffSaveOptions]":".tif"}[formatOptions.constructor.toString()]||"";
      switch (nameChange) {
      case "Add Before": name = nameText + name; break;
      case "Add After": name = name + nameText; break;
      case "Replace": name = nameText; break;
      if (!name) { name = "Untitled"; }
      name += ext;
      switch (newCase) {
      case "Lowercase": name = name.toLowerCase(); break;
      case "Uppercase": name = name.toUpperCase(); break;
      try {
      f = new File(f.fullName+"/"+name);
      activeDocument.saveAs(f, formatOptions, true);
      Settings.storedPaths.lastCreated = f.fullName;
      if (storeName) { Settings.storedPaths[storeName] = f.fullName; }
      catch(e) { log(arguments.callee, e); }
    function fileAppend(path, data, encoding) {
      var file;
      file = new File(path);
      file.open("a");
      if (typeof(encoding) == "string") {file.encoding = encoding;}
      file.write(data);
      file.close();
    function fileGetFolder(srcType, srcRef) {
      var path, f, msg;
      switch (srcType) {
      case "Last Created": path = Settings.storedPaths.lastCreated; break;
      case "Path": path = srcRef; break;
      case "Named Path": path = Settings.storedPaths[srcRef.toLowerCase()]; break;
      if (!path) {
      msg = "Select a folder:";
      if (Settings.lastFolderPath) { f = new Folder(Settings.lastFolderPath).selectDlg(msg); }
      else { f = Folder.selectDialog(msg); }
      if (f&&f.exists) { Settings.lastFolderPath = f.fsName.split("\\").join("/")+"/"; }
      else { f = new Folder(path); }
      if (!f||!f.exists) { logErr(arguments, "noFileSystemPath"); return; }
      return f;
    function fileWrite(path, data, encoding) {
      var file;
      file = new File(path);
      if (file.exists) {file.remove();}
      file.open("e");
      if (typeof(encoding) == "string") {file.encoding = encoding;}
      file.write(data);
      file.close();
    function formatJPEG(format, quality, scans, matte, embed) {
      var result = new JPEGSaveOptions();
      try {
      result.formatOptions = format;
      result.quality = parseInt(quality);
      result.scans = parseInt(scans);
      result.matte = matte;
      result.embedColorProfile = embed;
      catch(e) { log(arguments.callee, e); }
      return result;
    function log(v, err, msg) {
      // Initialization
      if (!Settings.debug) {
      var pathArray, date, str;
      Settings.debug = {
      delim:String.fromCharCode(13, 10),
      path: Folder.userData+ "/Script Builder Files/" +Settings.scriptName+ " - Log.txt",
      text:""
      date = new Date();
      str = "Begin debug log: " + date.toLocaleString() +Settings.debug.delim;
      str += "------------------------------------------------------------" +Settings.debug.delim;
      fileWrite(Settings.debug.path, str);
      // Error logging
      if (typeof v == "function") {
      v = "Error in " +v.name+ "(): ";
      if (err && msg) { v += msg + " " + err.message; }
      else if (err) { v += err.message; }
      else if (msg) { v += msg; }
      else { v = v.substring(0, v.length-2) + "."; }
      // Normal message logging
      else {
      if (typeof v != "string") {
      if (v == undefined) {v = "undefined";}
      else {v = v.toString();}
      if (Settings.debug.path) { fileAppend(Settings.debug.path, v + Settings.debug.delim); }
    function logErr(src, id) {
      var err = {
      badChannelValue: "Invalid channel number entered.",
      badColorValue: "Invalid color value entered.",
      badDocDimsValue: "Invalid document dimensions entered.",
      badExportValues: "Invalid file path or file name value supplied for export.",
      badNameValue: "Invalid name value supplied.",
      badNumberValue: "Invalid number value supplied.",
      badPathName: "Path name supplied is not unique.",
      badRefEdgeOuput: "Output method cannot be used when decontaminating colors.",
      badSubdivValue: "Subdivisions value must be an integer between 1 and 100.",
      badTestValue: "Invalid comparison value supplied.",
      fileError: "Could not read file.",
      fileExists: "A file of the same name already exists in the chosen location.",
      flatImagesOnly: "This function only works on flattened images.",
      layerDataError: "An error occurred while reading the layer settings.",
      logNotEnabled: "Log must be enabled in order to assign file path.",
      multiLayerOnly: "More than one layer must be selected.",
      noClipImageData: "No image data on clipboard.",
      noDocFile: "Document has never been saved.",
      noActionName: "No action name specified.",
      noActionSetName: "No action set name specified.",
      noBkgdLayer: "There is no background layer.",
      noDestFolder: "Destination folder not defined.",
      noFile: "File does not exist at the specified location.",
      noFileSystemPath: "No file or folder path was chosen.",
      noFilterImg: "Image file does not exist, or none was selected.",
      noFilterMask: "Layer has no filter mask.",
      noFolder: "Folder does not exist at the specified location.",
      noFormatOptions: "The \"formatOptions\" parameter is not defined.",
      noHTMLExporter: "The \"htmlExporter\" object does not exist or is not valid.",
      noLayerArtwork: "Layer has no image data.",
      noLayerComps: "Document has no layer comps.",
      noLayerFX: "Layer has no effects.",
      noLayerMask: "Layer has no layer mask.",
      noLogTextFile: "Log file path should point to a text file.",
      noLogFile: "Log file path does not point to a file.",
      noNameValue: "No new name entered.",
      noOpenDocs: "There are no documents open.",
      noQuicktime: "File format requires QuickTime.",
      noSelectedPath: "There is no path selected.",
      noSelection: "There is no selection.",
      noSelectionMod: "There is no selection to modify.",
      noTextExporter: "The \"textExporter\" object does not exist or is not valid.",
      noVectorMask: "Layer has no vector mask.",
      noWorkPath: "Document has no work path.",
      singleLayerOnly: "Only one layer should be selected.",
      wrongLayerKind: "Selected layer is the wrong kind for the requested action."
      }[id];
      if (err) { log(src.callee, null, err); }

    Go to  http://russellbrown.com/scripts.html
    download http://russellbrown.com/images/tips_downloads/Services_Installer_2.3.1.zip
    extract the "Services_Installer_2.3.1.zip"  do not install the extracted files instead find "Services_Installer_2.3.1.zxp" in the extracted files. This is also a zip file extract the files in it. You may need the reneme it to "Services_Installer_2.3.1.zip" first.  In the extracted files find:
    "Image Processor Pro.jsx" and "Image Processor Pro.xml" copy these to Photoshop's Presets\Scripts folder. The "Image Processor Pro: script written by Ross Huitt, [email protected] X use to contribute here but is feed up with Adobe has left. For Adobe does not fix the bugs that have been reported  in Photoshop scripting support. 
    However he will continue to support the "Image Processor Pro" script for some time.  Once installed you will find it in  Photoshop's menu File>Automate>Image Processor Pro... . This script is very powerful and configurable and is a Photoshop Plug-in that Action support so not only can use use your actions in its processing you can record its used in actions to bypass its dialog. When the action's Image Processor Pro step is played the recorded dialog setting will be used and  the script will bypass displaying its dialog.
    The Script has all the options you need to save PNG files with the original document name with custom text added.  You may be able to do what you want by just recording some simple actions and have the Image Processor Pro script include your actions as part of its processing.

  • Exit Code: 6 Please see specific errors and warnings below for troubleshooting. For example,  ERROR: DW050 ...

    Exit Code: 6 Please see specific errors and warnings below for troubleshooting. For example,  ERROR: DW050 ... Exit Code: 6 Please see specific errors and warnings below for troubleshooting. For example,  ERROR: DW050 ... -------------------------------------- Summary -------------------------------------- - 0 fatal error(s), 2 error(s), 0 warning(s) ERROR: DW050: The following payload errors were found during install: ERROR: DW050:  - Microsoft Visual C++ 2010 Redistributable Package (x64): Install failed ERROR: DW050:  - Microsoft Visual C++ 2010 Redistributable Package (x86): Install failed -------------------------------------- Summary -------------------------------------- - 0 fatal error(s), 2 error(s), 0 warning(s) ERROR: DW050: The following payload errors were found during install: ERROR: DW050:  - Microsoft Visual C++ 2010 Redistributable Package (x64): Install failed ERROR: DW050:  - Microsoft Visual C++ 2010 Redistributable Package (x86): Install failed
    PS CS6,Please help!

    Errors "Exit Code: 6," "Exit Code: 7"
    Mylenium

  • User login report in Active Directory for specific date and time

    I want to get User login report in Active Directory for specific date and time e.g user logged in at15-01-2015 from 8:00am to 4:00pm
    Is any query, script or any tool available?
    Waiting for reply please

    You can identify the last logon date and time using my script here: https://gallery.technet.microsoft.com/scriptcenter/Get-Active-Directory-User-bbcdd771
    If you would like to get back in time and see when the user did a logon / logoff then you need to have auditing enabled. Once done, you can records from Security log in the event viewer: https://social.technet.microsoft.com/Forums/windowsserver/en-US/98cbecb0-d23d-479d-aa65-07e3e214e2c7/manage-active-directory-users-logon-logoff-events
    I have started a Wiki about how to track logon / logoff and it can help too: http://social.technet.microsoft.com/wiki/contents/articles/20422.record-logon-logoff-activities-on-domain-servers-and-workstations-using-group-policy.aspx
    This posting is provided AS IS with no warranties or guarantees , and confers no rights.
    Ahmed MALEK
    My Website Link
    My Linkedin Profile
    My MVP Profile

Maybe you are looking for