Script for the parameters to retrieve VM Advanced Configuration (VMX)

Need a script to retrieve advanced virtual of the configuration information for an output of virtual machines, single or multiple.

Make a right click on the virtual machine-> change settings-> option-> general-> configuration settings.

Need a script to retrieve advanced virtual of the configuration information for an output of virtual machines, single or multiple.

Make a right click on the VM-> change settings of-> option-> General-> configuration setting.

Check the settings Advanced Access Virtual Machine (http://blogs.vmware.com/vsphere/2012/03/acessing-virtual-machine-advanced-settings.html) using perl and power CLI

Tags: VMware

Similar Questions

  • script for the murder of session

    Hello
    I prepare a script for the murder of session and I use the following command to generate the script for large number of users. The syntax for the murder of the session is ALTER SYSTEM KILL SESSION * "SID, SERIAL #" * IMMEDIATE. I want my output with SID, SERIAL # values within the single quots *('SID,SERIAL#') *. can someone help me on this?


    Select "ALTER SYSTEM KILL SESSION ' |" SID | «, » || SERIES # | ' IMMEDIATE '. « ; » FROM V$ SESSION WHERE BLOCKING_SESSION IS NOT NULL




    Thanks in advance

    Published by: 793097 on December 14, 2010 05:53
    select 'ALTER SYSTEM KILL SESSION '''||SID||','||SERIAL#||''' IMMEDIATE'||';' FROM V$SESSION WHERE BLOCKING_SESSION IS NOT NULL
    

    Nicolas.

  • set the password for the 'parameters' on iphone 5

    Y at - it app to set a password for the "parameters" on an iphone 5?  My son continues to change some of the parameters,

    N ° define a word password on the phone and don't let not your son play with him.

  • Condition of additional results work does not correctly for the parameters

    TestStand 2014

    Trying to connect a parameter only if the status of the step is "failure" will not save the setting when the step will actually fail.  On the other hand, variables with the same State will record very well.

    The sequence attached illustrates this.  Basically I have a sous-suite that returns a random number and a string as parameters.  I use the random number to evaluate against my limits for the test call.  I want to save the parameter of string only if the step fails.  So I put as an additional result, then assign the condition

    Step.Result.Status == "failed".

    The data never show on the report.

    But when I put a result additional explicit with the same local variable and put the same exact condition it appears on the report when the step fails.

    I'm puzzled as to why settings will not open a session to this condition, but additional explicit results work fine with the same State.

    Any thoughts?

    Thank you

    Condition for additional result of the parameter is evaluated before the State sequence is set to failure. The 'out' parameter additional results are evaluated probably just after the code module, so if the status of the step is not changed by the call of code module, then it will always be "Running".

    I can see how it would be nice if it worked the way you ask, but keep in mind for input/output parameters it is usually the same expression/variable to both the 'in' and 'out' additional result, so it is important to the time at which the result is recorded. It must be done before calling code module for 'in' settings and after the call of code module to 'out' parameters to reflect the State of the variables to these points in time. I think that the intention is that the additional result for settings must reflect the State of the variables at the point in time immediately right before the call for 'in' settings and immediately after the call to 'out' parameters So if you want to connect under certain conditions a value based on the status (where the State is not changed directly by the code module), with the help of a result extra ordinary as you discovered is probably the best way to go.

    Maybe for the parameters we might delay logging to the end, but which may result in a change of behavior if the variable state changes again once before that. If you want us to consider or have another idea for how to handle this better please let us know or maybe post something to the exchange of ideas.

    Another possibility is that we could temporarily connect the results before and after the code module, but then not assess the condition to the end and throw the recorded result if the condition is false. Who can still cause a change in behavior although if "Value of Log" expressions have side effects.

    Hope this helps clarify things.

    -Doug

  • Script for the Configuration DVSwitch

    Hello

    Someone at - it a script for the information of VDS on the level of the host which nic is connected to what uplink?

    Also to remove all Exchange created in the VDS switch for the host and then recreate the exchanges as they were after the connection to the host to a vCenter diff?

    Also any script to copy the resource through VCenter pools?

    Thank you

    Suraj Rawat

    The following script will export information of VDS for uplink, the port they are in and what Teddy is used by node ESXi.

    $report = {foreach ($dvSw in Get-VDSwitch)

    foreach ($esx in (Get-View-id $dvSw.ExtensionData.Summary.HostMember)) {}

    $proxy = $esx.Config.Network.ProxySwitch | where {$_.} {DvsUuid - eq $dvSw.ExtensionData.Uuid}

    $pnicTab = @ {}

    $proxy. Spec.Backing.PnicSpec | %{

    $pnicTab.Add ($_.) UplinkPortKey, $_. PnicDevice)

    }

    $proxy. UplinkPort |

    Select @{N = "vdSwitch"; {E = {$dvSw.Name}}.

    @{N = "$vmhost"; E = {$esx. Name}},

    @{N = "vNIC"; E = {$pnicTab [$_]} Key]}},

    @{N = "Uplink"; E={$_. Value}},

    @{N = 'Port'; E={$_. Key}}

    }

    }

    $report | Export Csv C:\dvSw-Uplink.csv - NoTypeInformation - UseCulture

  • How should be written the script for the use of the maximum memory of the guest operating system ever?

    How should be written the script for the use of the maximum memory of the guest operating system ever?

    Please teach the name of the object and the type and order, etc.

    You should be able to do it with the cmdlet Get-Stat .

    Something like that

    Get-Stat -Entity (Get-VM $vmName) -Stat mem.usage.maximum -Start (Get-Date).AddDays(-7) | Measure-Object -Property value -Maximum | Select Maximum
    

    This will return the maximum percentage in the last 7 days for the guests, whose name is stored in the variable $vmName.

    ____________

    Blog: LucD notes

    Twitter: lucd22

  • Script for the conversion of the hyperlinks to the buttons?

    Hello!

    Does anyone know if West a script for the conversion of the hyperlinks to buttons with the action of going to the URL with the same URL, which has been used with hyperlink?

    Here it is:

    /* Copyright 2012, Kasyan Servetsky
    November 29, 2012
    Written by Kasyan Servetsky
    http://www.kasyan.ho.com.ua
    e-mail: [email protected] */
    //======================================================================================
    var scriptName = "Convert hyperlinks to buttons - 1.0";
    
    Main();
    
    //===================================== FUNCTIONS  ======================================
    function Main() {
        var hyperlink, source, sourceText, destination, page, arr, outlinedText, gb, button, behavior,
        barodeCount = 0,
        hypCount = 0;
        if (app.documents.length == 0) ErrorExit("Please open a document and try again.", true);
        var startTime = new Date();
    
        var doc = app.activeDocument;
        var layer = doc.layers.item("Buttons");
        var swatch = doc.swatches.item("RGB Yellow");
        var hyperlinks = doc.hyperlinks;
    
        var progressWin = new Window ("window", scriptName);
        progressBar = progressWin.add ("progressbar", undefined, 0, undefined);
        progressBar.preferredSize.width = 450;
        progressTxt = progressWin.add("statictext", undefined,  "Starting processing hyperlinks");
        progressTxt.preferredSize.width = 400;
        progressTxt.preferredSize.height = 30;
        progressTxt.alignment = "left";
        progressBar.maxvalue = hyperlinks.length;
        progressWin.show();
    
        for (var i = hyperlinks.length-1; i >= 0; i--) {
            hyperlink = hyperlinks[i];
            source = hyperlink.source;
            sourceText = source.sourceText;
            destination = hyperlink.destination;
            page = sourceText.parentTextFrames[0].parentPage;
    
            barodeCount++;
            progressBar.value = barodeCount;
            progressTxt.text = "Processing hyperlink " + hyperlink.name + " (Page - " + page.name + ")";
    
            arr = sourceText.createOutlines(false);
            outlinedText = arr[0];
            gb = outlinedText.geometricBounds;
            outlinedText.remove();
    
            button = page.buttons.add(layer, {geometricBounds: gb, name: hyperlink.name});
            button.fillColor = swatch;
            button.fillTint = 50;
            button.groups[0].transparencySettings.blendingSettings.blendMode = BlendMode.MULTIPLY;
            behavior = button.gotoURLBehaviors.add();
            behavior.url = destination.destinationURL;
    
            hyperlink.remove();
            source.remove();
    
            hypCount++;
        }
    
        var endTime = new Date();
        var duration = GetDuration(startTime, endTime);
        progressWin.close();
    
        alert("Finished. " + hypCount + " hyperlinks were convertted to buttons.\n(time elapsed: " + duration + ")", scriptName);
    
    }
    //--------------------------------------------------------------------------------------------------------------------------------------------------------
    function GetDuration(startTime, endTime) {
        var str;
        var duration = (endTime - startTime)/1000;
        duration = Math.round(duration);
        if (duration >= 60) {
            var minutes = Math.floor(duration/60);
            var seconds = duration - (minutes * 60);
            str = minutes + ((minutes != 1) ? " minutes, " :  " minute, ") + seconds + ((seconds != 1) ? " seconds" : " second");
            if (minutes >= 60) {
                var hours = Math.floor(minutes/60);
                minutes = minutes - (hours * 60);
                str = hours + ((hours != 1) ? " hours, " : " hour, ") + minutes + ((minutes != 1) ? " minutes, " :  " minute, ") + seconds + ((seconds != 1) ? " seconds" : " second");
            }
        }
        else {
            str = duration + ((duration != 1) ? " seconds" : " second");
        }
    
        return str;
    }
    //--------------------------------------------------------------------------------------------------------------------------------------------------------
    function ErrorExit(error, icon) {
        alert(error, scriptName, icon);
        exit();
    }
    
  • missing namespace for the parameters in the web service call

    We try to call a web service developed by Java & XFire. The WSDL is valid for WS - I Basic Profile and it works very well with SoapUI. The query generated automatically by SoapUI is the following:

    "" "" "< soapenv:Envelope xmlns:soapenv = ' http://schemas.xmlsoap.org/soap/envelope/ ' xmlns: your =" http://www.example.org/test8/ " xmlns:tes1 =" http://www.example.org/test8 "> "
    < soapenv:Header / >
    < soapenv:Body >
    < your: parameters >
    < a >
    < tes1:id > 44444444444445 < / tes1:id >
    < tes1:b >
    < tes1:id >? < / tes1:id >
    < / tes1:b >
    < /a >
    < id >? < /ID >
    < / your: parameters >
    < / soapenv:Body >
    < / soapenv:Envelope >

    When we put this in Flex, what we are seeing is that the namespace for the parameters element is missing. We see it in the proxy logs. The server receives this message and parameters is not in namespace, so the server complains that the parameters is missing. We can reproduce this exact behavior by removing namespace in the query with SoapUI.

    The question is why flex removes namespace for the element parameters?

    We use the literal to the WSDL document, and I paste below. We have been stuck on this for over a week, so if anyone has any suggestions I would be eternally grateful. Thank you

    <? XML version = "1.0" encoding = "UTF-8"? >
    < wsdl:definitions
    ' xmlns:SOAP =' http://schemas.xmlsoap.org/wsdl/soap/ "
    ' xmlns:TNS =' http://www.example.org/test8/ '
    ' xmlns:WSDL =' http://schemas.xmlsoap.org/wsdl/ '
    "container =" http://www.w3.org/2001/XMLSchema "
    name = "test8".
    targetNamespace =" http://www.example.org/test8/" > "
    WSDL: < types >
    < xsd: Schema
    "targetNamespace =" http://www.example.org/test8/ "
    xmlns:Q1 =" http://www.example.org/test8" > "
    < xsd: import
    schemaLocation = "Test8.xsd."
    namespace =" http://www.example.org/test8" > "
    < / xsd: import >

    < xsd: complexType name = "fooRequestType" >
    < xsd: SEQUENCE >
    < xsd: ELEMENT
    name = "a".
    Type = "Q1:A" >
    < / xsd: element >
    < xsd: ELEMENT
    name = "id".
    Type = "xsd: String" >
    < / xsd: element >
    < / xsd: SEQUENCE >
    < / xsd: complexType >
    < xsd: complexType name = "fooResponseType" >
    < xsd: SEQUENCE >
    < xsd: ELEMENT
    name = "b".
    Type = "Q1:B" >
    < / xsd: element >
    < xsd: ELEMENT
    name = "id".
    Type = "xsd: String" >
    < / xsd: element >
    < / xsd: SEQUENCE >
    < / xsd: complexType >
    < / xsd: Schema >
    < / wsdl: types >
    < name of the WSDL: message = "fooRequest" >
    < wsdl: part
    name = "parameters".
    Type = "tns:fooRequestType" / >
    < / wsdl: message >
    < name of the WSDL: message = "fooResponse" >
    < wsdl: part
    name = "parameters".
    Type = "tns:fooResponseType" / >
    < / wsdl: message >
    < name of wsdl: portType = "Test8" >
    < name of wsdl: Operation = "foo" >
    < message wsdl: Input = "tns:fooRequest" / >
    < message wsdl: output = "tns:fooResponse" / >
    < / wsdl: Operation >
    < / wsdl: portType >
    < wsdl: Binding
    name = "Test8SOAP".
    Type = "tns:Test8" >
    < soap binding:
    style = "document".
    "transport =" http://schemas.xmlsoap.org/soap/http " / >
    < name of wsdl: Operation = "foo" >
    WSDL: input >
    < use of soap: body = "literal" / >
    < / wsdl: Input >
    < wsdl: output >
    < use of soap: body = "literal" / >
    < / wsdl: output >
    < / wsdl: Operation >
    < / wsdl: Binding >
    < wsdl:service name = "Test8" >
    < wsdl: port
    Binding = "tns:Test8SOAP."
    name = "Test8SOAP" >
    "" < soap: address location = ' http://www.example.org/test8 ' / >
    < / wsdl: port >
    < / wsdl:service >
    < / wsdl:definitions >

    the XSD containing A and B:

    <? XML version = "1.0" encoding = "UTF-8"? >
    "" "" "" < scheme xmlns = " http://www.w3.org/2001/XMLSchema" targetNamespace = ' http://www.example.org/test8 ' xmlns:tns = ' http://www.example.org/test8 ' elementFormDefault = "qualified" >

    < name complexType = 'A' >
    <>sequence
    < element
    name = "id".
    Type = "string" >
    < / item >
    < element
    name = "b".
    Type = "tns:B" >
    < / item >
    < / sequence >
    < / complexType >

    < complexType name = "B" >
    <>sequence
    < element
    name = "id".
    Type = "string" >
    < / item >
    < / sequence >
    < / complexType >
    < / schema >

    The solution seems to be that Flex doesn't support unwrapped no literal document. Flex only supports rpc literal or literal wrapped document. This seems to be because flex adds the name of the xml message method and in the unpacked literal document there is no message name in the soap message.

    It took a lot of time to understand this, partly because we did not know exactly what is wrapped meant (there is no option in Eclipse WTP for her, no way to verify no wrapped with a tool, etc.). If Flex said that she did not support unpacking literal document we would have saved ourselves a week or two.

  • BlackBerry Q10 why I don't see Q10 for the parameters of the account or any account advance: Yahoo, POP3, IMAP, etd?

    I have problems with my sbcglobal.net e-mail setup. It was fine using Blackberry Internet Service, but now on Q10 it fails after a while when I set up every time. When I put in the settings inbound.att.net and outbound.att.net, it fails. Why this happens and why I don't see the advanced settings.

    Cracberry shows all options:

    http://CrackBerry.com/how-set-accounts-your-BlackBerry-10-device

    Setting up sbcglobal.net POP and SMTP server info:

    http://www.att.com/eSupport/article.jsp?SID=KB401573#fBid=bOURqorQHud

    I would like ot know why it doesn't work after a while.

    The BlackBerry smartphone adds an incorrect Pop and Smtp address.

    RIM. IMAP.mail.yahoo.com and rim.smtp.mail.yahoo.com

    The above configuration is bad, but we should not the good ones.

    As I said it will work for a day and it will fail

    In the last step look at the bottom of your screen, in fact, it's under the edge of the white bacckground, it looks like 2 points with lines through them. I have no idea why it's the Advanced icon but it is. Tap on it and then you should be at a screen that indicates the advanced configuration on top with a selection of account types.

  • How to create a script for the name of the channel to take and insert text on profile in CS5

    I am a silkscreen and I print my Photoshop starts. I regularly work with multi channel files or RGB files with additional color channels. I created actions to place check marks, resize images, etc. to be ready to print manually but I create for each display text labels, if they are absent from the original work.


    The files I work with have named pipes as "basic white, red, green, blue 284" etc. which indicates the color of the ink. I want to be able to do is create a script that copies the text of the channel name and insert it into a separate or each/all channels to the top of the file, so that when I print every positive there is a label corresponding to the color of the ink.


    I don't know if this is even possible, and I am limited in my knowledge when it comes stock and no experience with scripting and have had pretty good luck in the past for actions to do what I want without unnecessary steps.


    On my target action registration, it creates a new channel with each individual reg mark then combined in a separate channel in which I just copy the contents and select all channels of ink and fill with black to make them appear, I am happy with the steps that must be that it is not too complicated and if it could do the same with labels I would be happy with that.


    Thanks in advance!

    Something like that?

    // the color used for the text
    var black = new SolidColor();
    black.rgb.hexValue = '000000';
    // set this to space the labels
    var horizontalOffest = new UnitValue(20,'pt');
    var doc = app.activeDocument;
    var currentLayer = doc.activeLayer;
    var textLayer = doc.artLayers.add();
    textLayer.kind = LayerKind.TEXT;
    // font requires the postscript name of the font
    textLayer.font = "ArialMT";
    textLayer.textItem.size = new UnitValue(9,'pt');
    textLayer.textItem.justification = Justification.RIGHT;
    // set the position for the text. this sets to top right corner of the channel
    // here it is set so the text baseline ends  40pts from the right edge, 15pts down
    textLayer.textItem.position = [new UnitValue(doc.width.as('pt')-50,'pt'),new UnitValue(15,'pt')];
    textLayer.textItem.contents = 'label';// temp label string
    
    for(var channelIndex = 0; channelIndex		   
  • Script for the selection of consecutive paragraphs - can someone help me?

    Hello

    I have this script that works very well. He then applied following a Style to the paragraphs I selected with the keyboard in Indesign CS5:

    var style_name = "cabecalho."

    var doc = app.documents [0];

    var first_pstyle = doc.paragraphStyles.item (style_name);

    var cur_sel = app.selection [0] .paragraphs;

    cur_sel [0] .appliedParagraphStyle = first_pstyle;

    If (cur_sel.length > 1)

    {

    for (n = 1; n < cur_sel.length; n ++)

    {

    cur_sel [n] cur_sel [n - 1].appliedParagraphStyle.nextStyle = .appliedParagraphStyle;

    }

    }

    But before you run it, I use the keyboard to select the 3 paragraphs for the script. I know that it is possible to add code at the beginning to do the script select the paragraph where the cursor and the next 2 paragraphs and avoid manual selection because it's always 3 paragraphs.

    I don't know how to do this. Can someone help me?

    Thank you in advance. Greetings from Madrid

    It's a little rough, but you get the picture:

    var style_name = "cabecalho"var doc = app.documents[0];var first_pstyle = doc.paragraphStyles.item(style_name);var story = app.selection[0].parentStory;
    
    var cur_sel = app.selection[0].paragraphs[0];cur_sel.appliedParagraphStyle = first_pstyle;
    
    var nextpar = story.paragraphs.nextItem (cur_sel);nextpar.appliedParagraphStyle = cur_sel.appliedParagraphStyle.nextStyle;
    
    cur_sel = nextpar;var nextpar = story.paragraphs.nextItem (cur_sel);nextpar.appliedParagraphStyle = cur_sel.appliedParagraphStyle.nextStyle;
    

    Peter

  • Script for the Passage of time?


    I wonder if someone could point me in the right direction. I make a banner ad that gets to a certain point and then there is a stop action and the user is invited to interact, when it does, the animation continues until the end. It's that everything works fine. BUT customer needs me to add a few scripts that indicates if the user is not interacting after 6 or 7 seconds, continue to the end despite everything. I'm an action script (2.0) novice and don't know how to proceed. Desperate to see tips. Thanks in advance!

    I can't thank you enough for the help, works perfectly!

  • Where the parameters to retrieve sent from another application

    I'm launching my native application of the native application, I'll send some parameters of chain, as well as codfile name, where and how I could recover the parameters send in my application?

    ApplicationManager.getApplicationManager (.launch("yourCodFileName?param1¶m2"));

    Where can I retrieve param1 and param2 in my application?

    Concerning

    Rakesh shankar. P

    args [] in your main method

  • use Image catalog script for the current document

    Is it possible to use the script to image catalogue for the current document in which we work instead of leaving the mark of script a new document fees for placed images?

    use,

    //ImageCatalog.jsx
    //An InDesign CS6 JavaScript
    /*
    @@@BUILDINFO@@@ "ImageCatalog.jsx" 3.0.0 15 December 2009
    */
    //Creates an image catalog from the graphic files in a selected folder.
    //Each file can be labeled with the file name, and the labels are placed on
    //a separate layer and formatted using a paragraph style ("label") you can
    //modify to change the appearance of the labels.
    //
    //For more information on InDesign scripting, go to http://www.adobe.com/products/indesign/scripting/index.html
    //Or visit the InDesign Scripting User to User forum at http://www.adobeforums.com .
    //
    //The myExtensions array contains the extensions of the graphic file types you want
    //to include in the catalog. You can remove extensions from or add extensions to this list.
    //myExtensions is a global. Mac OS users should also look at the file types in the myFileFilter function.
    main();
    function main(){
      var myFilteredFiles;
      //Make certain that user interaction (display of dialogs, etc.) is turned on.
      app.scriptPreferences.userInteractionLevel = UserInteractionLevels.interactWithAll;
      myExtensions = [".jpg", ".jpeg", ".eps", ".ps", ".pdf", ".tif", ".tiff", ".gif", ".psd", ".ai"]
      //Display the folder browser.
      var myFolder = Folder.selectDialog("Select the folder containing the images", "");
      //Get the path to the folder containing the files you want to place.
      if(myFolder != null){
      if(File.fs == "Macintosh"){
      myFilteredFiles = myMacOSFileFilter(myFolder);
      }
      else{
      myFilteredFiles = myWinOSFileFilter(myFolder);
      }
      if(myFilteredFiles.length != 0){
      myDisplayDialog(myFilteredFiles, myFolder);
      alert("Done!");
      }
      }
    }
    //Windows version of the file filter.
    function myWinOSFileFilter(myFolder){
      var myFiles = new Array;
      var myFilteredFiles = new Array;
      for(myExtensionCounter = 0; myExtensionCounter < myExtensions.length; myExtensionCounter++){
      myExtension = myExtensions[myExtensionCounter];
            myFiles = myFolder.getFiles("*"+ myExtension);
      if(myFiles.length != 0){
      for(var myFileCounter = 0; myFileCounter < myFiles.length; myFileCounter++){
      myFilteredFiles.push(myFiles[myFileCounter]);
      }
      }
      }
      return myFilteredFiles;
    }
    function myMacOSFileFilter(myFolder){
      var myFilteredFiles = myFolder.getFiles(myFileFilter);
      return myFilteredFiles;
    }
    //Mac OS version of file filter
    //Have to provide a separate version because not all Mac OS users use file extensions
    //and/or file extensions are sometimes hidden by the Finder.
    function myFileFilter(myFile){
      var myFileType = myFile.type;
      switch (myFileType){
      case "JPEG":
      case "EPSF":
      case "PICT":
      case "TIFF":
      case "8BPS":
      case "GIFf":
      case "PDF ":
      return true;
      break;
      default:
      for(var myCounter = 0; myCounter-1){
      return true;
      break;
      }
      }
      }
      return false;
    }
    function myDisplayDialog(myFiles, myFolder){
      var myLabelWidth = 112;
      var myStyleNames = myGetParagraphStyleNames(app);
      var myLayerNames = ["Layer 1", "Labels"];
      var myDialog = app.dialogs.add({name:"Image Catalog"});
      with(myDialog.dialogColumns.add()){
      with(dialogRows.add()){
      staticTexts.add({staticLabel:"Information:"});
      }
      with(borderPanels.add()){
      with(dialogColumns.add()){
      with(dialogRows.add()){
      staticTexts.add({staticLabel:"Source Folder:", minWidth:myLabelWidth});
      staticTexts.add({staticLabel:myFolder.path + "/" + myFolder.name});
      }
      with(dialogRows.add()){
      staticTexts.add({staticLabel:"Number of Images:", minWidth:myLabelWidth});
      staticTexts.add({staticLabel:myFiles.length + ""});
      }
      }
      }
      with(dialogRows.add()){
      staticTexts.add({staticLabel:"Options:"});
      }
      with(borderPanels.add()){
      with(dialogColumns.add()){
      with(dialogRows.add()){
      staticTexts.add({staticLabel:"Number of Rows:", minWidth:myLabelWidth});
      var myNumberOfRowsField = integerEditboxes.add({editValue:3});
      }
      with(dialogRows.add()){
      staticTexts.add({staticLabel:"Number of Columns:", minWidth:myLabelWidth});
      var myNumberOfColumnsField = integerEditboxes.add({editValue:3});
      }
      with(dialogRows.add()){
      staticTexts.add({staticLabel:"Horizontal Offset:", minWidth:myLabelWidth});
      var myHorizontalOffsetField = measurementEditboxes.add({editValue:12, editUnits:MeasurementUnits.points});
      }
      with(dialogRows.add()){
      staticTexts.add({staticLabel:"Vertical Offset:", minWidth:myLabelWidth});
      var myVerticalOffsetField = measurementEditboxes.add({editValue:24, editUnits:MeasurementUnits.points});
      }
      with (dialogRows.add()){
      with(dialogColumns.add()){
      staticTexts.add({staticLabel:"Fitting:", minWidth:myLabelWidth});
      }
      with(dialogColumns.add()){
      var myFitProportionalCheckbox = checkboxControls.add({staticLabel:"Proportional", checkedState:true});
      var myFitCenterContentCheckbox = checkboxControls.add({staticLabel:"Center Content", checkedState:true});
      var myFitFrameToContentCheckbox = checkboxControls.add({staticLabel:"Frame to Content", checkedState:true});
      }
      }
      with(dialogRows.add()){
      var myRemoveEmptyFramesCheckbox = checkboxControls.add({staticLabel:"Remove Empty Frames:", checkedState:true});
      }
      }
      }
      with(dialogRows.add()){
      staticTexts.add({staticLabel:""});
      }
      var myLabelsGroup = enablingGroups.add({staticLabel:"Labels", checkedState:true});
      with (myLabelsGroup){
      with(dialogColumns.add()){
      //Label type
      with(dialogRows.add()){
      with(dialogColumns.add()){
      staticTexts.add({staticLabel:"Label Type:", minWidth:myLabelWidth});
      }
      with(dialogColumns.add()){
      var myLabelTypeDropdown = dropdowns.add({stringList:["File name", "File path", "XMP description", "XMP author"], selectedIndex:0});
      }
      }
      //Text frame height
      with(dialogRows.add()){
      with(dialogColumns.add()){
      staticTexts.add({staticLabel:"Label Height:", minWidth:myLabelWidth});
      }
      with(dialogColumns.add()){
      var myLabelHeightField = measurementEditboxes.add({editValue:24, editUnits:MeasurementUnits.points});
      }
      }
      //Text frame offset
      with(dialogRows.add()){
      with(dialogColumns.add()){
      staticTexts.add({staticLabel:"Label Offset:", minWidth:myLabelWidth});
      }
      with(dialogColumns.add()){
      var myLabelOffsetField = measurementEditboxes.add({editValue:0, editUnits:MeasurementUnits.points});
      }
      }
      //Style to apply
      with(dialogRows.add()){
      with(dialogColumns.add()){
      staticTexts.add({staticLabel:"Label Style:", minWidth:myLabelWidth});
      }
      with(dialogColumns.add()){
      var myLabelStyleDropdown = dropdowns.add({stringList:myStyleNames, selectedIndex:0});
      }
      }
      //Layer
      with(dialogRows.add()){
      with(dialogColumns.add()){
      staticTexts.add({staticLabel:"Layer:", minWidth:myLabelWidth});
      }
      with(dialogColumns.add()){
      var myLayerDropdown = dropdowns.add({stringList:myLayerNames, selectedIndex:0});
      }
      }
      }
      }
            var myResult = myDialog.show();
            if(myResult == true){
      var myNumberOfRows = myNumberOfRowsField.editValue;
      var myNumberOfColumns = myNumberOfColumnsField.editValue;
      var myRemoveEmptyFrames = myRemoveEmptyFramesCheckbox.checkedState;
      var myFitProportional = myFitProportionalCheckbox.checkedState;
      var myFitCenterContent = myFitCenterContentCheckbox.checkedState;
      var myFitFrameToContent = myFitFrameToContentCheckbox.checkedState;
      var myHorizontalOffset = myHorizontalOffsetField.editValue;
      var myVerticalOffset = myVerticalOffsetField.editValue;
      var myMakeLabels = myLabelsGroup.checkedState;
      var myLabelType = myLabelTypeDropdown.selectedIndex;
      var myLabelHeight = myLabelHeightField.editValue;
      var myLabelOffset = myLabelOffsetField.editValue;
      var myLabelStyle = myStyleNames[myLabelStyleDropdown.selectedIndex];
      var myLayerName = myLayerNames[myLayerDropdown.selectedIndex];
      myDialog.destroy();
      myMakeImageCatalog(myFiles, myNumberOfRows, myNumberOfColumns, myRemoveEmptyFrames, myFitProportional, myFitCenterContent, myFitFrameToContent, myHorizontalOffset, myVerticalOffset, myMakeLabels, myLabelType, myLabelHeight, myLabelOffset, myLabelStyle,  myLayerName);
            }
      else{
      myDialog.destroy();
      }
      }
    }
    function myGetParagraphStyleNames(myDocument){
      var myStyleNames = new Array;
      var myAddLabelStyle = true;
      for(var myCounter = 0; myCounter < myDocument.paragraphStyles.length; myCounter++){
      myStyleNames.push(myDocument.paragraphStyles.item(myCounter).name);
      if (myDocument.paragraphStyles.item(myCounter).name == "Labels"){
      myAddLabelStyle = false;
      }
      }
      if(myAddLabelStyle == true){
      myStyleNames.push("Labels");
      }
      return myStyleNames;
    }
    function myMakeImageCatalog(myFiles, myNumberOfRows, myNumberOfColumns, myRemoveEmptyFrames, myFitProportional, myFitCenterContent, myFitFrameToContent, myHorizontalOffset, myVerticalOffset, myMakeLabels, myLabelType, myLabelHeight, myLabelOffset, myLabelStyle,  myLayerName){
      var myPage, myFile, myCounter, myX1, myY1, myX2, myY2, myRectangle, myLabelStyle, myLabelLayer;
      var myParagraphStyle, myError;
      var myFramesPerPage = myNumberOfRows * myNumberOfColumns;
      var myDocument = app.activeDocument;
      myDocument.viewPreferences.horizontalMeasurementUnits = MeasurementUnits.points;
      myDocument.viewPreferences.verticalMeasurementUnits = MeasurementUnits.points;
      var myDocumentPreferences = myDocument.documentPreferences;
      var myNumberOfFrames = myFiles.length;
      var myNumberOfPages = Math.round(myNumberOfFrames / myFramesPerPage);
      if ((myNumberOfPages * myFramesPerPage) < myNumberOfFrames){
      myNumberOfPages++;
      }
      //If myMakeLabels is true, then add the label style and layer if they do not already exist.
      if(myMakeLabels == true){
      try{
      myLabelLayer = myDocument.layers.item(myLayerName);
      //if the layer does not exist, trying to get the layer name will cause an error.
      myLabelLayer.name;
      }
      catch (myError){
      myLabelLayer = myDocument.layers.add({name:myLayerName});
      }
      //If the paragraph style does not exist, create it.
      try{
      myParagraphStyle = myDocument.paragraphStyles.item(myLabelStyle);
      myParagraphStyle.name;
      }
      catch(myError){
      myDocument.paragraphStyles.add({name:myLabelStyle});
      }
      }
      myDocumentPreferences.pagesPerDocument = myNumberOfPages;
      myDocumentPreferences.facingPages = false;
      var myPage = myDocument.pages.item(0);
      var myMarginPreferences = myPage.marginPreferences;
      var myLeftMargin = myMarginPreferences.left;
      var myTopMargin = myMarginPreferences.top;
      var myRightMargin = myMarginPreferences.right;
      var myBottomMargin = myMarginPreferences.bottom;
      var myLiveWidth = (myDocumentPreferences.pageWidth - (myLeftMargin + myRightMargin)) + myHorizontalOffset
      var myLiveHeight = myDocumentPreferences.pageHeight - (myTopMargin + myBottomMargin)
      var myColumnWidth = myLiveWidth / myNumberOfColumns
      var myFrameWidth = myColumnWidth - myHorizontalOffset
      var myRowHeight = (myLiveHeight / myNumberOfRows)
      var myFrameHeight = myRowHeight - myVerticalOffset
      var myPages = myDocument.pages;
      // Construct the frames in reverse order. Don't laugh--this will
      // save us time later (when we place the graphics).
      for (myCounter = myDocument.pages.length-1; myCounter >= 0; myCounter--){
      myPage = myPages.item(myCounter);
      for (var myRowCounter = myNumberOfRows; myRowCounter >= 1; myRowCounter--){
      myY1 = myTopMargin + (myRowHeight * (myRowCounter-1));
      myY2 = myY1 + myFrameHeight;
      for (var myColumnCounter = myNumberOfColumns; myColumnCounter >= 1; myColumnCounter--){
      myX1 = myLeftMargin + (myColumnWidth * (myColumnCounter-1));
      myX2 = myX1 + myFrameWidth;
      myRectangle = myPage.rectangles.add(myDocument.layers.item(-1), undefined, undefined, {geometricBounds:[myY1, myX1, myY2, myX2], strokeWeight:0, strokeColor:myDocument.swatches.item("None")});
      }
      }
      }
      // Because we constructed the frames in reverse order, rectangle 1
      // is the first rectangle on page 1, so we can simply iterate through
      // the rectangles, placing a file in each one in turn. myFiles = myFolder.Files;
      for (myCounter = 0; myCounter < myNumberOfFrames; myCounter++){
      myFile = myFiles[myCounter];
      myRectangle = myDocument.rectangles.item(myCounter);
      myRectangle.place(File(myFile));
      myRectangle.label = myFile.fsName.toString();
      //Apply fitting options as specified.
      if(myFitProportional){
      myRectangle.fit(FitOptions.proportionally);
      }
      if(myFitCenterContent){
      myRectangle.fit(FitOptions.centerContent);
      }
      if(myFitFrameToContent){
      myRectangle.fit(FitOptions.frameToContent);
      }
      //Add the label, if necessary.
      if(myMakeLabels == true){
      myAddLabel(myRectangle, myLabelType, myLabelHeight, myLabelOffset, myLabelStyle, myLayerName);
      }
      }
      if (myRemoveEmptyFrames == 1){
      for (var myCounter = myDocument.rectangles.length-1; myCounter >= 0;myCounter--){
      if (myDocument.rectangles.item(myCounter).contentType == ContentType.unassigned){
      myDocument.rectangles.item(myCounter).remove();
      }
      else{
      //As soon as you encounter a rectangle with content, exit the loop.
      break;
      }
      }
      }
    }
    //Function that adds the label.
    function myAddLabel(myFrame, myLabelType, myLabelHeight, myLabelOffset, myLabelStyleName, myLayerName){
      var myDocument = app.documents.item(0);
      var myLabel;
      var myLabelStyle = myDocument.paragraphStyles.item(myLabelStyleName);
      var myLabelLayer = myDocument.layers.item(myLayerName);
      var myLink =myFrame.graphics.item(0).itemLink;
      //Label type defines the text that goes in the label.
      switch(myLabelType){
      //File name
      case 0:
      myLabel = myLink.name;
      break;
      //File path
      case 1:
      myLabel = myLink.filePath;
      break;
      //XMP description
      case 2:
      try{
      myLabel = myLink.linkXmp.description;
      if(myLabel.replace(/^\s*$/gi, "")==""){
      throw myError;
      }
      }
      catch(myError){
      myLabel = "No description available.";
      }
      break;
      //XMP author
      case 3:
      try{
      myLabel = myLink.linkXmp.author
      if(myLabel.replace(/^\s*$/gi, "")==""){
      throw myError;
      }
      }
      catch(myError){
      myLabel = "No author available.";
      }
      break;
      }
      var myX1 = myFrame.geometricBounds[1];
      var myY1 = myFrame.geometricBounds[2] + myLabelOffset;
      var myX2 = myFrame.geometricBounds[3];
      var myY2 = myY1 + myLabelHeight;
      var myTextFrame = myFrame.parent.textFrames.add(myLabelLayer, undefined, undefined,{geometricBounds:[myY1, myX1, myY2, myX2], contents:myLabel});
      myTextFrame.textFramePreferences.firstBaselineOffset = FirstBaseline.leadingOffset;
      myTextFrame.parentStory.texts.item(0).appliedParagraphStyle = myLabelStyle;
    }
    
  • Why the forums seem to disappear?  You try to avoid the real issues?  You're just in it for the money and not to advance creativity.

    So, I asked a question, had a normal BS corporate scripted answer, then tried to track and, wow, no surprise in this day of Trump and other fascists (aka Adobe), could not ask a follow-up question.  Is it a real community or just a false sense of participation provided for by Orwell?    How do real people, real creations, the problems (and there ARE real problems with this stupid CC model)?

    What is the procedure for tracking issues, troubleshooting, etc.?  Or y at - it no, and does not care about Adobe?    BE SPECIFIC.     GIVE A CLEAR PROCESS, VERY VERY CLEAR, STEP BY STEP TO FOLLOW OR JUST ADMIT THAT YOU WANT TO SKIP THIS QUESTION AND THE BEAK OF USELESS PLATITUDES.

    You posted this at 08:13 if ask you questions about the MESSAGE, no forum, where you posted at 8:17 in when the student teacher rate goes up to 50% at the end of the first year, which is the motivation to continue?  Customer loyalty is not rewarded but punished. ?

    Look at past Messages

    Click on your Avatar image to the left of your message

    Click the option for the activity

    User manual for the community of Adobe (forums) https://forums.adobe.com/docs/DOC-4714

    -or http://docs.jivesoftware.com/jive/7.0/community_user/index.jsp

    The answer to your other question IS clear and concise... Adobe, like many other businesses, offering a discount to new buyers... and at the end of the discount period, the price goes up to the usual amount

    If you don't like that, very well... but Adobe isn't the only company that has further reductions of the buyer

Maybe you are looking for