Saturday, April 2, 2022

Sample code for capturing the commands that AMO sends to server

Sample code for capturing the commands that AMO sends to server

//=====================================================================
//
//  Sample code for using AMO in capture mode.
//
//---------------------------------------------------------------------
//
// Copyright (C) Microsoft Corporation.  All rights reserved.
//
// THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
//=====================================================================
using System;
using Microsoft.AnalysisServices;

namespace Microsoft.AnalysisServices.CodeSamples
{
    /// <summary>
    /// Demonstrates use of AMO capture mode.
    /// </summary>
    /// <remarks>
    /// This code requires the "Adventure Works" sample database to be present on the Analysis Services server
    /// and also the "AdventureWorksDW" relational database on SQL Server (for processing objects).
    /// </remarks>
    public class AmoCaptureMode
    {
        public static int Main(string[] args)
        {
            //--------------------------------------------------------------------------------
            // The commands that AMO is sending to the server (Create, Process, Delete etc)
            // can be captured into a log (instead of being sent to the server for execution)
            // and run later (eventually all of them into a Batch, in parallel).
            //
            // A common use for AMO capture mode is to do parallel processing of objects.
            // For example:
            // - the [Adventure Works DW] sample database has the dimensions [Product] and [Date]
            // - we want to process these 2 dimensions transactional and in parallel
            // - normal AMO code (that connects to server and calls Process() on [Product] and
            //   then Process() on [Date]) will process the dimensions separately and serially
            // - with capture mode, we'll be able to process the dimensions transactional and in
            //   parallel, using the same Process methods unchanged
            //
            // The capture mode related properties and methods are on the Server class:
            // - CaptureXml: enables/disables capture mode
            // - CaptureLog: provides the log with the captured commands
            // - ExecuteCaptureLog: runs the commands from the log in a Batch, with options for transactional and parallel
            //--------------------------------------------------------------------------------

            string connectionString = "Data Source=localhost";
            string databaseName     = "Adventure Works DW"; // use "Adventure Works DW Standard Edition" if you have the standard edition installed

            try
            {
                //--------------------------------------------------------------------------------
                // STEP 1: connect to Analysis Services server.
                //--------------------------------------------------------------------------------
                Server server = new Server();
                server.Connect(connectionString);

                try
                {
                    //--------------------------------------------------------------------------------
                    // STEP 2: locate the [Product] and [Date] dimensions.
                    //--------------------------------------------------------------------------------
                    Database  database         = server.Databases.GetByName(databaseName); // this throws exception if the database is not found
                    Dimension productDimension = database.Dimensions.GetByName("Product"); // this throws exception if the dimension is not found
                    Dimension dateDimension    = database.Dimensions.GetByName("Date");    // this throws exception if the dimension is not found

                   
                    //--------------------------------------------------------------------------------
                    // STEP 3: enable capture mode and then capture the Process commands.
                    //--------------------------------------------------------------------------------
                    server.CaptureXml = true; // from this point on, the AMO commands are saved to a log
                    productDimension.Process(); // normal call of Process method, just that it will be saved to log
                    dateDimension.Process();
                    server.CaptureXml = false; // we completed capturing the commands, we'll revert to normal AMO mode
                   
                    // At this point, the CaptureLog property of the server contains the 2 Process commands
                    System.Diagnostics.Debug.Assert(server.CaptureLog.Count == 2);
                    System.Diagnostics.Debug.WriteLine(server.CaptureLog[0]);
                    System.Diagnostics.Debug.WriteLine(server.CaptureLog[1]);


                    //--------------------------------------------------------------------------------
                    // STEP 4: run the Process commands in a transactional parallel batch.
                    //--------------------------------------------------------------------------------
                    XmlaResultCollection results = server.ExecuteCaptureLog(true, true); // (transactional, parallel)
                   
                    // Normally there is an XmlaResult for each command in the Batch, in the same order. However,
                    // for a transactional Batch, the first error will stop (and revert) all the other commands,
                    // so there can be fewer XmlaResults.
                    foreach (XmlaResult result in results)
                    {
                        foreach (XmlaMessage message in result.Messages)
                        {
                            if (message is XmlaError)
                            {
                                Console.WriteLine("ERROR: {0}", message.Description);
                            }
                            else
                            {
                                System.Diagnostics.Debug.Assert(message is XmlaWarning);
                                Console.WriteLine("WARNING: {0}", message.Description);
                            }
                        }
                    }
                    // If no XmlaErrors were returned, the processing succeeded.

                    // Clear the log for eventual future use.
                    server.CaptureLog.Clear();


                    return 0;
                }
                finally
                {
                    server.Disconnect();
                }
            }
            catch (Exception e)
            {
                Console.Error.WriteLine(e.ToString());
                return 1;
            }
        }
    }
}

