Wednesday, March 2, 2022

FIM 2010 assessment questionnaire

FIM 2010 assessment questionnaire

We have started working on a project where in we have to deploy FIM 2010. It looks like that it is a greenfield deployment. I will appreciate if anyone can please share some questionnaire to be asked from the customer as part of the due dilligence.

Thanks and Regards


Reply:
So, basically you're looking for another consultant/consulting firm to provide you their IP so that you can run off and attempt to do the project?

My Book - Active Directory, 4th Edition
My Blog - www.briandesmond.com


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

drop my an email if you need one.



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

Licensing - with all due respect...

I need air ... MS has a crazy policy for licensing SP - no offense!

I can buy an Internet license for around $39.200 for each server. – And the Anonymous End users visiting can even get their own MySite – but IF the end user is an employee at the company – the terms changes and I then need a CAL license for the End user!  

With 10.000 potential employed End users - that means I need 10.000 Standard CAL's at roughly 100 dollars each - that's $1.000.000 (one million) just for the CAL licenses !!!   

Not even going to think about the license cost if I have a standard edition on the LAN (CAL licenses) that are extended to both the DMZ (Extranet – partner web (also CAL's needed) and to the Internet (public faced home page – no CAL's.)

Ridicules..!  - No wonder that companies choose otherwise - and sad because it gives a "fragmented" system landscape in the company.   (I'm aware that I can install a SP Foundation that don't need CAL's as a Extranet and as a homepage...but this SPF lacks functionality.)    






Reply:

And your question is??

For such a larger enviroment MS will offer a discount for sure. From another point of view .. a company with 10000 users with a need to access SP2010 surely can spend 1$ mil for CALs, you just have to figure out how much profit will be generated thanks to SP2010 and better organization, communication etc. There are ROIs you have to think about, you are just thinking with bigger numbers.


Marek Chmel, WBI Systems (MCTS, MCITP, MCT, CCNA)
Please Mark As Answer if my post solves your problem or Vote As Helpful if a post has been helpful for you.


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

Did you check Office 365 Licences ? It can be interesting in your case


Serge Luca; SharePoint MVP ; blog: http://sergeluca.wordpress.com/ Devoteam Belgium. http://twitter.com/sergeluca


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

There's no Question as I stated initially - just needed to get some steam out!

Sure MS will make some discount - but I seriously doubt that it's enough compared to the Internet Edition licensing which can serve X users ! 

- why does the "employee" titel change this? - the employee can't do more than the Internet user!   < --- this is my "why"

Which profit and which ROIs are you referring to? - they aren't so apparent - it's just needed as a "basic" Communication platform to serve basic company information to the 10.000 end users.  

So plz tell me how I can "justify" a license cost in that price class, when I basicly can accomplish the same information level with an ordinary daily email or an open source system?     

@Serge - I've already looked into office365 - the price are more expensive as there are 4 different prices - and to have access to e.g. infopath services (as if you had on-premise enterprise edition) you need the largest account type an E4 at $27 pr. month  = 3,2 mill pr. year

From the estimate calculator:   

Estimated cost per month E3 plan: 218,400.00 USD

Estimated cost per month K1 (kiosk workers)36,400.00 USD







  • Edited by JmATK Tuesday, February 7, 2012 9:15 PM

------------------------------------
Reply:
Have you talked to a Microsoft rep about this? My understanding is that you can get Office 365 licenses for users who already have on-prem CALs. Is that not correct?

- cawood

 blog |  twitter


------------------------------------
Reply:
Hi Cawood 


Yes - I believe it's the other way around - if you get a 365 license - you get the enterprise CAL for your on-premise SP 

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

Delivery Relay Error

HI We are getting the following message when we send a mail. Read and delivery receipt is chekced and has to be checked.

"This is a automatically generated Delivery Status Notification.

Your message has been succesfully relayed yo the following recipients, but the requested delivery status norification may not be generated by the destination."

We are running a SBS 2003 server with exchange

Regards


Reply:
On Tue, 7 Feb 2012 15:33:41 +0000, ONE2ONESS wrote:
 
>
>
>HI We are getting the following message when we send a mail. Read and delivery receipt is chekced and has to be checked.
>
>"This is a automatically generated Delivery Status Notification.
>
>Your message has been succesfully relayed yo the following recipients, but the requested delivery status norification may not be generated by the destination."
>
>We are running a SBS 2003 server with exchange
 
The "next hop" server doesn't offer the "DSN" ESMTP keyword so DSNs
cannot be sent by it.
 
---
Rich Matheisen
MCSE+I, Exchange MVP
 

--- Rich Matheisen MCSE+I, Exchange MVP

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

Can I write in MSDN Blogs?

Hi,

 

I want to know can I write in MSDN blogs? or it is restricted to Microsoft employees?

if yes, so what is the blog posts part in point based recognition system ? it doesn't make sense.

 

Regards,


http://www.rad.pasfu.com

Reply:
At present you can not create a new blog if you're not a Microsoft employee, but you can comment and rate blogs and certain number of ratings/comments bring an achievement.
For every expert, there is an equal and opposite expert. - Becker's Law


My blog

------------------------------------
Reply:
You can also be contracted to Microsoft (you have a Microsoft email), which does include some MVPs, Partners, and MCCs, who are not direct employees.
Ed Price a.k.a User Ed, Microsoft Experience Program Manager (Blog, Twitter, Wiki)

------------------------------------
Reply:
At present you can not create a new blog if you're not a Microsoft employee, but you can comment and rate blogs and certain number of ratings/comments bring an achievement.
For every expert, there is an equal and opposite expert. - Becker's Law


My blog


Currently there are 6 achievement awards available to blog authors.

1 Bronze: New Blogger

2 Silver: Blogger II, Blog Conversation Starter

3 Gold: BLogger 3, BLog Party Starter, Blogs All Star


Ed Price a.k.a User Ed, Microsoft Experience Program Manager (Blog, Twitter, Wiki)

------------------------------------
Reply:
What is the point having a recognition system for blogging, when only Microsoft employees can blog?

Josh Ash


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

As Ed pointed, some MVPs, MCCs and Partners might have blogs (however the conditions are not clear for me). The people who you can see with these affiliations are not employees. You can find the list of currently available Profile Affiliations here.


-- Zoltán Horváth
-- MCITP SQL Server Business Intelligence Developer 2005, 2008
-- MCITP Database Developer 2008, Database Administrator 2008
-- Please mark posts as answered or helpful where appropriate.


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

As Ed pointed, some MVPs, MCCs and Partners might have blogs (however the conditions are not clear for me). The people who you can see with these affiliations are not employees. You can find the list of currently available Profile Affiliations here.


-- Zoltán Horváth
-- MCITP SQL Server Business Intelligence Developer 2005, 2008
-- MCITP Database Developer 2008, Database Administrator 2008
-- Please mark posts as answered or helpful where appropriate.


The condition being a Microsoft email.

Ed Price a.k.a User Ed, Microsoft Experience Program Manager (Blog, Twitter, Wiki)


------------------------------------
Reply:
What is the point having a recognition system for blogging, when only Microsoft employees can blog?

Josh Ash

It still applies to the purpose of the Recognition system... to show recognition for achievements in the community. It can be a motivating factor for the author and/or a way for a reader to see how well recognized/successful the author is.


Ed Price a.k.a User Ed, Microsoft Experience Program Manager (Blog, Twitter, Wiki)


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

Item in advance search dropdown not shown for other users

I have edited the xslt of the advance search and added an item to the property dropdown called "TEST"

The TEST item is shown when I am logged in as System Account but when I change user (Owner) I am not able to see this TEST in the dropdown.

How will I solve this?


----------------------- Sharepoint Newbie


Reply:

Is your page checked out?  If it's checked out, the page with the changes will be visible to only the person that made the changes.  You have to check in the file.

If approval is required, you will also need to approve it.

Serge


Serge Tremblay MVP SharePoint


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

Does your page lubrary (the library your search page is residing) has Publishing approval turned on. It appears your page is either in Draft state or PEnding approval.

Once you publish the page and approve it, other users should be able to see it, after that.


Varun Malhotra



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

It was not published when I checked it out. thanks!


----------------------- Sharepoint Newbie


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

How to use transaction at package level (transfersqlserverobjectstask) on a server machine..??

Hi

I am new to ssis.. i implemented a package which transfer the data between the two data bases on same sql server instance..

I need the transaction at package level. For that i placed the transactionoption = required . When i placed this option it is getting failed and giving the message

Error: 0xC002F319 at Transfer SQL Server Objects Task 1, Transfer SQL Server Objects Task: This task can not participate in a transaction.

Information: 0x4001100C at Transfer SQL Server Objects Task 1: Aborting the current distributed transaction.

What is the reason for getting fail due to this option and any settings needed for that in DTC(Distributed Transaction Control) which was already running on my system.Note: i am using virtual machine..thanks in advance

SUNIL PARISI


Reply:

The error is quite clear: you cannot enable transactions on the Transfer SQL Server Object Task.

http://social.msdn.microsoft.com/Forums/en/sqlintegrationservices/thread/368ee5da-db95-48a8-a445-c9dce5dacc81


MCTS, MCITP - Please mark posts as answered where appropriate.
Answer #1: Have you tried turning it off and on again?
Answer #2: It depends...


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

Hi Koen,

I am using "TransferSqlServerObjectstask" in my package to transfer data between the two databases on same sql server instanace.

After the exection of my package the data transferred will be persist state..(like commit)

please help me in this ...

Thanks


SUNIL PARISI


------------------------------------
Reply:
Why are you using the Transfer SQL Server Objects Task to transfer data instead of the dataflow task?

MCTS, MCITP - Please mark posts as answered where appropriate.
Answer #1: Have you tried turning it off and on again?
Answer #2: It depends...


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

Hi Koen,

I need to transfer a number of tables from one data base to another data base ...where those tables are need to give in a list ..

In the transfersqlserverobjects task i have that option which will copy the data without copying the schema...

thanks

 


SUNIL PARISI


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

SPGridView & GridView

I can see that SPGridView is inherited from GridView.  

Can I use GridView instead of SPGridView ??

What is the reason/advantage to go with SPGridView if GridView does my work ?? ie.,, any particular SP level advantage (like it is faster, or optimised.... )  ??


Reply:

You could certainly use GridView if it suits your requirements. One of the most visible advantages to using the SPGridView is it renders css classes and styles that match those of list views - not exactly but almost, as well as more easily allowing the addition of dropdown action menus - similar to the menu usually displayed on the title column in a list view. These are certainly two of the things I have seen that the asp.net GridView control does not do without writing a lot of code, which the SPGridView has already done.

Hope this helps

Stuart


Read my wiki at www.intheknow.it for more code and tips for developing with SharePoint 2007 & 2010
Twitter: @starznet

Technical Architect at Starznet Ltd. WSS/MOSS development and customisation with a primary focus on CMS.


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

SPGridView is the gridview control customized to some extent to be used easily in sharepoint. But that doesnt mean Gridview should not be used.

If gridview works for you there is no need to substitute it for SPGridView as SPGridview doesnt give you any extra perfromance boost .. :)


Varun Malhotra


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

Padrão arquitectónico MVC no desenvolvimento de aplicações na Windows Phone Application Platform, com a framework XNA.

Olá a todos,
Eu sou o Rafael Mota, aluno da Licenciatura em Engenharia Informática da Universidade de Trás-os-Montes e Alto Douro, e no âmbito de um trabalho proposta na unidade curricular de Metodologias de Programação III, gostaria de participar neste fórum de discussão/comunidade prática.

Foi-meproposto um desafio que consiste em enquadrar esta arquitectura na framework XNA.

Assim wendo pediriamos a vossa colaboração em partilhar alguma informação, vantagens e desvantagens destes 3 aspectos MVC, WP e XNA e coloco também esta questão: quais são as partes do XNA que pertencem à View, ao Model e ao Controller?

Obridado pela atenção.

Translation

Hello all, I am Rafael Mota, a student of Bachelor in Computer Engineering from the University of Tras-os-Montes and Alto Douro, and within a proposed work on Methodologies Course Schedule III, would like to participate in this discussion forum / community of practice . He was meproposto a challenge to fit this architecture in the XNA framework. Wendo So we would ask for your help in sharing some information, advantages and disadvantages of these three aspects MVC, WP and XNA and also put this question: what are the parts that belong to the XNA View, the Model and Controller?
  • Moved by Reed Copsey, JrMVP Monday, February 13, 2012 9:07 PM Off topic (From:Visual C# General)
  • Edited by Mr. Wharty Friday, June 1, 2012 1:32 PM Translation

profile pictures become very blurry when they are uploaded in SharePoint 2010

profile pictures become very blurry when they are uploaded.
please help.

Reply:

You can upload a picture of any dimensions and size … however SharePoint and Office have some images sizes that work best in the UI and SharePoint provides some help to get all your pictures resized to 3 sizes it needs. 96x96 is the largest optimal profile picture size.

SharePoint provides a powershell command to automatically resize all your profile pictures for you.

Example, resizing profile pictures to optimal resolutions:

Update-SPProfilePhotoStore –MySiteHostLocation "http://intranet/my/"

This command will take a look at every users profile picture and will do two things:

Re-Size the photo into the 3 optimal sizes and save them in SharePoint
Set the users profile property to the newly resized photo

Now you should have great looking photos in SharePoint.  Additional tip for getting great photos … make sure you start with a square image.  That way you make use of the optimal viewing window for profile pics in SharePoint.

 


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

Unique username in Portal and MV

Hi,

We have a single forest with 2 domains (parent & child). We will be using FIM to move data from AD to other connected systems, includng the FIM Portal.

The unique anchor will be 'employee ID' across the forest; however there is a high probability that the some usernames might be the same in both domains.

Would these duplicate usernames cause any potential issues in the MV or FIM Portal?

Must the 'username' attribute in the Portal and/or MV be unique?

Thanks,

SK

PS. when I try to recreate a user with the same 'username' in the Portal, it fails.


  • Edited by D Wind Tuesday, February 7, 2012 10:02 AM

Reply:

Found this http://technet.microsoft.com/en-us/library/ff519007(WS.10).aspx

Domain and AccountName combination must be unique across all the resource instances. When the Domain attribute does not exist for a resource type, the AccountName attribute must be unique across all the resources in the FIM system. When the AccountName attribute does not exist for a resource type, the uniqueness rule does not apply to the Domain attribute. This is because when a value is not present, it does not qualify as a unique value. When a custom resource type only has Domain as an attribute, but not AccountName as an attribute, the rule does not apply. When a custom resource type only has an AccountName as an attribute, but not Domain as an attribute, the rule does apply among all the AccountName instances without Domain.

So the way I read this is:

'AccountName' can be the same, as long as the 'Domain' attribute is different.

Do you agree?

  • Edited by D Wind Tuesday, February 7, 2012 10:12 AM

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

well yes... as long as domain is not null. If the domain is null or not present different rules apply.

If each entry has non-null samaccountnames and domains then what you say is Ok.

Now, if the objectSids happen to be the same for say myDomain\myAccount and yourDomain\myAccount I am not sure what the Portal will do!


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

Thank you Harold - with a parent/child domain in a single forest I doubt whether the objectSID will be the same.

regards


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

Passing multivalued string into WorkflowData

Is it possible to pass a multi-valued string attribute to WorkflowData parameter (to be later used in a custom workflow activity)?

I have passed multiple single-valued strings into a single WorkflowData parameter in Function Evaluator but it seems a multi-valued string cannot be passed into WorkflowData. Is this unsupported or is there a way to doing this with or without coding? If there is coding are there any samples or docs out there? Thanks.


Anu

Reply:

up

Same problem.

Regards.

Luka.


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

WorkflowData or WorkflowDictionary as it is called when working on it from within a workflow is a dictionary of objects but with a string key and an object could be anything, even a collection or array of strings.

Example:

Key(string):Item1|Value(string):value1
Key(string):Item2|Value(bool):value2
Key(string):Item3|Value(string array):value3
etc.

Using the Function Evaluator I'm afraid you can't add a multivalued value to the dictionary but to be honest I'm not sure, maybe it works but you've failed to extract the value in the correct datatype.

Working directly with the WorkflowDictionary in a custom activity is simple...

You need to get the current instance of the running workflow, this is where the WorkflowDictionaryis hosted and I usually add this as a property to my activities so that it's always easy to get to.

 

  private SequentialWorkflow ContainingWorkflow  {   get   {   SequentialWorkflow containingWorkflow;   if (!SequentialWorkflow.TryGetContainingWorkflow(this, out containingWorkflow))   throw new InvalidOperationException("Unable to get Containing Workflow");     return containingWorkflow;   }  }  
To add a value to the WorkflowDictionary you do like this.
  ContainingWorkflow.WorkflowDictionary.Add("MyKeyString", "A string in this case but could be an object of any type");  

To add an existing multivalued attribute you'll have to look up that value using a ReadResourceActivity so lets say we have a multivalued string on a person resource named ProxyAddressCollection that we wish to write to a WorkflowDictionary Item then we need these activities within our workflow.

[CodeActivity1 for initializing ReadResourceActivity]
[ReadResourceActivity for reading ProxyAddressCollection from resource]
[CodeActivity2 to get value from ReadResourceActivity and write it to WorkflowDictionary]

To initialize the the ReadResourceActivity we use this code in the method called by CodeActivity1, this code will initialize the ReadResourceActivity to read the ProxyAddressCollection attribute from the target resource of the current workflow instance (hopefully a person resource)

  private void ReadResource_Initialize(object sender, EventArgs e)  {   // Get the resource that is target of the workflow instance.   ReadResourceActivity.ResourceId = ContainingWorkflow.TargetId;      // Specify the attributes to get from resource.   ReadResourceActivity.SelectionAttributes = new string[]{"ProxyAddressCollection"};  }  
After the CodeActivity1 has executed the code above the ReadResourceActivity will execute and after that we need to take care of the results of the ReadResourceActivity and write it to WorkflowDictionary.
  private void ReadResource_Read(object sender, EventArgs e)  {   // Make sure resource is available.   if(!ReadResourceActivity.Resource is null)   {   // Get ProxyAddressCollection from resource.    var proxyAddressCollection = ReadResourceActivity.Resource["ProxyAddressCollection"].Value;     // Write ProxyAddressCollection to WorkflowDictionary.   ContainingWorkflow.WorkflowDictionary.Add("ProxyAddressCollection", proxyAddressCollection);   }  }  


Done! :-)

//Henrik

 


Henrik Nilsson, Forefront Identity Manager MVP Blog Twitter My employer - Cortego

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

yes, correct.

Anyway in my case I need to read all cost center which have xxx manager.

And add costcenter information to workflowdata as multivalue to add this info to mail (with carriage return :(  that is show cost center as list)

Anyway this is another problem.thanks for support

Regards.

Luka.


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

you can store multi-valued string attributes in WorkflowData. simly use

ContainingWorkflow.WorkflowDictionary.Add("keyname", List<String> objectName)

but you can't use such WorkflowData items in builtin function evaluator - you need a custom WF activity to work with multivalued attributes.


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

Complete newbie here.

 

How do you replace a Dictionary item then?

 

Lets say my WF has set  2 Parameters //WorkflowData/myCostCenter and //WorkflowData/myAccountCode with default values in the first Activity.

Now we drop into my Custom Activity which reads the Request and makes decisions based on (request) operation and attribute values.

For arguments sake, my Custom Activity should set myCostCenter to xxx instead of the default, but the default value of the AccountCode is fine.

And in my Sync rule in the 3rd activity of the WF I am refering to $myCostCenter and $myAccountCode

 

Is this how to do it??

 

ContainingWorkflow.WorkflowDictionary.Replace("myCostCenter", "xxx");

 

I would hope that this: ContainingWorkflow.WorkflowDictionary.Add("myCostCenter", "xxx") would bomb out as the key already exists or does the Add method simply overAdd and Replace the existing key/value pair?

 

Where might I find any documentation on this?

 

 

 

 

 


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

I have approached the problem in exactly the same way as you have done ... I even use the Function Evaluator sometimes to set the default value of a WorkflowData variable.  I then go about overriding it for both single and multi-value target bindings ...

In my code I have a variable "updateMode" which I default to Microsoft.ResourceManagement.WebServices.WSResourceManagement.UpdateMode.Modify.

I then use a convention whereby if I have specified a "+" or "-" prefix in my custom workflow parameter for my target binding, then I replace this with UpdateMode.Insert or UpdateMode.Remove accordingly.  I then use this variable to initialize my UpdateRequestParameter object.

The above approach works well, with the following down-side ... in the MPR you need to enable the MODIFY checkbox to support it (FIM thinks you should only ever need ADD and REMOVE for multi-value bindings), and warns you about keeping the MODIFY checkbox on when you save your MPR.  Everything works fine other than that ... I suspect my problem here is defaulting the value to MODIFY instead of ADD for a multi-value attribute, but then I couldn't specify multiple values for my target binding (which also works for me).


Bob Bradley (FIMBob @ http://thefimteam.com/) ... now using Event Broker 3.0 @ http://www.fimeventbroker.com/ for just-in-time delivery of FIM 2010 policy via the sync engine


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

Thanks... but a bit of Eugene's code sorted the problem out for me. The workflowdictionary is just a hash of objects.  Replacing was just as simple as

ContainingWorkflow.WorkflowDictionary["myCostCenter"] = "xxx";

I have only been playing with FIM for a couple of weeks but I see no problems passing multi-values as a single string type Workflow parameter as long as they are delimited and the code part can "split" them into an array and reassign the parameter.


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

Transfering SBS 2011 from VMware to HyperV

Hi, I have VM SBS 2011. I have two HP DL 380 G6 servers and SBS 2011 is on one of those G6 servers which has VMware Server 2.0 installed. Since VMware can dedicate max 8 GB of ram and just 2 CPU I want to transfer VM to second G6 server which has Hyper V installed so I can dedicate more memory and CPU. So I copied VM, I changed virtual hard drive with Vmdk Converter I created new virtual machine in Hyper V and I configured converted HDD as a primary HDD. Everything went without any error. But when I start VM, it won't show desktop. Just SBS console. Can someone help me if there are some steps that must be performed in order to convert SBS 2011 from VMware to HyperV.

And after conversion what I need to do ? I would probably need to reenter activation key, start connect to internet wizard, reaplay certificates. Anything else ?

Thanks 


Reply:

I'm actually a little surprised it didn't just come up, but then I've been moving some VMs between VMWare Workstation and HyperV recently and was just as surprised to hit a problem with an 03 Server (just a text box actually that I was sure would move easily.

If you didn't, I suggest trying removing the VMWare tools/drivers from the original before you shut it down to do the copy/conversion of the vmdk/vhd.

If that doesn't help the next thing I would try is what really boils down to 'testing your disaster recovery strategy', take a full backup (using SBSBackup) and restore into HyperV.

If you're still stuck maybe backup and restore using one of the 3rd party backup programs with 'hardware independant restore' features is worth trying. Personally I like the less expensive Macrium Reflect which server version includes 'Redeploy'. Acronis, ShadowProtect, and these days I think even BackupExec(hack ptoooi), have similar facility.

or maybe give up and put ESX on the alternate box.

Another alternative you may wish to try is connecting the VHD to another Windows Server 2008 R2 installation, editing the registry directly to force use of the standard video driver. Basically, the changes made by the various backup products just insert/enable various drivers. Theory suggests it can be done manually. 


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

I didn't install VMware tools because I had some problems with rebooting and freezing during the testing period . So I will try to use backup, but unfortunately I  have a problem since I installed SP1 backup isn't working. I have USB external HDD , and somehow VM doesn't want to recognize USB device. It is plugged in physically and in VMware server as a setting for a VM, auto connect is enabled , but still external USB device is not listed in disk management...


------------------------------------
Reply:
VMWare USB passthrough is _known_ not to work 100%.

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

Post a thread URL here if you came across a question which has been Marked as an "Answer" Wrongly by a Moderator or by OP himself

Part I :

Post a thread URL here if you came across a question which has been Marked as an "Answer" Wrongly by a Moderator or by OP himself

I am starting this thread as currently we are getting these issues at "Forums Issues (not product support)" Forum that Moderators are making mistakes in marking "Answers" which i personally don't agree. But for those community members who think that's the case they can put those threads URL here, so other Moderators / Administrators can benefit from it.

I want community members to participate in this to make the experience better for everyone. Looking forward for your help in this.

Thanks, Hasham



  • Edited by Hasham Niaz Friday, December 30, 2011 6:20 AM correction

Reply:

Ok, i will start:

This post has been marked as answer by a moderator, but in fact it is wrong like i have written in my post which also had been marked wrongly as the answer.

Don`t get me wrong by posting here. I think that the modeartors most of the time do an excellent job. I also agree with marking posts as answer because very often the op won`t come back to mark as answer. Most of these op`s are new forum users.

So usually if they leave a comment like "thanks this helped me" i often post a notice about marking as answer and the advantage for other users ( using the search and find the "Answered Question" tags ). And no, we don`t need to talk about the search of the forum ;-)


Hannes

If you have got questions about this, just ask.

In a perfect world,
users would never enter data in the wrong form,
files they choose to open would always exist
and code would never have bugs.

C# to VB.NET: http://www.developerfusion.com/tools/convert/csharp-to-vb/

------------------------------------
Reply:
I agree with you on this thread (BTW, took me a bit while to figure this out). 
For every expert, there is an equal and opposite expert. - Becker's Law


My blog

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

Hasham,

so what is happening now ? I just checked the thread and still my post and the wrong one still are marked as answer.


Hannes

If you have got questions about this, just ask.

In a perfect world,
users would never enter data in the wrong form,
files they choose to open would always exist
and code would never have bugs.

C# to VB.NET: http://www.developerfusion.com/tools/convert/csharp-to-vb/

------------------------------------
Reply:
Another week later still no reply. I guess i shouldn`t have posted here.
Hannes

If you have got questions about this, just ask.

In a perfect world,
users would never enter data in the wrong form,
files they choose to open would always exist
and code would never have bugs.

C# to VB.NET: http://www.developerfusion.com/tools/convert/csharp-to-vb/

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

http://social.msdn.microsoft.com/Forums/en-US/worddev/thread/c1a015cd-8b26-4f13-8155-690ad978a06f/

I posted the question as I was leaving work.  I open my email over breakfast the next morning and not only found replies, but Cindy Meister had marked them as answers before I even had a chance to view them.  I thought I had the right to determine if a reply answered my question!  Was I supposed to get up in the middle of the night and drive to the base to check my answer before it was considered abandoned?



Edward R. Joell MCSD MCDBA

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

Heslacher;

As I understand it from the comment of this thread's creator on my original thread complaining about this issue ( http://social.microsoft.com/Forums/en-US/reportabug/thread/fb6c21b5-b634-440a-8de5-9b28191d26b0 ),  the purpose of this thread is to alert (and prove to some) moderators on those occasions when threads are wrongly marked as answers to that they can address the situation on the large scale not to fix each case where this has been done.  I hope they are compiling notes on how often this takes place and who does it.


Edward R. Joell MCSD MCDBA
  • Edited by joeller Friday, January 20, 2012 3:20 PM corection

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

Hi All,

I posted this thread and ended up finding the answer to it myself.  But, then, the Moderator marked someone else's additional comment to my answer response as the answer.


Sonny
  • Edited by Sonny T Friday, January 20, 2012 3:39 PM

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

This one is not really the moderator's fault.  I found this thread

http://social.msdn.microsoft.com/Forums/en/sqlreportingservices/thread/3d0769d9-9ee0-4ad9-bec2-0eaa5ef83dc2

where the reply marked as the answer by the moderator had provided a file (probably an image) showing the answer.  But there is no image there any longer, only a red x.

So the marked answer says "This is the answer" then there is a big blank.


Edward R. Joell MCSD MCDBA

------------------------------------
Reply:
I still see a picture in that reply fine. Try opening that thread in another browser.
For every expert, there is an equal and opposite expert. - Becker's Law


My blog

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

This one shows the person answering did not completely read or failed to understand the orignal post and gave a totally fallacious answer, (which I proved was wrong by trying it), which was marked as answered by someone other than the original poster since he found his own solution. http://forums.asp.net/t/1576516.aspx/1


Edward R. Joell MCSD MCDBA
  • Edited by joeller Thursday, January 26, 2012 2:34 PM Spelling

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

On this thread the answerer proposed his reply as an answer before I even had a chance to view it.  And in fact the answer showed that he did not read the original post.

http://social.msdn.microsoft.com/Forums/en-US/servervirtualization/thread/c79fee20-8065-4724-964f-8adac4953ec1


Edward R. Joell MCSD MCDBA

------------------------------------
Reply:
Another week later still no reply. I guess i shouldn`t have posted here.
Hannes

If you have got questions about this, just ask.

In a perfect world,
users would never enter data in the wrong form,
files they choose to open would always exist
and code would never have bugs.

C# to VB.NET: http://www.developerfusion.com/tools/convert/csharp-to-vb/

This thread creates a problem. The problem is that each one of these issues requires digging up the Moderators of the specific forum in order to reach a conclusion. Hasham is a volunteer and can't support such tasks.

The idea is that the Moderators will find this thread somehow, but that's very unlikely. Personally, I'm going to focus on what I think is the bigger problem... making sure the forums have a healthy community/group of active Moderators.


Ed Price a.k.a User Ed, Microsoft Experience Program Manager (Blog, Twitter, Wiki)


------------------------------------
Reply:
I still see a picture in that reply fine. Try opening that thread in another browser.
For every expert, there is an equal and opposite expert. - Becker's Law


My blog

Sorry Naomi.  The Navy only installs IE 7 on its machines and does not give users rights to install anything else.  Since I am accessing thread at work, it is what it is.

Edward R. Joell MCSD MCDBA


------------------------------------
Reply:
But in many instances, the problem is that the moderators are in fact overly active.  Sometimes if a thread is allowed to perculate, a valid answer will be found and posted by someone else that had the same problem.  In many case even when the original questioner has moved on, someone else with the same problem comes along and sparks interest anew which can result in an answer.  I've seen this many times on the SharePoint forum  and on ESRI's GIS forums.  But when you terminate a thread by marking it incorrectly as answered, anyone else researching the problem will waste time attempting that erroneous solution, only to get frustrated when it doesn't work.  For years I stopped even looking at Microsoft Forums (particularly ASP.Net) because it seemed like every answer I found was wrong and I could only get valid responses from Experts Exchange.  When Experts Exchange started charging for the privilege of reading their answers I came back to the MS forums.

Edward R. Joell MCSD MCDBA


  • Edited by joeller Tuesday, February 7, 2012 7:28 PM Completion

------------------------------------
Reply:
In such cases, it may depend on the moderator. He/she can unmark the original reply and mark new one, but this is unlikely situation to happen. I can tell for myself and a few other moderators I know that we do mark newer replies on the older threads as answers when it's clear it's an answer. I don't necessarily unmark original answer unless it's completely wrong.

For every expert, there is an equal and opposite expert. - Becker's Law


My blog


------------------------------------
Reply:
 I don't necessarily unmark original answer unless it's completely wrong.
And those wrong answers are why we have this thread.

Edward R. Joell MCSD MCDBA


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

Bank of America looking for a full-time Windows Identity FIM Engineer

If interested, please visit our careers site @ http://careers.bankofamerica.com/overview and apply to Job ID # 1200005802. Location is flexible across the United States.

Bank of America looking for a Windows Identity FIM Engineer

If interested, please apply via our website @ http://careers.bankofamerica.com/overview/overview.asp and apply to Job ID # 1200005802.

Project approved hours by FY

My organization is implementing EPMS and has some unique requirements. One of them is capturing approved hours for a project by fiscal Year in which resources are then assigned against.

Placing this in custom field would require multiple entries. I suppose a task custom field and baseline approach would be a method but we could only protect 5 baselines.

My question is how to implement this?

Thanks

Ken

SAP Email Export Error

Hi Experts,

 We are exporting the email from fim to SAP and while exporting the email we are getting the following error any help would be appreciated.

Error:-Microsoft.MetadirectoryServices.EntryExportException: Microsoft.MetadirectoryServices.ERP.SAPAgentException: An error was thrown from target SAP System: '055:Fill in all required entry fields'
   at Microsoft.MetadirectoryServices.ERP.SAPBindingAgent.EvaluateAndThrowInvokeError(FunctionDef function)
   at Microsoft.MetadirectoryServices.ERP.SAPBindingAgent.InvokeBapi(Boolean ignoreRuntimeErrors, Boolean commitWork)
   at Microsoft.MetadirectoryServices.ERP.SAPBindingAgent.InvokeBapi()
   at Microsoft.MetadirectoryServices.ERP.SAPMA.RunExportOperation(CSObjectType currentObj, Operation currentOperation, Hashtable aliasTable, String[] currentchangedAttributes, CSEntry currentCSentry)
   at Microsoft.MetadirectoryServices.ERP.SAPMA.ExportEntry(ModificationType modificationType, String[] changedAttributes, CSEntry csentry)
   at Microsoft.MetadirectoryServices.ERP.SAPMA.ExportEntry(ModificationType modificationType, String[] changedAttributes, CSEntry csentry)

 

Thanks



Reply:

Hi Experts,

  Finally I did it. i followed the following steps.

 1) Remove the BAPI_PERSDATA_CHANGE from the replace operation.
  2) Remove the Log File which i am creating while exporting to the ERPMA.

3). Mapping of ValidityEnd and ValidityStart with emailEndDate and emailStartDate

Working Fine.

Thanks

Deepak



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

What is the limitation of Alternate Access Mappings for SharePoint Site?

I think we can have 5 public URLs for a specific sharepoint as there is limitation of 5 zones for a sharepoint site.

Amalaraja Fernando,
SharePoint Architect
This post is provided "AS IS" with no warrenties and confers no rights.


Reply:
I have been implementing Sharepoint for quite a few time but havent come across any place where you need more than 5 public urls. I dont think this should be considered as a limitation

Sahil


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

I've had situations where we've used all 5 zones, mostly due to authentication methods and specific requirements in regards to security and lockdowns (i.e. deny all requests to the _vti dirs in one exposed zone).

That being said, you can have multiple Internal AAMs that al resolve to a specific zone's load balancer URL.  Typically what I've seen with large farms is that with the default sharepoint site all Server names and IPs are AAM'd to the zone, which allows an admin or NOC to quickly monitor each individual WFE to determine if there are issues, or if something appears off on one server and not the other (possibly due to a failed .WSP deployt to one of the servers).  There are of course monitoring tools out there to do similar, but sometimes for the support level 1 it's just easier to click a bookmark to determine if all 5 WFEs are up or if one is having issues without having to deal with overhead of tools like SCOM (or SCCM as it's called these days).


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

create different support groups with rights etc

Hi, hope this is the right group. I would like to implement a 3 tier support level with in the organisation. Anyone got any pointers.white papers on setting this up. ?

Thanks

Joe.


Thanks - Joe.


Reply:

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

Tricks for nested loops

anyone have any nifty trick for nested loops?
 
$alpha = "a","b","c"
$num = 1,2,3
 
foreach($a in $alpha)
{
foreach($n in $num)
{
write-host $a$n
}}
 
oneliner anyone?
 

Justin Rich
http://jrich523.wordpress.com
PowerShell V3 Guide (Technet)
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
  • Changed type Anders_Wang Monday, February 6, 2012 4:48 AM

Reply:
$alpha |% {foreach ($n in $num){'{0}{1}' -f $_,$n}}
[string](0..33|%{[char][int](46+("686552495351636652556262185355647068516270555358646562655775 0645570").substring(($_*2),2))})-replace " "

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

One-liner nested loops should be considered an abomination. Sorry, did I use my outside voice? ;-)

that said, one useful thing (not sure if it is qualifies as a "trick") is indentation:

   $alpha = "a","b","c"  $num = 1,2,3     foreach($a in $alpha)  {   foreach($n in $num)   {   write-host $a$n   }  }  


Another useful thing is to limit the level of nesting. I'd suggest that two levels can be readable, three sometimes acceptable, but four is getting a bit much. YMMV, of course.

The most obvious way to limit deep nesting is to move the inner loops into a separate function or script. Of course, it's not great to create functions just to contain your otherwise unmanageable code...

In some cases, the implied complexity of the excessive nesting could cause you to look for a completely different approach. I don't know of any specific "tricks" one could apply in the general case. Where this can be done it is likely the result of some factor in the problem space that makes it possible.

If you are thinking of the particular pattern-generating example, I expect some regex afficionado will be able to supply a one-liner that includes zero loops...

 


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

 <snip>

If you are thinking of the particular pattern-generating example, I expect some regex afficionado will be able to supply a one-liner that includes zero loops...

 


Freakishly prophetic, Al... However, I still see loops.

------------------------------------
Reply:
you're thinking script, im thinking day to day working :)
 
just need to remove data stores from a bunch of VM hosts...
 
several hosts, several datastores... nested loop.... easy enough to type
out, but if I can create a short hand habit for day to day work, why not?
 
 

Justin Rich
http://jrich523.wordpress.com
PowerShell V3 Guide (Technet)
Please remember to mark the replies as answers if they help and unmark them if they provide no help.

------------------------------------
Reply:
that's like this
 
$alpha | %{$t = $_; $num | %{write-host $t$_}}
 
decent way to do it indeed
 
 

Justin Rich
http://jrich523.wordpress.com
PowerShell V3 Guide (Technet)
Please remember to mark the replies as answers if they help and unmark them if they provide no help.

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

Sorry, I have difficulty trying to not think script - but that doesn't mean I'm not working too... ;-)

