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;
}
}
}
}
- Changed type Ed Price - MSFTMicrosoft employee Monday, May 11, 2015 5:20 AM
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
- Changed type Ed Price - MSFTMicrosoft employee Monday, May 11, 2015 5:20 AM
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.
- Changed type Ed Price - MSFTMicrosoft employee Monday, May 11, 2015 5:20 AM
How can I hide leaf level members of a ragged dimension ?
- Changed type Ed Price - MSFTMicrosoft employee Monday, May 11, 2015 5:20 AM
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
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:
------------------------------------
Reply:
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.
- Changed type Ed Price - MSFTMicrosoft employee Monday, May 11, 2015 5:21 AM
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!
- Changed type Ed Price - MSFTMicrosoft employee Monday, May 11, 2015 5:21 AM
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
- Changed type Ed Price - MSFTMicrosoft employee Monday, May 11, 2015 5:21 AM
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
- Changed type Ed Price - MSFTMicrosoft employee Monday, May 11, 2015 5:21 AM
I solved the problem..
Hey, everyone..
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,
- Changed type Ed Price - MSFTMicrosoft employee Monday, May 11, 2015 5:21 AM
How to avoid Diffgrams?
- Changed type Ed Price - MSFTMicrosoft employee Monday, May 11, 2015 5:16 AM
NAP is AWESOME
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:
- Use your internet connection to visit our web site at http://connect.microsoft.com.
- Please sign in using your passport account. You may need to create a passport account if you don't have one already setup.
- Click on "Available Connections".
- Scroll down to "Programs" and click on "MIIS – SAP Management Agent".
- 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
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:
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:
------------------------------------
Feedback on BETA2
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
Reply:
------------------------------------
Reply:
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
Reply:
------------------------------------
Reply:
------------------------------------
No comments:
Post a Comment