AS 2005 Migration issue

Hi,

In one of the projects, we are migrating AS 2000 to 2005. We are facing certain errors:

1- In a distinct count based cube, errors come while processing the cube saying that the SORT ORDER IS NOT CONSISTENT.

2- In another cube migrated, the same column in the fact table has been connected to two diferent dimension tables. This has been done in AS 2005 by creating another column with the same name and the select query generats the same column name with "_1" preefix and provides an error

 

Any Help

Thanks

Manish

text length limitations...

 

I'm using Analysis Services to generate a local cub file via the MSOLAP OLEDB provider.

Here's my problem: One of the columns in my source table is defined as varchar(MAX). When I run my program that generates the local cube file, I get an error (error reading data from one or more columns). If I change the data type in my source table to varchar(8000) it works fine. I also tried the text data type but I still get the error.

I assume this means that Analysis Services does not support varchar(MAX) or text?

thanks.

How can I hide leaf level members of a ragged dimension ?

I need to  hide leaf level members of a ragged dimension.  Any thoughts ?  My original approach was through roles (security), but I am open to other suggestions.

Reply:

Maybe I need to generalize this.  Is it possible to hide lower levels of a heirarchical dimension ?

Specifically, I have our corporate organization, with the following heirarchy:

CEO-->ExecVP-->VP-->Director-->Manager-->Supervisor-->Employee.  

I need to be able to hide measures associated with leaf-level employees, and also selectively at the small group (supervisor) level. But security seems to work backwards--I can hide top level aggregations, but not the lower level.

Any ideas ?


------------------------------------

64-bit Disappointments

Dear Microsoft,
Thank you for your gifts this year. I gratefully received Vista Beta 2 x64 and the dead cat head you sent me. I really do appreciate them, but what I really wanted was a x64 rewrite of Windows 2000. I tried playing 64-bit Unreal Tournament 2004 on my box in Vista. It played OK, but it ran slower than it should have and I was disappointed in the lack of OpenGL. Maybe an Athlon 64 3200, 1GB DDR2 RAM, and an nVidia 6200 is old news and last year's model, but I was really hoping Vista could make it shine. I tried playing UT2K4 64-bit in Ubuntu Linux. I was later found in a coma in front of my computer mouthing "All your base are belong to me." I tried it again, with similar results. I can't remember anything about it except for pure 64-bit bliss. This is not unlike the euphoric experience of UT2K4 on Win2K. OpenGL of course. I usually end up on my side in a puddle of my own drool, glibly singing to myself and cheerfully unaware of my surroundings.
I've now decided to play UT2K4 in Vista only because it quickly helps me to remember that I have work to do and shouldn't waste my time on silly games.
The dead cat head has become a good friend to me. I call him Bob.

Sincerely,
NW