Well, okay, I'm having fun at the same time. I guess it is up to you as to how you approach your work, with those short hand habits. But maybe if you find it that much of a drudge, you might have more fun doing your work if you did more of it by scripting.

That is, I assume that when you said "day to day working" you kind of equate that with "work, not fun". More likely, you enjoy typing those short hand solutions at the prompt... ;-)

 


------------------------------------
Reply:
I've been scripting powershell for a while, and that is fun in its own way,
but what I find to be really fun is to be able to very quickly write a one
liner that will get the task done... it's a different way of thinking, as
this thread shows... its not a matter of readability or best practice, its
just a matter of how quickly (few keystrokes) it can be done...
 
yes, I could write small functions, and I do for some things, but then I
have to remember that I made them and how to use them.... silly problem to
have, but I do a lot of things rarely, so sure the code is good to keep, but
its used so rarely I'd likely forget about it anyways... its better to build
habits that allow me to do whatever I need to do as quickly as possible...
 
this is for removing data stores from my ESX environment... its unlikely I'd
do it ever again... once the datastores are setup correctly, they just arent
really touched.
 
 

Justin Rich
http://jrich523.wordpress.com
PowerShell V3 Guide (Technet)
Please remember to mark the replies as answers if they help and unmark them if they provide no help.

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

