Folder Comparison from multiple servers

I need to compare folders from multiple servers which do not have direct connection so i was trying to generate a text file with command dir /b /s >c:\server1.txt and feed them to script to compare. 
my desired output is csv file in the following format
File name,Server1,server2,server3,is it missng file?
File1,yes,yes,yes,No
file2,Yes,Yes,No,Yes
File3,Yes,No,Yes,Yes
File4,No,Yes,Yes,Yes
these folders contains few hundred thousand files and the script is taking 4 to 5 hours to run the comparison. i thought threads will help to run fast using parallel processng but did not help. i have no expreience with threads and after searching for examples
and implementing it was even slower than normal. 
i probably am doing something wrong. Any help is much appreciated. 
The following is the script so far and it works fine but its taking long time.
[array]$contentArray = @()
[array]$allfileslist = @()
[array]$uniquefileslist = @()
[array]$allfilesSRVlist = @()
[array]$srvlist = @()
$FolderName = Split-Path -parent $MyInvocation.MyCommand.Definition
$reportName = $FolderName + "\ComparisonReport3.csv"
$ListOfFiles = get-childitem $FolderName
$List = $ListOfFiles | where {$_.extension -ieq ".txt"}
$list.count
$index = 0
foreach($listitem in $List){
$listfilename = $listitem.FullName
$listname = $listitem.Name
$listname = $listname.replace(".txt","")
$srvlist = $srvlist + $listname
write-host $listfilename
#$StrContent = get-content $listfilename
$StrContent = [io.file]::ReadAllLines($listfilename)
$contentArray += ,@($StrContent)
$StrContent.count
$contentArray[$index].count
$index = $index + 1
for($i = 0;$i -lt $index;$i++){
$allfileslist = $allfileslist + $contentArray[$i]
$allfileslist.count
$uniquefileslist = $allfileslist | sort-object | get-unique
$Stroutline = "File Name,"
foreach($srvlistitem in $srvlist){
$Stroutline = $Stroutline + $srvlistitem.ToUpper() + ","
$Stroutline = $Stroutline + "Is it Missing file?"
Write-Output $Stroutline | Out-File "$reportName" -Force
foreach($uniquefileslistitem in $uniquefileslist){
$Stroutline = ""
$missingfile = "No"
$Stroutline = $uniquefileslistitem + ","
for($i=0;$i -lt $index;$i++){
if($contentArray[$i] -contains $uniquefileslistitem){
$Stroutline = $Stroutline + "Yes,"
else{
$Stroutline = $Stroutline + "No,"
$missingfile = "Yes"
$Stroutline = $Stroutline + $missingfile
Write-Output $Stroutline | Out-File "$reportName" -Force -Append
$j++
Following is the script i modified using threads example. this is running even slower.
[array]$contentArray = @()
[array]$allfileslist = @()
[array]$uniquefileslist = @()
[array]$allfilesSRVlist = @()
[array]$srvlist = @()
$FolderName = Split-Path -parent $MyInvocation.MyCommand.Definition
$reportName = $FolderName + "\ComparisonReport3.csv"
$ListOfFiles = get-childitem $FolderName
$List = $ListOfFiles | where {$_.extension -ieq ".txt"}
$list.count
$index = 0
#$contentArray = New-Object 'object[,]' $xDim, $yDim
foreach($listitem in $List){
$listfilename = $listitem.FullName
$listname = $listitem.Name
$listname = $listname.replace(".txt","")
$srvlist = $srvlist + $listname
write-host $listfilename
#$StrContent = get-content $listfilename
$StrContent = [io.file]::ReadAllLines($listfilename)
$contentArray += ,@($StrContent)
$StrContent.count
$contentArray[$index].count
$index = $index + 1
for($i = 0;$i -lt $index;$i++){
$allfileslist = $allfileslist+ $contentArray[$i]
$allfileslist.count
#$uniquefileslist = $allfileslist | select –unique
get-date
$uniquefileslist = $allfileslist | sort-object | get-unique
$uniquefileslist.count
get-date
$Stroutline = "File Name,"
foreach($srvlistitem in $srvlist){
$Stroutline = $Stroutline + $srvlistitem.ToUpper() + ","
$Stroutline = $Stroutline + "Is it Missing file?"
Write-Output $Stroutline | Out-File "$reportName" -Force
$j = 1
$count = $uniquefileslist.count
$stroutput = ""
$maxConcurrent = 50
$results= ""
$PauseTime = 1
$uniquefileslist | %{
while ((Get-Job -State Running).Count -ge $maxConcurrent) {Start-Sleep -seconds $PauseTime}
$job = start-job -argumentList $_,$contentArray,$index -scriptblock {
$StrArgFileName = $args[0]
$ArgContentArray = $args[1]
$ArgIndex = $args[2]
$Stroutline = ""
$missingfile = "No"
$Stroutline = $StrArgFileName + ","
for($i=0;$i -lt $ArgIndex;$i++){
if($ArgContentArray[$i] -contains $StrArgFileName){
$Stroutline = $Stroutline + "Yes,"
else{
$Stroutline = $Stroutline + "No,"
$missingfile = "Yes"
$Stroutline = $Stroutline + $missingfile
$Stroutline
While (Get-Job -State "Running")
Start-Sleep 1
$results = Get-Job | Receive-Job
$results
$stroutput = $stroutput + "`n" + $results
Remove-Job *
Write-Output $stroutput | Out-File "$reportName" -Force -Append
Thank you very much!
Vamsi.

no i am not comparing the number of lines.. count i used was only for my information... it has nothing to do with the compare. here is the script with out count... 
[array]$contentArray = @()
[array]$allfileslist = @()
[array]$uniquefileslist = @()
[array]$allfilesSRVlist = @()
[array]$srvlist = @()
$FolderName = Split-Path -parent $MyInvocation.MyCommand.Definition
$reportName = $FolderName + "\ComparisonReport3.csv"
$ListOfFiles = get-childitem $FolderName
$List = $ListOfFiles | where {$_.extension -ieq ".txt"}
$index = 0
foreach($listitem in $List){
$listfilename = $listitem.FullName
$listname = $listitem.Name
$listname = $listname.replace(".txt","")
$srvlist = $srvlist + $listname
$StrContent = [io.file]::ReadAllLines($listfilename)
$contentArray += ,@($StrContent)
$index = $index + 1
for($i = 0;$i -lt $index;$i++){
$allfileslist = $allfileslist+ $contentArray[$i]
$uniquefileslist = $allfileslist | sort-object | get-unique
$strfinal = "File Name,"
foreach($srvlistitem in $srvlist){
$strfinal = $strfinal + $srvlistitem.ToUpper() + ","
$strfinal = $strfinal + "Is it Missing file?"
foreach($uniquefileslistitem in $uniquefileslist){
$missingfile = "No"
$Stroutline = $uniquefileslistitem + ","
for($i=0;$i -lt $index;$i++){
if($contentArray[$i] -contains $uniquefileslistitem){
$Stroutline = $Stroutline + "Yes,"
else{
$Stroutline = $Stroutline + "No,"
$missingfile = "Yes"
$Stroutline = $Stroutline + $missingfile
$strfinal = $strfinal + "`n" + $Stroutline
Write-Output $strfinal | Out-File "$reportName" -Force -Append
if you want to test it... just create two text files and put them in the same folder as the script. 
server1.txt will have the following content
filename1
filename2
filename3
server2.txt will have the following content
filename1
filename2
filename4
it should generate the csv file ComparisonReport3.csv
filename,server1,server2,Is it Missing file?
filename1,yes,yes,no
filename2,yes,yes,no
filename3,yes,no,yes
filename4,no,yes,yes

Similar Messages

  • Collecting Notifications from multiple servers and applications

    Hi,
    I'm researching JMX technology for our Enterprise-wide monitoring needs.
    I've got a good understanding of how to create jmx connections and instrument resources for monitoring in a 1-to-1 jmx client to application scenario.
    However, I need to manage (and collect notification alerts) from multiple servers/applications.
    Any ideas where to start learning how to do this?
    Thanks,
    Jon

    Hi Gavin,
    So, you're looking into JMX monitoring solutions too. great! I've collected some good links and examples.
    You can email me privately at jcolby550 "at" hotmail "dot" com, maybe we can share ideas.

  • Generate WWPN from Multiple Servers

    Hello, I am trying to make this script that will generate the WWPNs from multiple servers, but for some reason it is only generating the WWPN of the machine but not the hostnames, how do I make it generate the hostname of each WWPN that it lists?
    $computers=Get-ContentC:\scripts\servers.txt
    Get-WmiObject
    -computername$computers-classMSFC_FibrePortHBAAttributes-namespace"root\WMI"|Select-ExpandpropertyAttributes|%{
    ($_.PortWWN
    |%{"{0:x2}"-f$_})
    -join":"} 

    Hi Gramelot,
    you only get the PortWWN, because you select it exclusively at the end of your pipeline. Here's a slight rebuild:
    # Get list of computernames
    $Computers = Get-Content "C:\scripts\servers.txt"
    # Prepare result storage
    $Results = @()
    # Iterate over each Computer
    foreach ($Computer in $Computers)
    # Grab PortWWN
    $PortWWN = Get-WmiObject -computername $Computer -class MSFC_FibrePortHBAAttributes -namespace "root\WMI" | Select-ExpandpropertyAttributes | %{ ($_.PortWWN | %{ "{0:x2}" -f $_ }) -join ":" }
    # Add result to result storage
    $Results += New-Object PSObject -Property @{ Computer = $Computer; PortWWN = $PortWWN }
    # Report result
    $Results
    Cheers,
    Fred
    There's no place like 127.0.0.1

  • Select data from multiple servers(instances)

    Hi All,
    Is possible that we can login to SQLPLUS of one server and be able
    to select data from other servers. For MSSQL server we can use
    opendatasource but I don't know if in ORACLE we can
    get the data from other servers by login to SQLPLUS of one server.
    Your help is greatly appreciated.
    Thanks in advance for your response.
    JP

    Hi,
    Please try this ...
    DATA: BEGIN OF ITAB1 OCCURS 0.
            INCLUDE STRUCTURE A_TABLE.
    DATA: END OF ITAB1.
    DATA: BEGIN OF ITAB2 OCCURS 0.
            INCLUDE STRUCTURE B_TABLE.
    DATA: END OF ITAB1.
    DATA: BEGIN OF ITAB3 OCCURS 0.
            INCLUDE STRUCTURE C_TABLE.
    DATA: END OF ITAB3.
    SELECT *
    INTO TABLE ITAB1
    FROM A_TABLE
    WHERE A_ID IN S_A_ID.
    SELECT *
    INTO TABLE ITAB2
    FROM B_TABLE
    WHERE A_ID IN S_A_ID.
    SELECT *
    INTO TABLE ITAB3
    FROM C_TABLE
    WHERE A_ID IN S_A_ID.
    To download to PC or application server, please check this sample codes.
    http://www.sapdevelopment.co.uk/file/file_downloadpc.htm
    http://www.sapdevelopment.co.uk/file/file_downloadsap.htm
    Regards,
    Ferry Lianto
    Please reward points if helpful.

  • How to get the output of a single command from multiple servers using power shell

    Hi All,
    I have a requirement in my project, wherein I have to find the database list on each server which has autoshrink option is enabled.
    Below is the query which I'm using and I want to automate it in such a way that, I can give the input to powershell script with list of all servers and I need output in csv format which should be giving the database names for which autoshrink option is enabled.
    select name from sys.databases where
    is_auto_shrink_on=1
    Thanks in Advance, Kranthi

    foreach($instance in $instances){
        Invoke-SqlCmd $query -ServerInstance $instance
    https://msdn.microsoft.com/en-us/library/cc281720.aspx
    ¯\_(ツ)_/¯

  • Streaming from multiple servers

    Hello,
    I have a server in Israel with Flash Streaming server
    installed.
    If I'll buy another server and host it in the US, what do I
    need to do in order to broadcast from it also.
    1. Do I have to broadcast twice from the source or can I
    broadcast to one server and it will pass the stream to the other?
    2. Do I need to purchase another FMS license?
    Thanks.

    You said you have Flash Streaming Server - do you mean FMSS.
    If yes, I am sorry you will have to broadcast to both servers from
    your source. There is no way you can republish from server itself
    as you have no control to do that on FMSS - you cant write your own
    apps and also cant modify live and vod apps. Now if you meant FMIS,
    then there are two ways you can achieve it:
    1. Like how JayCharles suggested, you can use remote play and
    play stream from your US server.
    2. Better way would be to use Multi-point publish, once you
    get stream published at your Isreal server, just get hold of it in
    application.onPublish handler and use new NetStream class on
    Server-side to republish it to our US server. However note that
    Multi-point publish is available only from FMS 3.0 release.

  • JNDI replication and rebinging from multiple servers

    Here is what I need:
    Server1 binds ObjX to it's JNDI tree (which replicates the object to the
    other servers in the cluster)
    Server2 does a lookup on ObjX, changes some values and rebinds it back to
    it's JNDI tree (which should replicate the changes to the other servers
    including Server1).
    The above does not happen because, Server1 is known to be the owner of ObjX,
    and thus instead of getting replicated data after Server2 rebinds, it gets
    duplicate name errors.
    Is there anyway to make the above work the way I want it to?

    It is bad to use JNDI to replicate application data/cache in the cluster.
    If you are sure that you want to use multicast to replicate your data,
    in 6.0 you can use JMS:
    http://e-docs.bea.com/wls/docs60/jms/implement.html#1206428
    Or you can use javagroups: http://sourceforge.net/projects/javagroups
    John Boyd <[email protected]> wrote:
    Yes, exactly.
    "Dimitri Rakitine" <[email protected]> wrote in message
    news:[email protected]..
    Are you trying to use JNDI to replicate runtime data across the cluster?
    John Boyd <[email protected]> wrote:
    Here is what I need:
    Server1 binds ObjX to it's JNDI tree (which replicates the object to the
    other servers in the cluster)
    Server2 does a lookup on ObjX, changes some values and rebinds it back
    to
    it's JNDI tree (which should replicate the changes to the other servers
    including Server1).
    The above does not happen because, Server1 is known to be the owner of
    ObjX,
    and thus instead of getting replicated data after Server2 rebinds, itgets
    duplicate name errors.
    Is there anyway to make the above work the way I want it to?--
    Dimitri
    Dimitri

  • 10.1.3.4 - FTP adapter polling multiple servers

    Is it possible to get files from multiple servers for a given BPEL or ESB service ? My source application writes to its local file systems in the exact same location, but 2 different servers. Is there anyway we can instruct the FTP adapter to poll both the servers ? or do we have to duplicate the call to poll the 2nd server ?

    Don't think so. We have solved it by having one esb ftp-adapter to each server and route them together in the same routing service.

  • Cfscript removing data source multiple servers

    I'm looking for a cfscript that can remove data source of multiple servers. Is this possible or not?
    Cheers,
    Olivier

    Remove multiple datasources from one server, or multiple datasources *from* multiple servers? How many servers and datasources are you talking?
    You'll need the AdminAPI to remove datasources.

  • Any Tutorial / Sample to create Single PDF from multiple source files using PDF assembler in a watched folder process.

    Any Tutorial / Sample to create Single PDF from multiple source files using PDF assembler in a watched folder process. I have a client application which will prepare number of source files and some meta data information (in .XML) which will be used in header/footer. Is it possible to put a run time generated DDX file in the watch folder and use it in Process. If possible how can I pass the file names in the DDX. Any sample Process will be very helpful.

    If possible, make use of Assembler API in your client application instead of doing this using watched folder. Here are the Assembler samples :  LiveCycle ES2.5 * Programming with LiveCycle ES2.5
    Watched folder can accept zip files (sample : Configuring a watched folder to handle multiple input files and write results to a single folder | Adobe LiveCycle Blog ). You can also use execute script to create the DDX at runtime : LiveCycle ES2 * Application Development Using LiveCycle Workbench ES2
    Thanks
    Wasil

  • Picking files from multiple folders based on name send to destination folde

    Hi,
       I want to pick multiple files from multiple folders with one root folder. Based on file name I want to send it to diffirent folders. No need to go for message mapping. Can anyone suggest me.
    Thanks & Regards,
    Prasad Kotla.

    Hi Prasad,
    to pick the files from multiple source directory, can use "Advance Selection for Source File" in Sender CC.
    If you wand to develop a Scenario without Message mapping, develop a scenario as "Sender as Virtual receiver"
    This option is available in Sender agreement, just give the dummy name for Msg Interface and Namespace, Name defined should be same in Rec Agreement.
    Develop only: Sende CC, Receiver CC, SA, RA
    No need to develop ID and RD as no mapping is involved.
    If u want to send the files to different folders of receiver side, just develop the adapter module which changes the directory based on the sender filename.
    If the sender and receiver directory is same than check the "adapter specific Msg Attribute"  and "directory" checkbox in both the sender and receiver CC. in this case no need to develop Custom module for changing the directory. files will be automatically placed in the path they were picked from  sendor directory
    appreciate if useful
    regards,
    chandra shekhar

  • DHCP scope setings from multiple DHCP Servers

    Is there any way to check any particular option is configured in all scopes from multiple DHCp servers.
    for eg:- we would like to check if any scope has option 150 is configured in multiple DHCP servers.
    I guess there are lots of cmdlets available from Win2k12 DHCP servers.  
    Regards, Nidhin.CK

    Hi, Nidhin...
    I use NETSH tool for this, can redirect results to file or filter w/ FIND.
    Example:
    NETSH dhcpserver \\SERVERNAME dump | FIND /I "set optionvalue 150"
    Hope this helps!
    Marcelo Lucas Guimarães - MCP, MCTS, MCDBA, MCITP Blog: http://mlucasg.wordpress.com

  • Moving Folder Redirect from one Domain to Another on Different Servers

    We are in the process of putting in a new server; Win Server 2008 R2, and creating a new domain for a client. We need to move the folder redirect from the current server (server1.currentdomain) to the new server on the new domain (server2.newdomain). We
    want to keep the UNC on the client PC's the same. The SAM file will be rewritten.
    What is the best way to go about this?
    What potential security/rights issues can we prepare for?
    Thanks.

    Hi,
    As you said the NTFS permission could be an issue if we move Folder Redirection to another domain.
    Generally users should be the owner of their own redirected folders. However as folders are moved to a different domain, all permissions for user accounts in old domain will not be recognized.
    In this situation you can try to set folder redirection policy in new domain first so that folders will be created - remember uncheck the settings of "Grant the user exclusive rights" so that domain admins still have permissions on these folders.
    Then you can copy files from old server "into" these created folders.
    If you have any feedback on our support, please send to [email protected]

  • Accessing the same stateful session bean from multiple clients in a clustered environment

    I am trying to access the same stateful session bean from multiple
              clients. I also want this bean to have failover support so we want to
              deploy it in a cluster. The following description is how we have tried
              to solve this problem, but it does not seem to be working. Any
              insight would be greatly appreciated!
              I have set up a cluster of three servers. I deployed a stateful
              session bean with in memory replication across the cluster. A client
              obtains a reference to an instance of one of these beans to handle a
              request. Subsequent requests will have to use the same bean and could
              come from various clients. So after using the bean the first client
              stores the handle to the bean (actually the replica aware stub) to be
              used by other clients to be able to obtain the bean. When another
              client retrieves the handle gets the replica aware stub and makes a
              call to the bean the request seems to unpredictably go to any of the
              three servers rather than the primary server hosting that bean. If the
              call goes to the primary server everything seems to work fine the
              session data is available and it gets backed up on the secondary
              server. If it happens to go to the secondary server a bean that has
              the correct session data services the request but gives the error
              <Failed to update the secondary copy of a stateful session bean from
              home:ejb20-statefulSession-TraderHome>. Then any subsequent requests
              to the primary server will not reflect changes made on the secondary
              and vice versa. If the request happens to go to the third server that
              is not hosting an instance of that bean then the client receives an
              error that the bean was not available. From my understanding I thought
              the replica aware stub would know which server is the primary host for
              that bean and send the request there.
              Thanks in advance,
              Justin
              

              If 'allow-concurrent-call' does exactly what you need, then you don't have a problem,
              do you?
              Except of course if you switch ejb containers. Oh well.
              Mike
              "FBenvadi" <[email protected]> wrote:
              >I've got the same problem.
              >I understand from you that concurrent access to a stateful session bean
              >is
              >not allowed but there is a
              >token is weblogic-ejb-jar.xml that is called 'allow-concurrent-call'
              >that
              >does exactly what I need.
              >What you mean 'you'll get a surprise when you go to production' ?
              >I need to understand becouse I can still change the design.
              >Thanks Francesco
              >[email protected]
              >
              >"Mike Reiche" <[email protected]> wrote in message
              >news:[email protected]...
              >>
              >> Get the fix immediately from BEA and test it. It would be a shame to
              >wait
              >until
              >> December only to get a fix - that doesn't work.
              >>
              >> As for stateful session bean use - just remember that concurrent access
              >to
              >a stateful
              >> session bean is not allowed. Things will work fine until you go to
              >production
              >> and encounter some real load - then you will get a surprise.
              >>
              >> Mike
              >>
              >> [email protected] (Justin Meyer) wrote:
              >> >I just heard back from WebLogic Tech Support and they have confirmed
              >> >that this is a bug. Here is their reply:
              >> >
              >> >There is some problem in failover of stateful session beans when its
              >> >run from a java client.However, it is fixed now.
              >> >
              >> >The fix will be in SP2 which will be out by december.
              >> >
              >> >
              >> >Mike,
              >> >Thanks for your reply. I do infact believe we are correctly using
              >a
              >> >stateful session bean however it may have been misleading from my
              >> >description of the problem. We are not accessing the bean
              >> >concurrently from 2 different clients. The second client will only
              >> >come into play if the first client fails. In this case we want to
              >be
              >> >able to reacquire the handle to our stateful session bean and call
              >it
              >> >from the secondary client.
              >> >
              >> >
              >> >Justin
              >> >
              >> >"Mike Reiche" <[email protected]> wrote in message
              >news:<[email protected]>...
              >> >> You should be using an entity bean, not a stateful session bean
              >for
              >> >this application.
              >> >>
              >> >> A stateful session bean is intended to be keep state (stateful)
              >for
              >> >the duration
              >> >> of a client's session (session).
              >> >>
              >> >> It is not meant to be shared by different clients - in fact, if
              >you
              >> >attempt to
              >> >> access the same stateful session bean concurrently - it will throw
              >> >an exception.
              >> >>
              >> >> We did your little trick (storing/retrieving handle) with a stateful
              >> >session bean
              >> >> on WLS 5.1 - and it did work properly - not as you describe. Our
              >sfsb's
              >> >were not
              >> >> replicated as yours are.
              >> >>
              >> >> Mike
              >> >>
              >> >> [email protected] (Justin Meyer) wrote:
              >> >> >I am trying to access the same stateful session bean from multiple
              >> >> >clients. I also want this bean to have failover support so we want
              >> >to
              >> >> >deploy it in a cluster. The following description is how we have
              >tried
              >> >> >to solve this problem, but it does not seem to be working. Any
              >> >> >insight would be greatly appreciated!
              >> >> >
              >> >> >I have set up a cluster of three servers. I deployed a stateful
              >> >> >session bean with in memory replication across the cluster. A client
              >> >> >obtains a reference to an instance of one of these beans to handle
              >> >a
              >> >> >request. Subsequent requests will have to use the same bean and
              >could
              >> >> >come from various clients. So after using the bean the first client
              >> >> >stores the handle to the bean (actually the replica aware stub)
              >to
              >> >be
              >> >> >used by other clients to be able to obtain the bean. When another
              >> >> >client retrieves the handle gets the replica aware stub and makes
              >> >a
              >> >> >call to the bean the request seems to unpredictably go to any of
              >the
              >> >> >three servers rather than the primary server hosting that bean.
              >If
              >> >the
              >> >> >call goes to the primary server everything seems to work fine the
              >> >> >session data is available and it gets backed up on the secondary
              >> >> >server. If it happens to go to the secondary server a bean that
              >has
              >> >> >the correct session data services the request but gives the error
              >> >> ><Failed to update the secondary copy of a stateful session bean
              >from
              >> >> >home:ejb20-statefulSession-TraderHome>. Then any subsequent requests
              >> >> >to the primary server will not reflect changes made on the secondary
              >> >> >and vice versa. If the request happens to go to the third server
              >that
              >> >> >is not hosting an instance of that bean then the client receives
              >an
              >> >> >error that the bean was not available. From my understanding I
              >thought
              >> >> >the replica aware stub would know which server is the primary host
              >> >for
              >> >> >that bean and send the request there.
              >> >> >
              >> >> >Thanks in advance,
              >> >> >Justin
              >>
              >
              >
              

  • How to set up  Planning on Multiple Servers

    Hi,
    1) I am trying to install a Finance Planning application so that it runs on one Planning Web Server and the other operations Planning application on another Planning 9.3.1 web server. Is that possilbe?
    2) May be unrelated question:
    HP_Windows_Install.pdf has only a few lines explaining how to set up Planning on Multiple Servers. Is it as simple as that?
    Here are the "few lines" from install.pdf:
    Perform the same installation and configuration process on your secondary servers, making sure to choose
    Planning Web Server component for any secondary server.
    Make sure you select Reuse existing tables when prompted during the Configure a Database task
    in the Configuration utility.

    Tomcat.
    But it will be nice to know the steps for Weblogic too - as Weblogic will be bundled "free" with future releases of Planning.

Maybe you are looking for