All joking and dead cat heads aside...
The nicest thing I have to say about Vista x64  is it's pretty. Stop. End of transmission. Other than that, um... oh yeah, Services for Unix in 64-bit. Those are good too. But, in general, it's been something of a nightmare. I think this is summed nicely by the true life experience where I copied over my installation of Musikcube with the latest CVS build only to have to the machine keel over and die. Windows 2000 handled the job with a grunt and sneer, as if I'd insulted it with some menial 5-second task far beneath it's abilities - which it was. Vista found the job beyond its capacity. Granted, Vista did try to sway me from the task, complaining of the red tape of administrator priveleges and the like; Windows 2000 did the job without hesitation, never supposing that I'd lost my mind and this could be a possible no-no.
The interface is pretty. Really pretty. I don't give a {coital act} about pretty when I'm working. I need functional. I use Blackbox Lean on my Windows 2000, which, when tweaked right is very pretty, but not needlessly glossy Aero pretty. If I want that, I have Compiz installed on my Ubuntu. Now THAT'S pretty. Note, I haven't switched to BBLean on Vista because, honestly, after the SCSI Pass-Through Driver fiasco, I really don't know how much tweaking I can trust myself to do before I REALLY break something.
Vista brings new and exciting features to the Windows family, but as far as the actual software world goes, the Open Source Initiative has already outdated the majority of anything Vista plans to bring to the table. I say majority because .NET 3 and DirectX 10 are solely in Microsoft's ball-court right now. In all honesty, however, I can seriously imagine using this self-same machine in 5 years from now still running Windows 2000 and .NET 3 as provided by the Mono Project.
So basically, what I'm looking for is a 64-bit Windows with the libraries and drivers to survive the next generation of computing, but with the durability, power, and customization that over-clockers,  modders and hackers need to bring out the very best from their systems. Criminy, I'm only a casual modder wannabe, and I'm this frustrated. I can't imagine what the die-hards must be thinking. Hm... Vista x64... nLitened? Sweet merciful Heaven, I hope so.


-NW

Reply:
You may wait the next beta release of Vista. The performance may increase in next build.

------------------------------------
Reply:
I honestly hope so. According to one publication, Vista requires 512 MB to boot up and do nothing. It looks absolutely gorgeous while doing this. But many folks might be upset over the inability to do something meaningful.  If this is the future of Microsoft's desktop OS, then they may have just handed the reins over to the Linux community. And you know what that means? With the exception of Tremulous, Unreal, Quake, Neverwinter Nights and precious few other series, the future of gaming looks bleak.
Bob says I'm being a pansy and that things could be MUCH worse. But what does a dead cat head know?

------------------------------------
Reply:

I also feel Vista "eat" a lot of ram too. I hope MS can improve it as 2GB DDR2-800 laptop memory module is EXTREMELY EXPENSIVE now! As notebook's ram slot was limited to two slot only....Just 2x1GB DDR2 ram is not enough when i need to run Virtual PC inside Vista.


------------------------------------

Problems connection to SSAS

I just installed 2005 and have an instance of Enterprise on my local machine. My SSAS service appears to be working properly in Services.  However, whenever I try to deploy a cube (simple one from tutorial) or try to connect from Management Console, I get rejected.  The error message is:

No connection could be made because the target machine actively refused it (System).

I've tried about everything I can think of and can't get past this.  Any guidance would be greatly appreciated.

 

MDX: Comparing measures over time (with other measures)

I think being a long time T-SQL programmer is actually making it more difficult for me to get a grasp of MDX.  I am struggling when trying to compare measures.  I've been reading guides online and books but can't seem to get one concept that is very important to the work I am doing - comparing 2 different things over time.  Best shown with an example.  I'll use the typical retail model since every book etc seems to use this one so it should be familiar.

Say I have stores all over the US but I want to compare sales over time between the Seattle store and the Portland store to look and determine if a particular trend is for the whole Northwest or just Seattle.

First step - lets just look at the number of sales and the total $$$ - this is what I would have:

SELECT
    CROSSJOIN({[Store].[City].[Seattle],[Store].[City].[Portland]}, {[Measures].[Units Sold],[Measures].[Total Sales]}) on columns,
    NON EMPTY {[Time].[Date].Members} on
rows
From

    [Sales]

Question 1 (probably easy):  Non Empty removes the sets where they are both empty - but lets say if sales are NULL for a day that means the store was closed and we don't want to compare days where 1 of the 2 stores was closed - how can I remove them? (especially since the portland store opened 2 yrs after seattle)

Question 2 (now getting difficult... at least for me):  How can I determine correlation between the Seattle and Portland numbers... I am not sure how exactly to do this.. I guess first thing would just be an MDX to get, given a certain length of time, the correlation between the sets.  More advanced would be some sort of thing that I can see rolling x time period (for example for the 7 days before) correlation over time and have that with the results from question 1 which would allow me to see if Seattle and Portland trends are becoming more alike or less.  Also it would be nice to be able to do ALL to ALL (stores) instead of just Seattle to Portland - do things get much harder to do that?  If this type of analysis is way out of the league of stuff to do in MDX please let me know I am barking up the wrong tree for this sort of analysis. :) 