Not exactly the same (outputs object) but adding '| write-host' at the end would do the whole trick:

$num | echo -i { $alpha -replace '$',"$_" }


EDIT: looks like I did it other way around...? :)

$alpha | echo -i { $num -replace '^',"$_" }

That's closer to the original I guess.. ;)


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

This is one of those cases where the distinction between a "script" and a "one liner" seems kind of arbitrary.  You can make the "script" a "one-liner" by just taking out the line breaks.

 

 foreach($a in $alpha){foreach($n in $num){write-host $a$n}}

 


[string](0..33|%{[char][int](46+("686552495351636652556262185355647068516270555358646562655775 0645570").substring(($_*2),2))})-replace " "

  • Edited by mjolinor Friday, February 3, 2012 9:37 PM

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

You can move blocks of code around without making functions by just using script blocks:

$alpha = "a","b","c"
$num = 1,2,3

$loop = {foreach($n in $num){write-host $a$n}}
 
foreach($a in $alpha){&$loop}

 


[string](0..33|%{[char][int](46+("686552495351636652556262185355647068516270555358646562655775 0645570").substring(($_*2),2))})-replace " "

------------------------------------
Reply:
"a","b","c" | % { $a=$_; 1,2,3 | % { write-host $a$_ }}

------------------------------------
Reply:
its not arbitrary at all... as we've talked about before there are 3 types
of powershell users/situations... admin/scripter/dev (C#)
 
I typically associate the oneliner with the admin, ie how small can I make a
single cmd to get the job done...
 
the nested loops is something that comes up often enough that I'd like to
ingrain the quickest method possible...
 
$var1 | {$temp = $_; $var2 | %{stuff $temp $_}}
 
I feel that is probably the shortest form of a nested loop.... wanted to see
if anyone else had a quicker way... some nifty powershell trick I wasn't
aware of...
 
I've never do that in a script... don't think the complexity (readability)
is worth it...
 
 

Justin Rich
http://jrich523.wordpress.com
PowerShell V3 Guide (Technet)
Please remember to mark the replies as answers if they help and unmark them if they provide no help.

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

Okay I misunderstood. That's probably the shortest method to use syntactically. 

It's about 7 characters shorter to type out than the foreach loop.  The advantage drops to just 4 keystrokes if you let tabclompetion finish the foreach for you.

 


[string](0..33|%{[char][int](46+("686552495351636652556262185355647068516270555358646562655775 0645570").substring(($_*2),2))})-replace " "

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

Just my 2c:  I tend to write as I think, so my "quick scripts" are usually much more verbose than need be.  But I type fast, so it doesn't matter.

Many of the scripts that I use could be analysed after the fact, and shortened, made more efficient, etc.  But the point is, the job is already done!

There is no harm in looking at something you did, and thinking "Gee, that's a long way around.  I see now that I could have done it better".  It will stand you in better stead next time.  But the job is done!


Grant Ward, a.k.a. Bigteddy

What's new in Powershell 3.0 (Technet Wiki)

Network Live Audit - Powershell script

------------------------------------
Reply:
As a one-liner command, this has some symmetry that follows the nesting pattern
 
$alpha|%{$__=$_;$num|%{echo $__$_}}
 
 

------------------------------------
Reply:
hmm that's very interesting...  would be cool if that was in there by
default... as you go deeper you just tack on a _ to reference the parent...
 
so we can get statements with $________  should be interesting :D
 

Justin Rich
http://jrich523.wordpress.com
PowerShell V3 Guide (Technet)
Please remember to mark the replies as answers if they help and unmark them if they provide no help.

------------------------------------
Reply:
Also, this shows the pattern with the fewest extra characters:
 
$alpha|%{$__=$_;$num|%{$__+$_}}
 .
On 2/4/2012 9:29 AM, Larry Weiss wrote:
> As a one-liner command, this has some symmetry that follows the nesting pattern
> $alpha|%{$__=$_;$num|%{echo $__$_}}
 
 

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

Al,

    I agree with using regex is better solution for this matter. There will still be one "foreach" loop. but is all.


Andy Xu | AXAP Technology Powershell Automation | MCSE MCDBA

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

Jrich,

      If this is one time deal, yes one liner will be good enough. If you need to this often, why not make a simple function. you call it from a one liner from anywhere.


Andy Xu | AXAP Technology Powershell Automation | MCSE MCDBA

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

Good one mjolinor,

      it is a simple enough script to do it on one line. Next time I tell my boss to copy paste the short script in his powershell window and go produce his report and stop bothering me.


Andy Xu | AXAP Technology Powershell Automation | MCSE MCDBA

------------------------------------
Reply:
# this is shorter ;)  $alpha|%{$num-replace'^',$_}  

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

Very nice!

$num|%{$alpha -replace '$',$_}

would be the inverse.


[string](0..33|%{[char][int](46+("686552495351636652556262185355647068516270555358646562655775 0645570").substring(($_*2),2))})-replace " "

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

I'd rather see this is code:

foreach($a in $alpha){foreach($n in $num){write-host $a$n}}

...than this:

$alpha|%{$num-replace'^',$_}

Because it is much easier to understand.  Anyway, your Regex method will only work with this particular situation.  If you needed to do anything more complex inside the 'innermost loop', you would need 2 loops, no matter how you write them.

 


Grant Ward, a.k.a. Bigteddy

What's new in Powershell 3.0 (Technet Wiki)

Network Live Audit - Powershell script

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

Obviously, regex hack (either with % or echo -i) is more sensitive to changes in output.

But you can work with arrays without loops even for more general case:

  $alpha | echo -i { $l = $_; $nums | echo -i { "Outer = $l - Inner = $_"}}  


My point: if I can avoid foreach, because there is cmdlet that works fine with pipe - I prefer to use it. :)