Thanks!

Creating a cube programmatically in Standard edition

Hi,

I tried running the sample AmoAdventureWorks and I get an error indicating that you must have the Enterprise edition for the sample to work.

Is there a way to create a cube from a C# program with the standard edition? Sample code or a link greatly appreciated.

Thanks

John

Drillthrough Action

Hi,

How can a Drillthrough Action show data other than the measurement and the dimension attributes. For example can I create a join between a dimension and and another table to get these other data.

Please help!

Thanks,

Aref

I solved the problem..

Hey, everyone..



The only way I found to solve this was to swtich from NetworkService to a local User account with administration rights (I know you shouldn´t do this but I had no other option...) and the DB booted up just fine.


Had to do it because it is my WSUS server...


Ivo

Confidence interval

Hi,

 

did anybody already build some MDX to calculate the "confidence interval"? I'm not very good in statistics but a customer wants this kind of KPI...

Thanks,

How to avoid Diffgrams?

I add new dimensions to the datasourceview programmatically through AMO. It all works fine except that after I've processed the new database I want to do a script database as-> create. This adds a huge diffgram with every member in the new dimensions at the end of the script. The script works equally well with or without the diffgram (removing it manually). So how do I avoid getting this? I have searched for some kind of flag or serializationmode setting but haven't come up with something so far.

NAP is AWESOME

This is going to make a huge difference to large corporates. Done badly, or even done just OK, can run the network into the ground pronto. There's a wake up call here - time to get your networks in shape for Windows Server 2008/9!

Reply:

We think NAP is awesome too, thanks Thomas.

 

Jeff Sigman [MSFT]
NAP Release Manager
Jeff.Sigman@online.microsoft.com *
http://blogs.technet.com/nap

* Remove the "online" to actually email me.
** This posting is provided "AS IS" with no warranties, and confers no rights.


------------------------------------

SAP Management Agent Beta Program

The Identity Management Team is launching Beta 3 of the MIIS 2003 SAP Management Agent.  The SAP Management Agent allows MIIS administrators to connect to an SAP ERP system.

 

What's new in Beta 3?

  • Support for .NET 2.0
  • Support for SAP Unicode systems
  • BAPI filtering greatly reduces discovery time and time to build the initial BAPI configuration cache
  • Parameter mapping and subtype configuration are significantly improved
  • Better support for multi-level attributes 
  • Greatly improved user experience for creating configurations from scratch
  • Updated Help file including better examples for using custom BAPIs and detailed documentation on how to use complex multi-level attributes

 

Beta 3 will start on August 1st and last approximately 8 weeks. 

 

To sign up for the Beta:

  1. Use your internet connection to visit our web site at http://connect.microsoft.com.  
  2. Please sign in using your passport account. You may need to create a passport account if you don't have one already setup.
  3. Click on "Available Connections".
  4. Scroll down to "Programs" and click on "MIIS – SAP Management Agent". 
  5. Please fill out the brief survey and you'll be able to download the bits.

 

For questions or feedback related to the Beta, please send an email to miisbeta@microsoft.com.

 

Thanks!

Alym

 

 

Alym Rayani | Community PM | Connected Identity & Directory | Microsoft

Suggestion: Too much info in Get-Help on each parameter

Getting the 6-7 lines of extra info on each parameter may sometimes be helpful, but not the first few times you call up help, and probably not most of the time afterward. Perhaps it can be saved for a -verbose switch or something similar. Replacing these somewhat extraneous parameters with an example or two (when appropriate) would be a good idea.

Reply:

This is a great suggestion---one that you'll actually see implemented in the final Exchange and PowerShell bits :) We didn't get the changes done in time for Beta 2, but this is what you'll actually see if you just run help (using the cmdlet get-help as an example). As you can see below, you have the option of having full help, detailed help, just parameters, or just examples.

Keep the great feedback coming! Thanks, ~vivek

 

SYNOPSIS
    Displays information about Windows PowerShell cmdlets and concepts.


SYNTAX
    Get-Help [[-name] <string>] [-component <string[]>] [-functionality <string[]>] [-role <string[
    ]>] [-category <string[]>] [-full] [<CommonParameters>]

    Get-Help [[-name] <string>] [-component <string[]>] [-functionality <string[]>] [-role <string[
    ]>] [-category <string[]>] [-detailed] [<CommonParameters>]

    Get-Help [[-name] <string>] [-component <string[]>] [-functionality <string[]>] [-role <string[
    ]>] [-category <string[]>] [-examples] [<CommonParameters>]

    Get-Help [[-name] <string>] [-component <string[]>] [-functionality <string[]>] [-role <string[
    ]>] [-category <string[]>] [-parameter <string>] [<CommonParameters>]


DETAILED DESCRIPTION
    Displays information about Windows PowerShell cmdlets and concepts. You can also use "Help {<cm
    dlet name> | <topic-name>" or "<cmdlet-name> /?". "Help" displays the help topic one page at a
    time. The "/?" displays help for cmdlets on a single page.


RELATED LINKS
    Get-Command

REMARKS
    For more information, type: "get-help Get-Help -detailed".
    For technical information, type: "get-help Get-Help -full".

 


------------------------------------
Reply:

That's great, and thanks for listening seriously to our feedback!

I think the parameters themselves and their descriptions are pretty useful. It's the stuff afterwards that's extraneous. This stuff -

Parameter required?           false
Parameter position?           named
Parameter type                System.String[]
Default value
Accept multiple values?       true
Accepts pipeline input?       false
Accepts wildcard characters?  false

The different levels of verbosity will be great. You might want to keep the essential parameters in the unswitched help command as well, though, with just a quick line of description.

It's also good to see that the ubiqitous parameters have been removed from the SYNTAX section. Those just muddle things up, at least at the basic level.

I know you're Microsoft and all, but the format of Unix man pages would be a good place to start (it looks very much like they're an influence already). In a typical man page, you get a one-line description of the parameter, with further details further down the page, where necessary.

On the topic of man pages, a better pager than "more" would be really welcome! Something like "less".


------------------------------------
Reply:

I hear you.

The new help work gives you what you want.  Here is what you get when you ask for help -detailed:

PS> get-help get-process -det

NAME
    Get-Process

SYNOPSIS
    Gets the processes that are running on the local computer.


SYNTAX
    Get-Process [[-name] <string[]>] [<CommonParameters>]

    Get-Process -id <Int32[]> [<CommonParameters>]

    Get-Process -inputObject <Process[]> [<CommonParameters>]


DETAILED DESCRIPTION
    The Get-Process cmdlet retrieves a process object for each process. With
    he processes on the computer, as though you typed "Get-Process *". You c
    ocess name or process ID (PID), or by using the -InputObject parameter t
    e to Get-Process. For Get-Process, the default method is by process name
    y process ID.