Pipeline bindings are pure gold in PowerShell, hate when cmdlets are designed without pipeline in mind. :(

 


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

Bartek, in this case, I disagree.  As I said, if we need to do anything useful, like multiply the numbers together, then the Foreach method wins hands-down, as far as performance is concerned.  Consider the following code samples, and the related outputs:

Your code ( 2 runs ):

PS C:\scripts> Measure-Command {
    (1..1000) | Write-Output -InputObject { $l = $_; (1..1000) | Write-Output -inputobject { $l * $_}}
    }


Days              : 0
Hours             : 0
Minutes           : 1
Seconds           : 0
Milliseconds      : 686
Ticks             : 606868517
TotalDays         : 0.000702394116898148
TotalHours        : 0.0168574588055556
TotalMinutes      : 1.01144752833333
TotalSeconds      : 60.6868517
TotalMilliseconds : 60686.8517

 


PS C:\scripts> Measure-Command {
    (1..1000) | Write-Output -InputObject { $l = $_; (1..1000) | Write-Output -inputobject { $l * $_}}
    }


Days              : 0
Hours             : 0
Minutes           : 1
Seconds           : 1
Milliseconds      : 254
Ticks             : 612544804
TotalDays         : 0.000708963893518518
TotalHours        : 0.0170151334444444
TotalMinutes      : 1.02090800666667
TotalSeconds      : 61.2544804
TotalMilliseconds : 61254.4804

 

My code ( 2 runs ) :

PS C:\scripts> Measure-Command {
    foreach($a in (1..1000)){foreach($b in (1..1000)){($a * $b)}}
    }


Days              : 0
Hours             : 0
Minutes           : 0
Seconds           : 2
Milliseconds      : 167
Ticks             : 21672158
TotalDays         : 2.50835162037037E-05
TotalHours        : 0.000602004388888889
TotalMinutes      : 0.0361202633333333
TotalSeconds      : 2.1672158
TotalMilliseconds : 2167.2158

 


PS C:\scripts> Measure-Command {
    foreach($a in (1..1000)){foreach($b in (1..1000)){($a * $b)}}
    }


Days              : 0
Hours             : 0
Minutes           : 0
Seconds           : 2
Milliseconds      : 141
Ticks             : 21417493
TotalDays         : 2.47887650462963E-05
TotalHours        : 0.000594930361111111
TotalMinutes      : 0.0356958216666667
TotalSeconds      : 2.1417493
TotalMilliseconds : 2141.7493


Grant Ward, a.k.a. Bigteddy

What's new in Powershell 3.0 (Technet Wiki)

Network Live Audit - Powershell script

------------------------------------
Reply:
$alpha|%{$num-replace'^',$_}  # is shorter, but it produces different results.
 
Given:
$alpha = "a","b","c"
$num = 1,2,3
 
# Original pattern Justin supplied that produces 9 strings
foreach($a in $alpha)
{
foreach($n in $num)
{
$($a+$n).gettype()
}}
 
IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
True     True     String                                   System.Object
True     True     String                                   System.Object
True     True     String                                   System.Object
True     True     String                                   System.Object
True     True     String                                   System.Object
True     True     String                                   System.Object
True     True     String                                   System.Object
True     True     String                                   System.Object
True     True     String                                   System.Object
 
# Al's nicely readable and equivalent one-liner produces 9 strings
foreach($a in $alpha){foreach($n in $num){$($a+$n).gettype()}}
 
IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
True     True     String                                   System.Object
True     True     String                                   System.Object
True     True     String                                   System.Object
True     True     String                                   System.Object
True     True     String                                   System.Object
True     True     String                                   System.Object
True     True     String                                   System.Object
True     True     String                                   System.Object
True     True     String                                   System.Object
 
# Justin's less readable but shorter equivalent one-liner produces 9 strings
$alpha|%{$a=$_;$num|%{$($a+$_).gettype()}}
 
IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
True     True     String                                   System.Object
True     True     String                                   System.Object
True     True     String                                   System.Object
True     True     String                                   System.Object
True     True     String                                   System.Object
True     True     String                                   System.Object
True     True     String                                   System.Object
True     True     String                                   System.Object
True     True     String                                   System.Object
 
# Leteo's even shorter but not equivalent one-liner produces three arrays
$alpha|%{$($num-replace'^',$_).gettype()}
 
IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
True     True     Object[]                                 System.Array
True     True     Object[]                                 System.Array
True     True     Object[]                                 System.Array
 
 

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

I'd be tempted do this:

function listenum {1..($args[0]) -replace '^',$input}

then when I wanted 25 WebServers

"WebServer" | listenum 25


[string](0..33|%{[char][int](46+("686552495351636652556262185355647068516270555358646562655775 0645570").substring(($_*2),2))})-replace " "

------------------------------------
Reply:
lol interesting conversation going here..
 
but maybe I should have given a better example :)
 
the foreach is really the best option because in the end im not doing a
write-host.. Im working with multiple DataStores that need to be removed
from multiple VMs
 
$datastore | %{$ds = $_; $vmhosts | %{remove-datastore $ds}}
 
not that I want the conversation to stop.. but if there is to be a function
made I think I'd stick with the longer foreach method so that it will work
with anything..
 
 

Justin Rich
http://jrich523.wordpress.com
PowerShell V3 Guide (Technet)
Please remember to mark the replies as answers if they help and unmark them if they provide no help.

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

Here's the best trick of all - Use foreach(x in y) instead of foreach-object. In the following two code snippets, the foreach beats the foreach-object by a factor of 15. That's 15x faster!

 

  Measure-Command {   1..100000 | ForEach-Object { $_ * 12 }   }  

...about 3 seconds.

 

 

  Measure-Command {   foreach ($x in (1..100000)) { $x * 12 }   }  

...about 0.2 seconds.

 

 


Grant Ward, a.k.a. Bigteddy

What's new in Powershell 3.0 (Technet Wiki)

Network Live Audit - Powershell script

------------------------------------
Reply:
In your example, how does remove-datastore get an item from $vmhosts ?
 .
On 2/6/2012 7:00 AM, jrich wrote:
> ... Im working with multiple DataStores that need to be removed
> from multiple VMs
> $datastore | %{$ds = $_; $vmhosts | %{remove-datastore $ds}}
>
 
 

------------------------------------
Reply:
$datastore | %{$ds = $_; $vmhosts | %{remove-datastore -datastore $ds -vm
$_}}
 missed that part :)
 

Justin Rich
http://jrich523.wordpress.com
PowerShell V3 Guide (Technet)
Please remember to mark the replies as answers if they help and unmark them if they provide no help.

------------------------------------
Reply:
I can't get your version to work.  Can you test it?   I'm using PowerShell V2.
 
C:> $alpha = "a","b","c"
C:> $num = 1,2,3
C:> $alpha | echo -i {$l = $_; $nums | echo -i {"Outer = $l - Inner = $_"}}
Outer = a - Inner =
Outer = b - Inner =
Outer = c - Inner =
 .
On 2/5/2012 2:39 AM, Bartek Bielawski wrote:
> But you can work with arrays without loops even for more general case:
> $alpha | echo -i {$l = $_; $nums | echo -i {"Outer = $l - Inner = $_"}}
>
 

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

It's not the shortest but it's close, and since I haven't seen this technique mentioned I thought I throw it out here just for completeness:

$num|%{-split($alpha+""-join("$_ "))}


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

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...