PARAMETERS
    -name <string[]>
        Specifies one or more processes by process name. You can type multip
        se wildcard characters. The parameter name ("-Name") is optional.

    -inputObject <Process[]>
        Specifies one or more processes by passing their process objects. Yo
        s of one Get-Process command to another Get-Process command. If you
         you can use -InputObject to present the variable to Get-Process. Ho
         is not typed in the command. Instead, when you pass an object throu
        tes the passed object with the InputObject parameter.

    -id <Int32[]>
        Specifies one or more processes by process ID (PID). To specify mult
        o find the PID of a process, type "get-process".

    <CommonParameters>
        This cmdlet supports the common parameters: -Verbose, -Debug,
        -ErrorAction, -ErrorVariable, and -OutVariable. For more information
        type, "get-help about_ubiquitous_parameters".

    -------------------------- EXAMPLE 1 --------------------------

    C:\PS>Get-Process

    This command gets a list of all of the running processes running on the
    lumn, see Additional Notes in "Get-Help Get-Process -full."

 


    -------------------------- EXAMPLE 2 --------------------------

    C:\PS>Get-Process winword, explorer | format-list *

    This command gets all available data about the Winword and Explorer proc
    rameter to specify the processes, but it omits the optional parameter na
    ta to the Format-List cmdlet, which displays all available properties (*
    ts.

    You can also identify the processes by their process IDs. For example, "

 


    -------------------------- EXAMPLE 3 --------------------------

    C:\PS>get-process | where-object {$_.WorkingSet -gt 20000000}

    This command gets all processes that have a working set greater than 20
    ll running processes. The pipeline operator (|) passes the process objec
    s only the object with a value greater than 20,000,000 bytes for the Wor

    WorkingSet is one of many properties of process objects. To see all of t
    er". By default, the values of all amount properties are in bytes, even
    lobytes and megabytes.

 


    -------------------------- EXAMPLE 4 --------------------------

    C:\PS>$a = get-process

    get-process -inputobject $a | format-table -view priority

    These commands list the processes on the computer grouped by priority. T
    on the computer and stores them in the $a variable. The second command u
    process objects stored in $a to Get-Process. The pipeline operator passe
    hich formats the processes by using the "Priority" view defined in the P
    l home directory ($pshome).

 


REMARKS
    For more information, type: "get-help Get-Process -detailed".
    For technical information, type: "get-help Get-Process -full".

 

PS> get-help get-process -detailed

NAME
    Get-Process

SYNOPSIS
    Gets the processes that are running on the local computer.


SYNTAX
    Get-Process [[-name] <string[]>] [<CommonParameters>]

    Get-Process -id <Int32[]> [<CommonParameters>]

    Get-Process -inputObject <Process[]> [<CommonParameters>]


DETAILED DESCRIPTION
    The Get-Process cmdlet retrieves a process object for each process. Wit
    hout parameters, "Get-Process" gets all of the processes on the compute
    r, as though you typed "Get-Process *". You can also identify a particu
    lar process by process name or process ID (PID), or by using the -Input
    Object parameter to pass a process object through the pipeline to Get-P
    rocess. For Get-Process, the default method is by process name. For Sto
    p-Process, the default method is by process ID.


PARAMETERS
    -name <string[]>
        Specifies one or more processes by process name. You can type multi
        ple process names (separated by commas) or use wildcard characters.
         The parameter name ("-Name") is optional.

    -inputObject <Process[]>
        Specifies one or more processes by passing their process objects. Y
        ou can use this parameter to pass the results of one Get-Process co
        mmand to another Get-Process command. If you save the output of a c
        ommand in a variable, you can use -InputObject to present the varia
        ble to Get-Process. However, typically, the InputObject parameter i
        s not typed in the command. Instead, when you pass an object throug
        h the pipeline, Windows PowerShell associates the passed object wit
        h the InputObject parameter.

    -id <Int32[]>
        Specifies one or more processes by process ID (PID). To specify mul
        tiple IDs, use commas to separate the IDs. To find the PID of a pro
        cess, type "get-process".

    <CommonParameters>
        This cmdlet supports the common parameters: -Verbose, -Debug,
        -ErrorAction, -ErrorVariable, and -OutVariable. For more informatio
    n,
        type, "get-help about_ubiquitous_parameters".

    -------------------------- EXAMPLE 1 --------------------------

    C:\PS>Get-Process

    This command gets a list of all of the running processes running on the
     local computer. For a definition of each column, see Additional Notes
    in "Get-Help Get-Process -full."

 


    -------------------------- EXAMPLE 2 --------------------------

    C:\PS>Get-Process winword, explorer | format-list *

    This command gets all available data about the Winword and Explorer pro
    cesses on the computer. It uses the -Name parameter to specify the proc
    esses, but it omits the optional parameter name. The pipeline operator
    (|) passes the data to the Format-List cmdlet, which displays all avail
    able properties (*) of the Winword and Explorer process objects.

    You can also identify the processes by their process IDs. For example,
    "Get-Process -id 664, 2060".

 


    -------------------------- EXAMPLE 3 --------------------------

    C:\PS>get-process | where-object {$_.WorkingSet -gt 20000000}

    This command gets all processes that have a working set greater than 20
     MB. It uses the Get-Process cmdlet to get all running processes. The p
    ipeline operator (|) passes the process objects to the Where-Object cmd
    let, which selects only the object with a value greater than 20,000,000
     bytes for the WorkingSet property.

    WorkingSet is one of many properties of process objects. To see all of
    the properties, type "Get-Process | Get-Member". By default, the values
     of all amount properties are in bytes, even though the default display
     lists them in kilobytes and megabytes.

 


    -------------------------- EXAMPLE 4 --------------------------

    C:\PS>$a = get-process

    get-process -inputobject $a | format-table -view priority

    These commands list the processes on the computer grouped by priority.
    The first command gets all of the processes on the computer and stores
    them in the $a variable. The second command uses the -InputObject param
    eter to pass the process objects stored in $a to Get-Process. The pipel
    ine operator passes the objects to the Format-Table cmdlet, which forma
    ts the processes by using the "Priority" view defined in the PS1XML for
    mat files in the Windows PowerShell home directory ($pshome).

 


REMARKS
    For more information, type: "get-help Get-Process -detailed".
    For technical information, type: "get-help Get-Process -full".

 

Get-Help -FULL gives you the content you get today.

You can also do "Get-Help -Example" to get just the examples.

You can also ask for detailed parameter info on specific parameters:

PS> get-help get-process -parameter i*

-inputObject <Process[]>
    Specifies one or more processes by passing their process objects. You c
    an use this parameter to pass the results of one Get-Process command to
     another Get-Process command. If you save the output of a command in a
    variable, you can use -InputObject to present the variable to Get-Proce
    ss. However, typically, the InputObject parameter is not typed in the c
    ommand. Instead, when you pass an object through the pipeline, Windows
    PowerShell associates the passed object with the InputObject parameter.

    Required?                    true
    Position?                    named
    Default value
    Accept pipeline input?       true (ByValue)
    Accept wildcard characters?  false


-id <Int32[]>
    Specifies one or more processes by process ID (PID). To specify multipl
    e IDs, use commas to separate the IDs. To find the PID of a process, ty
    pe "get-process".

    Required?                    true
    Position?                    named
    Default value                null
    Accept pipeline input?       true (ByPropertyName)
    Accept wildcard characters?  false

10,000 thanks go to the Exchange team for sponsoring and driving the changes into V1.  It is a completely different feature due to them.

Jeffrey Snover [MSFT]
Windows PowerShell/Aspen Architect
Visit the Windows PowerShell Team blog at:    http://blogs.msdn.com/PowerShell
Visit the Windows PowerShell ScriptCenter at:  http://www.microsoft.com/technet/scriptcenter/hubs/msh.mspx


------------------------------------
Reply:

Great. You guys have done a great job with PowerShell. I'm really looking forward to using it more and more.

A little off topic, but will there be an SSH service built into Windows Server Longhorn? With all the new ability to do things from the command line, a quick method of accessing the CLI remotely would be really handy.


------------------------------------
Reply:
Jeffrey,

I'm a little puzzled. My excuse it's early in the morning and the first cup of coffee hasn't kicked in yet. :)

What's the difference in effect between

get-help get-process -det

and

get-help get-process-detailed

? The results I see seem to be the same (other than the red highlighting).

I am a little dubious about "detailed" as the parameter name. Somehow "detailed" for what, if I understand you correctly is not a fully detailed version of Help seems an inappropriate, and potentially misleading, term. What about "-summary" or "-summarized"?

I really like the new -parameter parameter for get-help.

A minor point - it seems odd to include in Remarks information that tells the user that they will get "more" information if they type "get-help get-process -detailed" since that's just what they've done. They won't get "more" information. Some term that's absolute not comparative would be better, I suggest.

But the newer Help layout looks a distinct improvement on what exists in the present public builds.

Andrew Watt MVP

------------------------------------
Reply:

> will there be an SSH service built into Windows Server Longhorn?

No.  A number of people have used WIndows PowerShell with existing SSH implemenations but there are no plans for Microsoft to deliver one as part of Windows. 

Remoting will be the major focus for our V1.1 release but no further details are available at this time.

Jeffrey Snover [MSFT]
Windows PowerShell/Aspen Architect
Visit the Windows PowerShell Team blog at:    http://blogs.msdn.com/PowerShell
Visit the Windows PowerShell ScriptCenter at:  http://www.microsoft.com/technet/scriptcenter/hubs/msh.mspx


------------------------------------
Reply:

The following are all equivalent to PowerShell:

Get-Help -Det
Get-Help -Deta
Get-Help -Detai
Get-Help -Detail
Get-Help -Detaile
Get-Help -Detailed

because each of these is an unambigious match.

Here is what you get if you try -de:

PS> get-help -de
Get-Help : Parameter cannot be processed because the parameter name 'de'
 is ambiguous. Possible matches include: -Detailed -Debug.
At line:1 char:9
+ get-help  <<<< -de

Thanks for the input on the command design.  We are pretty much locked for V1.

Jeffrey Snover [MSFT]
Windows PowerShell/Aspen Architect
Visit the Windows PowerShell Team blog at:    http://blogs.msdn.com/PowerShell
Visit the Windows PowerShell ScriptCenter at:  http://www.microsoft.com/technet/scriptcenter/hubs/msh.mspx

 


 


------------------------------------

Exchange Server 2007 Blogcast - Local Continuous Replication

One of the two new "log shipping" features in Exchange 2007 is called Local Continuous Replication.  In my blogcast at http://msexchangeteam.com/archive/2006/05/24/427788.aspx, you can see this feature in action.  Note that the video is high resolution and runs just over 21 minutes, so I recommend that you use the download link and play it locally on your PC in full screen.

Enjoy!

Error in Docs

I know the docs are beta as well but this section is marked as content complete.

Under the heading How to Register the Edge Transport Server SCW Extension the command given is:

scwcmd register /kbname:msexchangeedge /kbfile:%windir%\security\msscw\kbs\Exchange2007.xml

What it does not say is that even though SCWCMD can be run from C:\ in this case (beta 2 at least) you must run it from %systemroot%\System32 otherwise you will get an access denied error. 

 


Reply:
Thanks, Rodney.  I've forwarded this feedback to the topic owner to look into and fix as appropriate.

------------------------------------

Feedback on BETA2

I work with E12 since BETA1...

Today I installed BETA and I wanted to let you(the exchange team) know that I'm really impressed! You made an incredible progress...

My favorite feature is the parameter completion in the shell - I LOVE IT! Thanks for
implementing this!

Christian Schindler

Reply:

Thanks Christian, that's one of our favorite features too... BTW: did you know the tab completion is 100% user extensible? Check out the TabExpansion function: dir function:\tabexpansion | fl *

 Please keep the feedback coming on how we can improve things further! ~vivek


------------------------------------
Reply:

Wow! I didn't know that. I'll have a look at that...

Thanks!

Christian


------------------------------------

IE 7 Quick Fix for Vista Beta

Just read note about turning off protected mode in safe mode.  went in to internet options via the control panel and turned the freature off.  Windows threw a little tantrum at me discuraging me from changing this setting and actually asked if it could change the setting back.  Current setting does not allow internet browsing.  Other items like Messengers still function of course.  :-)

Reply:
i'm having the exact same issue. ever since i installed vista beta 2 (just after it came out), ie7 will only load a select few pages..sympatico.ca and google mainly. every other page loads half way, then it tells me to try offline mode or try again, at which point it just does nothing all over again. firefox works just dandy tho. can't figure it out. i've tried all the security settings and it just wont load webpages..even microsoft pages..go figure. anyone have a real solution?

------------------------------------
Reply:
Me too, but now most of the time it wont load anything, only the name of the website...its a real put off to usin vista
im using vista x64 RC1, still with same problem in beta 2 aswell, thought RC1 wud av fixed it, nope!

------------------------------------

How can extend windows vista v.5384 use

i just have a single 14 days of Vista Windows, as I can extend the use, since I am in stage of tests?

Reply:
Why have you not activated your copy? Then it will be good till next year.

------------------------------------
Reply:
Yup!

------------------------------------

No comments:

Post a Comment

Setup is Split Across Multiple CDs

Setup is Split Across Multiple CDs Lately I've seen a bunch of people hitting installation errors that have to do with the fact th...